close

Info

  • 階層關係:Business ID > Ad Accounts > Campaigns > Ad Sets > Ads
  • 基本上所有操作從 Ad Account 開始,相當於 Google Ads 的 Profile
  • 只要有 id 透過 new 的方式就可以取得對象物件
// 取得 Ad Account
$adAccountId = '193443xxxxxx07';
$adAccount = new \FacebookAds\Object\AdAccount(sprintf('act_%s', $adAccountId ));
  • Insights 相當於 Google Ads 的 Report,可以取得指定時間區間的數據
  • 透過 fields 指定顯示的欄位,透過 params 設定過濾條件
// 取得 Ad Account Insights
$fields = [
    'account_name',
];
$params = [
    'time_range' => (object)[
        'since' => '2019-02-20',
        'until' => '2019-02-22',
    ],
];
$insightsCursor = $adAccount->getInsights($fields, $params);
$results = [];
foreach ($insightsCursor as $insight) {
    $results[] = $insight->getData();
}
dd($results);
  • fields 可以使用複合 Insights 的方式取得統計後的數據,不過如果要使用時間範圍條件時,需要特別寫在 fields 而不是 params這一點文件完全沒提,依照邏輯應該是寫在 params 所以我試了很多種寫法;後來網路也找了很久才發現解法,真~的很OX
$results = [];
$campaignFields = [
    'id',
    'name',
    'status',
    sprintf('insights.time_range(%s){%s}', json_encode([
        'since' => '2019-02-20',
        'until' => '2019-02-21',
    ]), implode(',', [
        'cpc',
        'spend',
    ])),
];
$campaignCursor = $adAccount->getCampaigns($campaignFields);
foreach ($campaignCursor as $campaign) {
    $results[] = $campaign->getData();
}
dd($results);

Get Results

arrow
arrow
    全站熱搜

    danielhuang030 發表在 痞客邦 留言(0) 人氣()