Mục tiêu lượt chuyển đổi
Khi bạn tạo một chiến dịch Tối đa hoá hiệu suất, một loạt mục tiêu lượt chuyển đổi sẽ tự động được tạo để phù hợp với CustomerConversionGoal
trong tài khoản. Bạn có thể tuỳ chỉnh những mục tiêu 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.
Để làm như vậy, trước tiên, bạn cần tìm nạp mã chiến dịch của(các) chiến dịch Tối đa hoá hiệu suất và danh sách tất cả các mục tiêu lượt chuyển đổi của khách hàng. Sau đây là ví dụ về cách thay đổi mục tiêu của một chiến dịch, mặc dù bạn cũng có thể thiết lập mã để lặp qua nhiều chiến dịch Tối đa hoá hiệu suất.
// Query for a campaign by name. Update this logic to pull the campaigns you'd
// like to edit
const campaignName = "My PMax campaign";
let campaignId = "";
const search = AdsApp.search(`SELECT campaign.id FROM campaign WHERE campaign.name = "${campaignName}"`);
if (search.hasNext()) {
campaignId = search.next().campaign.id;
console.log(`Updating conversion goals for ${campaignName}: ${campaignId}`);
}
else
{
console.log(`No campaign named "${campaignName}" found`);
// Perform further error handling here
}
// Query for a list of customer conversion goals
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 được 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. Ví dụ về mã xuất hiện sau trong phần này sẽ đặt tất cả các mục tiêu thành có thể đặt giá thầu, nhưng bạn sẽ muốn tuỳ chỉnh phần logic đó cho phù hợp với những gì bạn muốn nhận được từ chiến dịch của mình.
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
yêu cầu bạn đặ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 tạo chiến dịch lần đầu, bạn phải đặt toàn bộ tập hợp các 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
Đối với tiêu chí nhắm mục tiêu của 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 bắt buộc phải có tiêu chí bổ sung để tạo chiến dịch Tối đa hoá hiệu suất, nhưng tiêu chí này có thể hữu ích trong việc hạn chế tiêu chí nhắm mục tiêu dựa trên trường hợp sử dụng của bạn. Ví dụ về mã tiếp theo 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
để biết định dạng của 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 rằng đó là cách bạn đang cấu trúc mã của mình.
operations.push({
"campaignCriterionOperation": {
"create": {
"campaign": campaignOperation.campaignOperation.create.resourceName,
"negative": false,
"location": {
// 1023191 represents New York City
"geoTargetConstant": "geoTargetConstants/1023191"
}
}
}
});
Tín hiệu nhóm thành phần
Hãy đọc về tín hiệu nhóm thành phần trong tài liệu API trước khi bắt đầu. Các tiêu chí này được thiết lập bằng cách liên kết một nhóm tài sản với 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"
}
}
}
});