如何将广告图片与广告见解链接? (Facebook Ads Python SDK)
问题描述:
我试图将广告洞察与广告图片网址相关联,以便我可以在信息中心中展示广告及其效果。因此,我需要将“广告洞察”数据集与“广告图片”数据集合并。我知道如何分别提取它们,但不知道哪个列可以用作键ID列来合并两个数据集。 (请注意,可通过比我下面所使用的那些API的多了很多领域。)如何将广告图片与广告见解链接? (Facebook Ads Python SDK)
深入了解:
insights = account.get_insights(fields=[
AdsInsights.Field.date_start,
AdsInsights.Field.ad_id,
AdsInsights.Field.ad_name,
AdsInsights.Field.impressions,
AdsInsights.Field.clicks,
AdsInsights.Field.inline_post_engagement,
AdsInsights.Field.video_10_sec_watched_actions,
# AdsInsights.Field.canvas_avg_view_time,
], params={
'level': AdsInsights.Level.ad,
'breakdowns': 'publisher_platform',
'time_range': {'since': str(datetime.date(2017,1,15)), 'until': str(datetime.date(2017,1,21))},
})
广告洞察输出例如:
<AdsInsights> {
"ad_id": "6074251934453",
"ad_name": "Post 185|Campaign|Video|:15 Video|Chloe Ombre Legging|Womens|11.11|Gap|Holiday|Marcom|GapFit|On-figure",
"clicks": "80",
"date_start": "2017-01-15",
"date_stop": "2017-01-21",
"impressions": "29898",
"inline_post_engagement": "65",
"publisher_platform": "instagram",
"video_10_sec_watched_actions": [
{
"action_type": "video_view",
"value": "2342"
}
]
}
获取图像:
images = account.get_ad_images(fields=[
AdImage.Field.account_id,
AdImage.Field.created_time,
AdImage.Field.creatives,
AdImage.Field.permalink_url,
], params = {
'time_range': {'since': str(datetime.date(2017,1,15)), 'until': str(datetime.date(2017,1,21))}
})
广告图像输出例如:
<AdImage> {
"account_id": "104181146376574",
"created_time": "2017-03-08T10:45:57-0800",
"creatives": [
"6079059384653",
"6079059384853",
"6079059387253"
],
"id": "104181146376574:d2d60f26e67d99e6869c9b8444a3b30c",
"permalink_url": "https://www.facebook.com/ads/image/?d=AQIY0GjCTF9UUMExzqq2QAI3hFKgmObAyivAwfb346WgnzAIiysmGLjU_msd1pJcVxcr4zawWXHsiRviQjrW50lqTXxq3to6CQIQFLptp9DZ9Kanqx0tmFqoIB1_37PLqjGo7cK1bt6G2YxaL29ihdge"
}
'ad_id'和'creatives'看起来相似,但在尝试合并之后没有任何匹配。
以前任何人有过处理这个问题的经验吗?任何输入/思想将非常感谢!
答
广告图像应该被认为更像是以后可以使用的内容库,不要试图将Insights重新关联到此,因为可能会有0个,1个或多个使用特定图像的广告,或者不使用的图像从该库中的广告
你的目的的数据模型也许应该是广告设置 - >广告 - >广告创意
广告内容中含有的什么所宣传的细节,这通常是一个发布在页面上,该帖子有'图片'字段
答
然后你就可以得到图像的URL我希望帮助!
您可以通过以下方式执行此操作:
- 获取的信息,比如你已经有
ad_id/insights
- 得到像
creative_id?fields=image_url
创意就像ad_id?fields=creative
答
谢谢你们上面的答案,你指出我正确的方向。这是我解决我自己的问题,这一直很大,到目前为止:
# get insights
insights = account.get_insights(fields=[
AdsInsights.Field.date_start,
AdsInsights.Field.ad_id,
AdsInsights.Field.ad_name,
AdsInsights.Field.impressions
], params={
'level': AdsInsights.Level.ad,
'time_range': {'since': str(datetime.date(2017, 3, 31)), 'until': str(datetime.date(2017, 3, 31))}
'time_increment': 1
})
# get a list of ad ids
insights_ids = [insight['ad_id'] for insight in insights]
url_list = []
count = 0
for ad_id in insights_ids:
ad = Ad(fbid=ad_id)
# get creative by ad_id
adcreatives = ad.get_ad_creatives(fields=[
AdCreative.Field.thumbnail_url,
AdCreative.Field.body
])
count += 1
print count
url_dict = {'ad_id': ad_id,
'thumbnail_url': adcreatives[0]['thumbnail_url']
}
url_list.append(url_dict)
time.sleep(2) # will likely hit rate limit when set to 1 sec
希望这有助于谁遇到同样的问题!
如果您基于特定图片进行跟踪,并且您可以在自己的应用中跟踪该图片 - >广告链接 – Igy
感谢您澄清广告图片和广告素材之间的差异;我对这两者的不同目的感到困惑。现在它变得更有意义。 –