購物廣告活動

Google Ads 指令碼可讓您管理購物 廣告活動。別擔心!您可以使用 指令碼與現有購物廣告活動搭配使用,以及建立及管理產品 群組階層,以及執行購物報表不過,您無法使用指令碼 建立購物廣告活動、在廣告活動層級設定購物屬性 (例如 例如廣告活動優先順序、商品目錄篩選器等),或是連結 Merchant Center 帳戶。

擷取購物廣告活動和廣告群組

如需購物廣告活動,請前往 shoppingCampaigns敬上 當中 AdsApp 物件。個人中心 可以透過指令碼照常擷取這些變數:

const campaignName = "My first shopping campaign";

const campaignIterator = AdsApp.shoppingCampaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get();

for (const campaign of campaignIterator) {
  ...
}

擷取廣告活動後,您就能建立類似廣告活動的廣告群組 。只有在您需要同時處理廣告活動和廣告活動的資料時,才需要採取這種做法 廣告群組。

const adGroupIterator = campaign.adGroups()
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

如果只打算對特定廣告群組採取行動,可以使用 AdsApp.shoppingAdGroups() 方法擷取廣告群組而不用擷取 廣告活動:

const adGroupIterator = AdsApp.shoppingAdGroups()
    .withCondition(`campaign.name = "${campaignName}"`)
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

產品廣告

您可以透過 Google Ads 指令碼 擷取 你的產品廣告 這個 ads() 方法 ShoppingAdGroup。 你可以 建立 新的產品廣告 newAdBuilder()敬上 方法是 ShoppingAdGroup

逐一查看產品群組階層

如要查看產品群組階層的根層級,請使用 rootProductGroup敬上 方法 ShoppingAdGroup。 接著,您可以使用 children敬上 方法修改下層產品群組並掃遍產品群組 階層每個節點都是 ProductGroup敬上 物件,而可以使用 getDimension。 方法,藉此瞭解產品群組的實際類型。你也可以透過投放功能 更明確的類型 (例如 ProductBrand) 指定適當的投放方法 (例如 asBrand)。 下列程式碼片段說明如何以遞迴方式掃遍產品群組 階層

walkTree(shoppingAdGroup.rootProductGroup(), 1);

function walkTree(root, level) {
  // Logger.log(root.getDimension());
  let description = "";
  switch (root.getDimension()) {
    case "ROOT":
      description = "Root";
      break;

    case "CATEGORY":
      description = root.asCategory().getName();
      break;

    case "BRAND":
      description = root.asBrand().getName();
      break;

    // Handle more types here.
    ...
  }

  if (root.isOtherCase()) {
    description = "Other";
  }

  const padding = new Array(level + 1).join('-');
  console.log("%s, %s, %s, %s, %s, %s",
             padding,
             description,
             root.getDimension(),
             root.getMaxCpc(),
             root.isOtherCase(),
             root.getId().toFixed());
  const children = root.children().get();
  for (const child of children) {
    walkTree(child, level + 1);
  }
}

選取特定產品群組

您可以使用 productGroups 方法, AdsApp, ShoppingCampaign, 或 ShoppingAdGroup 執行個體。這個方法比掃遍整個產品群組更簡單 選取要用於出價管理的特定產品群組階層結構 用途。以下程式碼片段說明如何選取所有產品群組 獲得超過 5 次點擊,點閱率大於 0.01 將上個月的出價提高 0.01

function main() {
  const productGroups = AdsApp.productGroups()
      .withCondition("metrics.clicks > 5")
      .withCondition("metrics.ctr > 0.01")
      .forDateRange("LAST_MONTH")
      .get();
  for (const productGroup of productGroups) {
    productGroup.setMaxCpc(productGroup.getMaxCpc() + 0.01);
  }
}

更新產品群組階層

您可以使用 newChild敬上 方法。這樣您就能 ProductGroupBuilderSpace敬上 物件,這樣就能建立合適的產品群組。 以下程式碼片段會針對「cardcow」新增子產品群組基礎品牌 並進一步細分新產品和整新品。

const root = shoppingAdGroup.rootProductGroup();

// Add a brand product group for a "cardcow" under root.
const brandProductGroup = root.newChild()
    .brandBuilder()
    .withName("cardcow")
    .withBid(1.2)
    .build()
    .getResult();

// Add new conditions for New and Refurbished cardcow brand items.
const newItems = brandProductGroup.newChild()
    .conditionBuilder()
    .withCondition("New")
    .withBid(1.5)
    .build()
    .getResult();

// Refurbished items will use the bid from "cardcow" product group.
const refurbishedItems = brandProductGroup.newChild()
    .conditionBuilder()
    .withCondition("Refurbished")
    .build()
    .getResult();

同樣地,您可以使用 remove敬上 方法是 ProductGroup。 這麼做會一併刪除產品底下的整個產品群組階層 正在移除這個群組

指令碼可確保產品群組階層呈現一致的狀態 成功建立產品群組後,您不需要建立或刪除 對應至「其他」的產品群組更新產品時 群組階層結構

「其他」產品群組

購物產品群組階層包含「其他」(「其他」) 並處理各個層級的產品群組,藉此處理不一致的產品 您在產品群組階層中建立的自訂條件。您可以使用 isOtherCase敬上 方法區分您新增的一般產品群組,以及 「其他」

以下程式碼片段會擷取「其他」位於根層級的產品群組 ,然後列印其出價。

const root = shoppingAdGroup.rootProductGroup();

const childProductGroups = root.children().get();
let everythingElseProductGroupFound = false;

for (const childProductGroup of childProductGroups) {
  if (childProductGroup.isOtherCase()) {
    console.log("'Everything else' product group found. Type of the " +
               "product group is %s and bid is %s.",
               childProductGroup.getDimension(),
               childProductGroup.getMaxCpc());
    everythingElseProductGroupFound = true;
    break;
  }
}
if (!everythingElseProductGroupFound) {
  console.log("No 'Everything else' product group found under root " +
             "product group.");
}

細分分葉產品群組時,指令碼會自動建立 「其他」確保產品群組階層保持不變 有效。「其他」產品群組會沿用上層產品的出價 群組。

建立新的購物廣告群組

Google Ads 指令碼可讓您使用 newAdGroupBuilder敬上 方法是 ShoppingCampaign。 建立 ShoppingAdGroup、 可以使用 createRootProductGroup。 方法,建立新的產品群組階層。

報表

Google Ads 指令碼支援 product_group_viewshopping_performance_view。 報表,協助您追蹤購物廣告活動的成效。你可以 想進一步瞭解報表功能,請參閱 報表指南