Facebook 广告 SDK 返回 'Incorrect Location Format'

Facebook ad sdk returning 'Incorrect Location Format'

我在 firebase 函数中使用 node.js facebook sdk facebook-nodejs-business-sdk 来使用 custom_locations 更新 Ad Sets 定位参数,并尝试了许多不同的方法来更新它, 但 none 有效。我使用了 API 中的对象 TargetingGeoLocationCustomLocation 并尝试直接将位置添加为对象。我还尝试将 latitude/longitude 作为字符串、浮点数、parseFloat 字符串发送,并且 none 似乎有任何效果。如果我在没有 custom_locations 的情况下尝试它,它会通过,所以我认为它与 API 的设置没有任何关系。这是我尝试的最后一个代码:

const adsSdk = require('facebook-nodejs-business-sdk');
const targeting = adset.targeting // Pulling a targeting object from the request
const customLoc = adsSdk.TargetingGeoLocationCustomLocation = {
                  radius: 1,
                  latitude: parseFloat(37.32798355),
                  longitude: parseFloat(-73.01982712),
                  distance_unit: 'mile'
                }
                const geoLocations = {
                  location_types: ['recent'],
                  custom_locations: [
                    customLoc
                  ]
                }
                targeting.geo_locations = geoLocations
                const accessToken = req.body.fbAuth;
                const api = adsSdk.FacebookAdsApi.init(accessToken);
                const AdSet = adsSdk.AdSet;
                
                new AdSet(doc.id, {
                  targeting: targeting
                })
                .update()
                .then( response => console.log('fb response', response) )
                .catch( error => console.log('error', error) )

我觉得我已经尝试了所有方法,非常感谢任何意见或建议

从你的代码来看,似乎没有什么问题,也许 post 你在 customLocations 上也有什么,以便查看你的目标区域是哪个区域,因为我知道你需要有一定的最少的人定位区域。

如果您的目标受众太少,例如对太小或人口稀少的区域有特定兴趣,则无法创建目标。

我建议您尝试使用其他兴趣来扩大受众,看看它是否仍然 returns 同样的错误。您可以在文档中找到某些观众类型至少需要 20 人或更多。