【问题标题】:Facebook Graph API - getting daily spend per ad setFacebook Graph API - 获取每个广告集的每日支出
【发布时间】:2015-10-13 15:26:41
【问题描述】:

我正在尝试获取我们所有广告帐户的每个广告组的每日支出。我们在 Facebook 上花了很多钱,而 Finance 想看看它的发展方向。 基本上,我每天都在寻找昨天的每个广告组的支出。问题是,有很多广告集。

我试图分两部分来做这件事。首先从 Graph API 获取广告集 ID。然后使用 Marketing API 获取支出。

1。图形 API (v.2.4)

我正在获取我们拥有的所有广告组的列表。我不能一次调用,因为结果很多(超过九页)。

GET/v2.4/me/adaccounts?fields=name,adcampaign_groups{id,name,campaign_group_status,account_id,adcampaigns{id,name}}

2。营销 API

为了获得昨天的支出,我正在为每个广告组调用 Marketing API。这是我正在使用的 PHP 代码:

// Get spend for yesterday
$adSet = new \FacebookAds\Object\AdSet($adSetId);
$params = array(
    'date_preset' => InsightsPresets::YESTERDAY,
);
/** @var Cursor $insights */
$insights = $adSet->getInsights(array('spend'), $params);
$insights->rewind();
$spend = 0;
if ($insights->current() != false) {
    $spend = $insights->current()->getData()['spend'];
}

由于我有很多广告组,我在获得所需数据之前很久就达到了我的小跑极限。

有什么方法可以在一个电话中获取此信息?如果没有,我可以通过更少的调用从 Marketing API 中获取支出数据吗?

如果有帮助,我很高兴更新到 Graph API v2.5。 我正在使用作曲家库:

facebook/php-sdk-v4: ~5.0
facebook/php-ads-sdk: 2.4.*

谢谢。

【问题讨论】:

    标签: php facebook facebook-graph-api facebook-graph-api-v2.4 facebook-marketing-api


    【解决方案1】:

    无需在广告集级别执行此操作。通过调用 Ad Insights API,您可以在定义的对象级别为数据指定特定的聚合。鉴于您已从 /me/adaccounts 端点获取您的广告帐户,您应该能够执行以下操作:

    1。图 API 请求

    Graph API 浏览器中或通过 cURL(均提供)的以下请求应返回您整个帐户的支出:

    1a。图表网址

    https://graph.facebook.com/<VERSION>/act_<ACCOUNT_ID>/insights?fields=spend&level=account&date_preset=yesterday&access_token=<ACCESS_TOKEN>

    1b。卷曲

    curl -G \
    -d 'level=account' \
    -d 'fields=spend' \
    -d 'date_preset=yesterday' \
    -d 'access_token=<ACCESS_TOKEN>' \
    https://graph.facebook.com/<VERSION>/act_<ACCOUNT_ID>/insights
    

    2。营销 API SDK

    $account = new AdAccount('act_<Ad_ACCOUNT_ID>');
    
    $params = array(
      'level' => 'account',
      'date_preset' => InsightsPresets::YESTERDAY,
      'fields' => 'spend',
    );
    
    $account->getInsights(array(), $params);
    

    我相信以上内容应该对您有所帮助。我已经用 1a 和 1b 进行了测试,效果很好,但还没有完全用 2 进行测试。

    【讨论】:

    • 遗憾的是,帐户希望看到每个广告组的结果。在必须把我的头撞到墙上之后,我现在正在使用图形 API 来获取到目前为止的总支出,并计算每天的差异 - me/adaccounts?fields=name,campaigns{id,name,adsets{id,名称,见解{花费}}}
    • 即使指定了日期范围或预设,它也会返回到目前为止不在指定日期范围内的广告支出。这让我发疯了。有任何想法吗?我正在使用 python
    • @LucyTurtle,你找到解决方案了吗?我现在正在做这个:/
    • @AlejandroViquez 你到底在找什么?看看我对此的回答:stackoverflow.com/questions/47834523/…
    【解决方案2】:

    您要查找的参数是“time_increment”等于 1。 这是文档https://developers.facebook.com/docs/marketing-api/insights/v2.5

    【讨论】:

      猜你喜欢
      • 2016-10-17
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      • 2020-07-08
      • 2017-10-10
      • 1970-01-01
      • 2021-01-19
      • 1970-01-01
      相关资源
      最近更新 更多