Kampanye Shopping

Skrip Google Ads menyediakan beberapa pengelolaan kampanye Shopping Anda. Anda dapat menggunakan skrip untuk menggunakan kampanye Shopping yang ada, membuat dan mengelola hierarki grup produk, serta menjalankan laporan Shopping. Namun, Anda tidak dapat menggunakan skrip untuk membuat kampanye Shopping, menetapkan properti Shopping di tingkat kampanye (misalnya, prioritas kampanye, filter inventaris, dll.), atau menautkan akun Merchant Center.

Pengambilan kampanye dan grup iklan Shopping

Kampanye Shopping tersedia melalui kumpulan shoppingCampaigns objek AdsApp. Anda dapat mengambilnya seperti biasa melalui skrip:

const campaignName = "My first shopping campaign";

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

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

Setelah mengambil kampanye, Anda bisa mendapatkan grup iklannya dengan cara yang serupa. Tindakan ini hanya direkomendasikan jika Anda perlu mengambil tindakan pada kampanye dan grup iklannya.

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

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

Jika hanya berencana untuk mengambil tindakan pada grup iklan tertentu, Anda dapat menggunakan metode AdsApp.shoppingAdGroups() untuk mengambil grup iklan tanpa mengambil kampanye terlebih dahulu:

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

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

Iklan produk

Skrip Google Ads memungkinkan Anda mengambil iklan produk menggunakan metode ads() dari ShoppingAdGroup. Anda dapat membuat iklan produk baru menggunakan metode newAdBuilder() ShoppingAdGroup.

Melakukan iterasi melalui hierarki grup produk

Anda dapat mengakses root hierarki grup produk menggunakan metode rootProductGroup dari ShoppingAdGroup. Selanjutnya, Anda dapat menggunakan metode children untuk melakukan iterasi grup produk turunan dan menjelajahi hierarki grup produk. Setiap node adalah objek ProductGroup, dan Anda dapat menggunakan metode getDimension untuk mengetahui jenis grup produk yang sebenarnya. Anda juga dapat mentransmisikannya ke jenis yang lebih spesifik (misalnya, ProductBrand) dengan menggunakan metode transmisi yang sesuai (misalnya, asBrand). Cuplikan kode berikut menunjukkan cara menelusuri hierarki grup produk secara rekursif.

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);
  }
}

Memilih grup produk tertentu

Anda dapat memilih grup produk tertentu dalam hierarki grup produk dengan metode productGroups dari instance AdsApp, ShoppingCampaign, atau ShoppingAdGroup. Pendekatan ini lebih sederhana daripada menjelajahi seluruh hierarki grup produk saat memilih grup produk tertentu untuk tujuan pengelolaan bid. Cuplikan kode berikut menunjukkan cara memilih semua grup produk dengan lebih dari lima klik dan rasio klik-tayang lebih besar dari 0.01 selama bulan terakhir, dan menaikkan bidnya sebesar 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);
  }
}

Memperbarui hierarki grup produk

Anda dapat menambahkan grup produk turunan ke grup produk yang ada menggunakan metode newChild -nya. Tindakan ini akan memberi Anda objek ProductGroupBuilderSpace, yang kemudian dapat Anda gunakan untuk membuat grup produk yang sesuai. Cuplikan kode berikut menambahkan subdivisi untuk merek "cardcow" di bagian root, lalu membaginya lebih lanjut untuk produk baru dan refurbished.

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();

Demikian pula, Anda dapat menghapus subdivisi menggunakan metode remove dari ProductGroup. Tindakan ini juga akan menghapus seluruh hierarki grup produk di bawah grup produk yang dihapus.

Skrip akan memastikan bahwa hierarki grup produk berada dalam status yang konsisten setelah membuat setiap grup produk, sehingga Anda tidak perlu membuat atau menghapus grup produk yang sesuai dengan "Lainnya" saat memperbarui struktur hierarki grup produk.

Grup produk "Lainnya"

Hierarki grup produk Shopping berisi grup produk "Lainnya" ("Lainnya") di setiap tingkat untuk menangani produk yang tidak cocok dengan kondisi kustom yang Anda buat dalam hierarki grup produk. Anda dapat menggunakan metode isOtherCase untuk membedakan antara grup produk normal yang Anda tambahkan, dan grup produk "Lainnya".

Cuplikan kode berikut mengambil grup produk "Lainnya" di hierarki grup produk root, dan mencetak bid-nya.

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.");
}

Saat Anda membagi lagi grup produk daun, skrip akan otomatis membuat grup produk "Lainnya" untuk memastikan hierarki grup produk tetap valid. Grup produk "Lainnya" mewarisi bid grup produk induk.

Membuat grup iklan Shopping baru

Dengan skrip Google Ads, Anda dapat membuat grup iklan Shopping baru menggunakan metode newAdGroupBuilder dari ShoppingCampaign. Setelah membuat ShoppingAdGroup, Anda dapat menggunakan metode createRootProductGroup untuk membuat hierarki grup produk baru.

Laporan

Skrip Google Ads mendukung laporan product_group_view dan shopping_performance_view untuk membantu Anda melacak performa kampanye Shopping. Anda dapat mempelajari pelaporan lebih lanjut di panduan laporan kami.