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, hệ thống s�� tự động tạo một loạt mục tiêu lượt chuyển đổi phù hợp với CustomerConversionGoal trong tài khoản. Bạn có thể tuỳ chỉnh cụ thể các sự kiện 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 các chiến dịch đó.

Để làm như vậ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ả các mục tiêu lượt chuyển đổi mà bạn đã nhận lại và tạo một thao tác cập nhật cho chiến dịch Tối đa hoá hiệu suất hiện tại để tuỳ chỉnh tiêu chí nhắm mục tiêu cho từng mục tiêu. Đoạn mã dưới đây đặt tất cả các biến này thành có thể đặt giá thầu, nhưng bạn cần tuỳ chỉnh phần logic đó cho phù hợp với điều mà bạn muốn nhận được từ chiến dịch của mình.

Trước khi chạy mã này, bạn cần tìm nạp mã chiến dịch của 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 quy trình tạo chiến dịch. CampaignConversionGoalOperation phải đặt partialFailure cho yêu cầu thành false. Nếu muốn chạy mã này trong cùng một giao dịch mà bạn thực hiện 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. Mã ví dụ này minh hoạ cách thực hiện thao tác này trong một giao dịch riêng biệt.

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

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

Bạn không cần phải sử dụng thêm tiêu chí để tạo chiến dịch Tối đa hoá hiệu suất. Tuy nhiên, chiến dịch này có thể hữu ích để giúp bạn hạn chế việc nhắm mục tiêu dựa trên trường hợp sử dụng của mình. Ví dụ về mã bên dưới cho thấy 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 về CampaignCriterion để biết đị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 chính chiến dịch trong cùng một lệnh gọi đến mutateAll. Ví dụ về mã này giả định đó là cách bạn đang cấu trúc mã.

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

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

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