我在通过 Facebook 广告 API 创建广告组时遇到“无效地理位置”错误。我正在使用Python SDK。这是我在正文中发送的内容:
campaign_group_id=xxxxxxx&targeting={"geo_locations":{"custom_locations":[{"distance_unit":"kilometer","latitude":35.933333,"longitude":0.083333,"radius":50}]},"interests":[{"id":"6003252179711","name":"Engineering"}]}&name=My Adset&bid_info={"ACTIONS":50}&end_time=4/20/2015&bid_type=CPA&campaign_status=ACTIVE&daily_budget=100
这是我从 API 收到的消息:
{u'is_transient': False, u'error_subcode': 1487478, u'error_user_title': u'Invalid Geo Locations', u'error_data': {u'blame_field': u'targeting'}, u'error_user_msg': u'Invalid Geo Locations', u'code': 100, u'message': u'Invalid parameter', u'type': u'FacebookApiException'}
我不明白我的定位规范有什么问题。有什么想法吗?
谢谢!
正如 bjeavons 发布的错误所示,您的定位中需要有一定数量的最少人员。如果您的定位受众太小,例如对太小/人口稀少的区域有特定兴趣,则无法创建定位。
我执行了以下调用(请注意 API 版本以及广告集级别现在需要出价信息和定位)
curl -v \
-F 'campaign_group_id=<adcampaign_id>' \
-F 'targeting={"geo_locations":{"custom_locations":[{"distance_unit":"kilometer","latitude":35.933333,"longitude":0.083333,"radius":50}]},"interests":[{"id":"6003252179711","name":"Engineering"}]}' \
-F 'name=My Adset' \
-F 'bid_info={"ACTIONS":50}' \
-F 'end_time=4/20/2015' \
-F 'bid_type=CPA' \
-F 'campaign_status=PAUSED' \
-F 'daily_budget=100' \
-F 'access_token=<access_token>' \
https://graph.facebook.com/v2.2/<ac_id>/adcampaigns
对我来说这返回:
{"error":{"message":"Invalid parameter","type":"FacebookApiException","code":100,"error_data":{"blame_field":"targeting"},"error_subcode":1488030,"is_transient":false,"error_user_title":"Radius too small","error_user_msg":"There are too few users living within this radius. Please choose a larger radius."}}
这与 bjeavons 的错误相同。我建议利用其他兴趣来扩大你的受众。据记录,某些观众类型需要至少 20 人。
将所有地址的半径扩大到至少15mi。