def fetch_ad_data(ad_id): ad = Ad(ad_id) ad_datas = ad.get_insights( fields=[ AdsInsights.Field.ad_id, AdsInsights.Field.spend, AdsInsights.Field.impressions, AdsInsights.Field.reach, AdsInsights.Field.unique_actions, AdsInsights.Field.ad_name ], params={ 'breakdowns': ['hourly_stats_aggregated_by_audience_time_zone'], 'time_range': { 'since': yesterday, 'until': today } }) for ad_data in ad_datas: print(ad_data) result = {} result['spend'] = ad_data['spend'] if 'spend' in ad_data else '' result['impression_count'] = ad_data['impressions'] if\ 'impressions' in ad_data else '' result['reach_count'] = ad_data['reach'] if 'reach' in ad_data else '' result['link_click_count'] = ad_data['link_click'] if\ 'link_click_count' in ad_data else '' result['ad_id'] = ad_data['ad_id'] if 'ad_id' in ad_data else '' result['stat_dt'] = ad_data['date_start'] print(result['stat_dt']) result['stat_hour'] = \ str(int(ad_data['hourly_stats_aggregated_by_audience_time_zone'][0:2]) + 1) try: for actions in ad_data['unique_actions']: if actions['action_type'] == 'link_click': result['link_click_count'] = actions['value'] if actions[ 'action_type'] == 'offsite_conversion.fb_pixel_purchase': result['effective_count'] = actions['value'] except Exception as e: result['effective_count'] = '' result['link_click_count'] = '' result['create_time'] = datetime.datetime.now().strftime( "%Y-%m-%d %H:%M:%S") yield result
# Ad Initialization current_ad = Ad(ad["id"]) status = ad["status"] fields = [ 'spend', 'clicks', 'ad_id', 'adset_id', 'account_id', 'campaign_id', 'cost_per_unique_click', 'cpc', 'cpp', 'cpc', 'cpm', 'ctr', 'date_start', 'date_stop', 'reach', 'frequency', 'impressions', 'social_spend', 'unique_ctr', 'unique_clicks', 'ad_name' ] params = {'date_presets': 'lifetime'} # Get all insights above from current AD ad_insights = current_ad.get_insights(fields, params) if ad_insights: data = ad_insights[0] # IDS ad_id = data["ad_id"] adset_id = data["adset_id"] account_id = data["account_id"] campaign_id = data["campaign_id"] # TEXT ad_name = data["ad_name"] # DATE date_start = data["date_start"]