最高成效廣告活動的選用元件

轉換目標

建立最高成效廣告活動時,系統會自動建立一系列與帳戶中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 說明文件,瞭解素材資源群組信號。如要設定這些條件,請將素材資源群組連結至現有的 AudienceInfoSearchThemeInfo 條件。如要改用目標對象,請指定 audience 欄位,而非 searchTheme 欄位,並提供目標對象的資源名稱。

operations.push({
  "assetGroupSignalOperation": {
    "create": {
      "assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
      "searchTheme": {
        "text": "mars cruise"
      }
    }
  }
});