轉換目標
建立最高成效廣告活動時,系統會自動建立一系列與帳戶中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"
}
}
}
});