Ads Manager 和 Ads API 中的覆盖率估算值之间是否存在任何关系?

Is there any relationship between the reach estimate in Ads Manager and in the Ads API?

我刚刚注意到广告 API 和广告管理器给出的数字大不相同。例如,在比利时安德莱赫特市搜索讲法语的人时,广告管理器显示 44,000 人,而广告 API 给我的数字是 12,000.

查看广告管理器 UI 和调用以下 curl 脚本的屏幕截图:

curl -G  -q \
  -d 'targeting_spec={"geo_locations":{"cities":    
      [{"key":"171194"}]},"locales":[1003]}' \
  -d 'access_token=XYZ' \
https://graph.facebook.com/v2.3/act_000000000000000/reachestimate

语言环境中的数字1003对应"French (All)",城市中的数字171194对应"Anderlecht"。

如何解释覆盖面估算值的这种差异?

这是上述脚本的 JSON 输出:

{"users": 12000, "bid_estimations": [{
  "unsupported": false, "location": 3, "cpa_min": 66,
     "cpa_median": 107, "cpa_max": 140, "cpc_min": 19, 
     "cpc_median": 33, "cpc_max": 43, "cpm_min": 10, 
     "cpm_median": 42, "cpm_max": 106 }],
  "estimate_ready": true, "data": {"users": 12000,
"bid_estimations": [{
   "unsupported": false,  "location": 3, "cpa_min": 66,
   "cpa_median": 107, "cpa_max": 140, "cpc_min": 19, 
   "cpc_median": 33, "cpc_max": 43, "cpm_min": 10, 
   "cpm_median": 42, "cpm_max": 106}],
"estimate_ready": true}}

好的,我确实查看了广告管理器发出的 AJAX 调用,看起来默认的 location_types 属性是 "home",而广告管理器使用 "home" 和 "recent"。这就是区别。

curl -G  -q \
  -d 'targeting_spec={"geo_locations":{"cities":    
      [{"key":"171194"}],"location_types":["recent", "home"]},"locales":[1003]}' \
  -d 'access_token=XYZ' \
https://graph.facebook.com/v2.3/act_000000000000000/reachestimate

根据 mikhailian 的回答,您可能还需要指定以下内容:

targeting_spec: {
    .....geolocation as above....
    publisher_platforms: ['facebook', 'instagram', 'audience_network'],
    facebook_positions: ['feed', 'instant_article', 'instream_video', 'right_hand_column', 'suggested_video'],
    instagram_positions: ['stream'],
    messenger_positions: [],
    device_platforms: ['mobile', 'desktop'],
    audience_network_positions: ['classic', 'instream_video']
}