轉換目標
建立最高成效廣告活動時,系統會自動建立一系列與帳戶CustomerConversionGoal相符的轉換目標。您可以更新這些設定,為每個最高成效廣告活動自訂專屬設定。
如要這麼做,您必須先擷取最高成效廣告活動的廣告活動 ID,以及所有顧客轉換目標的清單。以下是變更單一廣告活動目標的範例,不過您也可以設定程式碼,循環處理多個最高成效廣告活動。
// Query for a campaign by name. Update this logic to pull the campaigns you'd
// like to edit
const campaignName = "My PMax campaign";
let campaignId = "";
const search = AdsApp.search(`SELECT campaign.id FROM campaign WHERE campaign.name = "${campaignName}"`);
if (search.hasNext()) {
campaignId = search.next().campaign.id;
console.log(`Updating conversion goals for ${campaignName}: ${campaignId}`);
}
else
{
console.log(`No campaign named "${campaignName}" found`);
// Perform further error handling here
}
// Query for a list of customer conversion goals
const searchResults = AdsApp.search(
`SELECT
customer_conversion_goal.category,
customer_conversion_goal.origin
FROM customer_conversion_goal`
);
接著,您可以逐一查看所有傳回的轉換目標,並為目前的最高成效廣告活動建立更新作業,自訂每個目標的指定目標。本節稍後顯示的程式碼範例會將所有目標設為可出價,但您需要自訂該部分的邏輯,以符合您希望從廣告活動中獲得的成效。
建議您在建立廣告活動時,將設定轉換目標與其他步驟分開處理。CampaignConversionGoalOperation 要求將要求的 partialFailure 設為 false。如要在首次建立廣告活動的同一項交易中執行這段程式碼,您必須將整組作業設為停用部分失敗。這個範例程式碼示範如何在個別交易中執行這項作業。
operations = [];
while (searchResults.hasNext()) {
const row = searchResults.next();
const conversionGoal = row.customerConversionGoal;
operations.push({
"campaignConversionGoalOperation": {
"update": {
"resourceName": `customers/${customerId}/campaignConversionGoals/${campaignId}~${conversionGoal.category}~${conversionGoal.origin}`,
// Insert your logic here to determine whether you want this particular
// campaign conversion goal to be biddable or not.
// This code will just default everything to being biddable, but that
// is not necessarily best for your use case.
"biddable": true
},
"updateMask": "biddable"
}
});
}
AdsApp.mutateAll(operations, {partialFailure: false});
指定廣告活動
如要瞭解最高成效廣告活動的指定目標,請務必參閱 API 指南,查看允許的條件類型完整清單。
建立最高成效廣告活動時,不一定要提供其他條件,但可根據用途限制指定目標。下一個程式碼範例說明如何設定地理位置指定目標。如需其他條件類型的格式,請參閱 CampaignCriterion 說明文件。
您可以建立這些條件,並在同一次呼叫 mutateAll 時建立廣告活動。這個程式碼範例假設您是這樣建構程式碼。
operations.push({
"campaignCriterionOperation": {
"create": {
"campaign": campaignOperation.campaignOperation.create.resourceName,
"negative": false,
"location": {
// 1023191 represents New York City
"geoTargetConstant": "geoTargetConstants/1023191"
}
}
}
});
素材資源群組信號
開始前,請先閱讀 API 說明文件中的素材資源群組信號。設定方式是將素材資源群組連結至現有的 AudienceInfo 或 SearchThemeInfo 標準。如要改用目標對象,請指定 audience 欄位,而非 searchTheme 欄位,並提供目標對象的資源名稱。
operations.push({
"assetGroupSignalOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
"searchTheme": {
"text": "mars cruise"
}
}
}
});