Chiến dịch Mua sắm

Tập lệnh Google Ads sẽ cung cấp một số hoạt động quản lý Chiến dịch mua sắm của bạn. Bạn có thể sử dụng tập lệnh để làm việc với các chiến dịch mua sắm hiện có, tạo và quản lý hệ phân cấp nhóm sản phẩm cũng như chạy các báo cáo mua sắm. Tuy nhiên, bạn không thể sử dụng tập lệnh để tạo chiến dịch mua sắm, đặt thuộc tính mua sắm ở cấp chiến dịch (ví dụ: mức độ ưu tiên của chiến dịch, bộ lọc khoảng không quảng cáo, v.v.) hoặc liên kết các tài khoản Merchant Center.

Truy xuất chiến dịch và nhóm quảng cáo mua sắm

Bạn có thể sử dụng chiến dịch Mua sắm thông qua tập hợp shoppingCampaigns của đối tượng AdsApp. Bạn có thể truy xuất các tập lệnh như bình thường thông qua các tập lệnh:

const campaignName = "My first shopping campaign";

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

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

Khi đã truy xuất một chiến dịch, bạn có thể nhận được các nhóm quảng cáo của chiến dịch đó theo cách tương tự. Bạn chỉ nên thực hiện thao tác này nếu cần thực hiện cả thao tác trên cả chiến dịch và các nhóm quảng cáo của chiến dịch.

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

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

Nếu chỉ định chỉ hành động trên những nhóm quảng cáo cụ thể, bạn có thể sử dụng phương thức AdsApp.shoppingAdGroups() để tìm nạp nhóm quảng cáo mà không cần tìm nạp chiến dịch trước:

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

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

Quảng cáo sản phẩm

Tập lệnh Google Ads cho phép bạn truy xuất quảng cáo sản phẩm bằng cách sử dụng phương thức ads() của ShoppingAdGroup. Bạn có thể tạo quảng cáo sản phẩm mới bằng cách sử dụng phương thức newAdBuilder() của ShoppingAdGroup.

Lặp lại thông qua hệ thống phân cấp nhóm sản phẩm

Bạn có thể truy cập vào thư mục gốc của hệ phân cấp nhóm sản phẩm bằng phương thức rootProductGroup của ShoppingAdGroup. Sau đó, bạn có thể sử dụng phương thức children để lặp lại các nhóm sản phẩm con và truyền tải hệ phân cấp của nhóm sản phẩm. Mỗi nút là một đối tượng ProductGroup và bạn có thể sử dụng phương thức getDimension để tìm hiểu loại thực tế của nhóm sản phẩm. Bạn cũng có thể truyền đối tượng này đến một loại cụ thể hơn (ví dụ: ProductBrand) bằng cách sử dụng phương thức truyền tương ứng (ví dụ: asBrand). Đoạn mã sau đây cho biết cách truyền tải đệ quy hệ phân cấp nhóm sản phẩm.

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

Chọn một nhóm sản phẩm cụ thể

Bạn có thể chọn các nhóm sản phẩm cụ thể trong hệ phân cấp nhóm sản phẩm bằng phương thức productGroups của bản sao AdsApp, ShoppingCampaign hoặc ShoppingAdGroup. Phương pháp này đơn giản hơn so với việc truyền tải toàn bộ hệ phân cấp nhóm sản phẩm khi chọn các nhóm sản phẩm cụ thể cho mục đích quản lý giá thầu. Đoạn mã sau đây cho biết cách chọn tất cả các nhóm sản phẩm có hơn 5 lượt nhấp và tỷ lệ nhấp lớn hơn 0.01 trong tháng trước, đồng thời tăng giá thầu của các nhóm sản phẩm này thêm 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);
  }
}

Cập nhật hệ thống phân cấp nhóm sản phẩm

Bạn có thể thêm nhóm sản phẩm con vào nhóm sản phẩm hiện có bằng phương thức newChild. Thao tác này cung cấp cho bạn một đối tượng ProductGroupBuilderSpace mà sau đó bạn có thể dùng để tạo một nhóm sản phẩm thích hợp. Đoạn mã sau đây thêm một phân mục cho thương hiệu "cardcow" trong gốc, sau đó chia nhỏ hơn nữa cho các sản phẩm mới và đã được tân trang.

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

Tương tự, bạn có thể xoá một phân mục bằng phương thức remove của ProductGroup. Thao tác này cũng sẽ xoá toàn bộ hệ thống phân cấp nhóm sản phẩm bên dưới nhóm sản phẩm đang bị xoá.

Tập lệnh sẽ đảm bảo rằng hệ thống phân cấp nhóm sản phẩm ở trạng thái nhất quán sau khi tạo từng nhóm sản phẩm, vì vậy, bạn không cần tạo hoặc xoá nhóm sản phẩm tương ứng với "Mọi thứ khác" khi cập nhật cấu trúc phân cấp nhóm sản phẩm.

Nhóm sản phẩm "Mọi thứ khác"

Hệ phân cấp nhóm sản phẩm Mua sắm chứa một nhóm sản phẩm "Mọi thứ khác" ("Khác") ở mỗi cấp để xử lý các sản phẩm không khớp với điều kiện tuỳ chỉnh mà bạn đã tạo trong hệ thống phân cấp nhóm sản phẩm. Bạn có thể sử dụng phương thức isOtherCase để phân biệt giữa nhóm sản phẩm thông thường mà bạn đã thêm và nhóm sản phẩm "Khác".

Đoạn mã sau đây truy xuất nhóm sản phẩm "Khác" trong hệ thống phân cấp nhóm sản phẩm gốc và in giá thầu của nhóm sản phẩm đó.

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

Khi bạn chia nhỏ một nhóm sản phẩm chi tiết, tập lệnh sẽ tự động tạo một nhóm sản phẩm "Khác" để đảm bảo rằng hệ thống phân cấp nhóm sản phẩm vẫn hợp lệ. Nhóm sản phẩm "Khác" kế thừa giá thầu của nhóm sản phẩm chính.

Tạo nhóm quảng cáo mua sắm mới

Tập lệnh Google Ads giúp bạn tạo nhóm quảng cáo mua sắm mới bằng phương thức newAdGroupBuilder của ShoppingCampaign. Sau khi tạo ShoppingAdGroup, bạn có thể sử dụng phương thức createRootProductGroup để tạo hệ phân cấp nhóm sản phẩm mới.

Báo cáo

Tập lệnh Google Ads hỗ trợ các báo cáo product_group_viewshopping_performance_view để giúp bạn theo dõi hiệu suất của các chiến dịch mua sắm. Bạn có thể tìm hiểu thêm về báo cáo trong hướng dẫn về báo cáo của chúng tôi.