close
Get Started
-
Marketing Automation using Facebook Marketing API
Info
-
基本上所有操作從 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);
Trouble Shooting
Get Results
-
因為 Results(conversions) 設定在 Ad Sets level,而且是 custom conversions,所以首先要取得 AdAccount 的 custom conversions;取得對應的 rule。接著到取得每一個 Ad Sets 的 pixel rule,與 custom conversions 的 rule 比對取得 id。最後重組成
offsite_conversion.custom.xxxxxxxx
全站熱搜
留言列表