Как получить демографические данные для рекламных кампаний с помощью API маркетинга в Facebook? - PullRequest
0 голосов
/ 24 октября 2019

Я строю систему для автоматического получения даты из API Facebook. Я легко могу получить детали кампании, такие как цена за клик, цена за тысячу показов, охват и т. Д. Однако теперь я хотел бы получить доступ к демографической информации, такой как эта ниже:

Facebook campaign reach demographic

Я считаю, что это как-то связано с Insights API, однако я не могу найти какие-либо подробности в документах Insights: https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights/

ОБНОВЛЕНИЕ

В конце концов я увидел, что два, возможно, полезных параметра в этом списке - это возраст и пол. В своей облачной функции я уже собираю информацию о кампании, используя это:

await campaign.getInsights([
    'impressions',
    'cpc',
    'spend',
    'ctr',
    'conversions',
    'clicks',
    'cpm',
    'reach'
]);

К которому я затем добавил «возраст» и «пол» в списке полей. Однако затем я получил эту ошибку:

message: '(#100) age, gender are not valid for fields param. please check https://developers.facebook.com/docs/marketing-api/reference/ads-insights/ for all valid values'

Это довольно странно, потому что я проверял их пакет узлов, вы можете видеть, что поля, которые я должен передать методу getInsights, это поля, принадлежащиеКласс AdsInsights (https://github.com/facebook/facebook-nodejs-business-sdk/blob/3c0785aba14f44ba52434e66bb80ed410a6ca368/src/objects/campaign.js#L239)

. И когда я захожу в файл AdsInsights, я вижу «возраст» и «пол» как часть списка полей: https://github.com/facebook/facebook-nodejs-business-sdk/blob/3c0785aba14f44ba52434e66bb80ed410a6ca368/src/objects/ads-insights.js#L16

1 Ответ

0 голосов
/ 31 октября 2019

Вам необходимо добавить поле разбивок к параметру params этой функции, а не к параметру fields этой функции. Это взято из примера Facebook (https://github.com/facebook/facebook-nodejs-business-sdk/blob/3c0785aba14f44ba52434e66bb80ed410a6ca368/examples/ads_insights_edge_ad_campaign_insights.js)

let fields, params;
fields = [
  'impressions',
];
params = {
  'breakdown' : 'publisher_platform', \\ Replace this with age or gender
};
const insightss = (new AdSet(id)).getInsights(
  fields,
  params
);
logApiCallResult('insightss api call complete.', insightss);
...