Các thành phần không bắt buộc của chiến dịch Tối đa hoá hiệu suất

Mục tiêu chuyển đổi

Khi bạn tạo chiến dịch Tối đa hoá hiệu suất, một loạt lượt chuyển đổi mục tiêu sẽ tự động được được tạo phù hợp với CustomerConversionGoal trong tài khoản. Bạn có thể tuỳ chỉnh các chiến dịch này cho từng chiến dịch Tối đa hoá hiệu suất bằng cách cập nhật chúng.

Để thực hiện việc này, trước tiên bạn cần tìm nạp danh sách tất cả mục tiêu lượt chuyển đổi của khách hàng.

const searchResults = AdsApp.search(
  `SELECT
     customer_conversion_goal.category,
     customer_conversion_goal.origin
   FROM customer_conversion_goal`
);

Sau đó, bạn có thể lặp lại tất cả những mục tiêu lượt chuyển đổi mà bạn đã đạt được và tạo một hoạt động cập nhật cho chiến dịch Tối đa hoá hiệu suất hiện tại để tuỳ chỉnh việc nhắm mục tiêu cho từng mục tiêu. Mã bên dưới đặt tất cả các tuỳ chọn đó thành có thể đặt giá thầu, nhưng bạn sẽ muốn tuỳ chỉnh phần đó của logic cho phù hợp với mà bạn muốn khai thác từ chiến dịch của mình.

Trước khi chạy mã này, bạn sẽ cần tìm nạp ID chiến dịch cho Chiến dịch Tối đa hoá hiệu suất.

Bạn nên thiết lập mục tiêu lượt chuyển đổi trong một giao dịch riêng biệt với phần còn lại của quá trình tạo chiến dịch. CampaignConversionGoalOperation yêu cầu phải thiết lập partialFailure cho yêu cầu thành false. Nếu bạn muốn chạy mã này trong cùng một giao dịch mà bạn tạo chiến dịch lần đầu tiên, bạn phải đặt toàn bộ tập hợp thao tác thành tắt lỗi một phần. Chiến dịch này mã ví dụ minh hoạ cách thực hiện thao tác này trong một phần phân tách giao dịch.

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

Nhắm mục tiêu theo chiến dịch

Đối với tính năng nhắm mục tiêu cho chiến dịch trong chiến dịch Tối đa hoá hiệu suất, hãy nhớ tham khảo API để có đầy đủ hướng dẫn danh sách các loại tiêu chí được phép.

Bạn không bắt buộc phải có thêm tiêu chí để tạo chiến dịch Tối đa hoá hiệu suất, nhưng có thể hữu ích trong việc giúp hạn chế nhắm mục tiêu dựa trên trường hợp sử dụng của bạn. Đoạn mã ví dụ bên dưới cho biết cách thiết lập mục tiêu vị trí địa lý. Bạn có thể tham khảo Tài liệu CampaignCriterion cho định dạng cho các loại tiêu chí khác.

Bạn có thể tạo các tiêu chí này cùng với chiến dịch trong cùng một lệnh gọi đến mutateAll, và ví dụ về mã này giả định rằng đó là cách bạn cấu trúc mã của bạn.

operations.push({
  "campaignCriterionOperation": {
    "create": {
      "campaign": campaignOperation.campaignOperation.create.resourceName,
      "negative": false,
      "location": {
        // 1023191 represents New York City
        "geoTargetConstant": "geoTargetConstants/1023191"
      }
    }
  }
});

Tín hiệu về nhóm thành phần

Đọc về nhóm thành phần tín hiệu trên API trước khi bắt đầu. Bạn có thể thiết lập các quảng cáo này bằng cách liên kết một tài sản nhóm với một AudienceInfo hiện có hoặc SearchThemeInfo. Nếu bạn muốn hãy sử dụng đối tượng, hãy chỉ định trường audience thay vì Trường searchTheme có tên tài nguyên của đối tượng.

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