Sasaran konversi
Saat Anda membuat kampanye Performa Maksimal, serangkaian
sasaran konversi
akan otomatis dibuat yang cocok dengan
CustomerConversionGoal
di akun. Anda dapat menyesuaikannya secara khusus untuk setiap kampanye Performa Maksimal dengan memperbaruinya.
Untuk melakukannya, Anda harus mengambil ID kampanye dari kampanye Performa Maksimal dan daftar semua sasaran konversi pelanggan terlebih dahulu. Berikut contoh perubahan sasaran satu kampanye, meskipun Anda juga dapat menyiapkan kode untuk melakukan loop di beberapa kampanye Performa Maksimal.
// 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`
);
Kemudian, Anda dapat melakukan iterasi pada semua sasaran konversi yang Anda dapatkan kembali dan membuat operasi pembaruan untuk kampanye Performa Maksimal saat ini guna menyesuaikan penargetan untuk setiap sasaran. Contoh kode yang ditampilkan di bagian ini menetapkan semua sasaran agar dapat mengajukan bid, tetapi Anda harus menyesuaikan bagian logika tersebut agar sesuai dengan hasil yang ingin Anda peroleh dari kampanye.
Sebaiknya siapkan sasaran konversi dalam transaksi terpisah dari
proses pembuatan kampanye lainnya.
CampaignConversionGoalOperation
mengharuskan partialFailure
untuk permintaan ditetapkan ke false
. Jika Anda ingin menjalankan kode ini dalam transaksi yang sama saat pertama kali membuat kampanye, Anda harus menyetel seluruh rangkaian operasi agar kegagalan parsial dinonaktifkan. Contoh kode ini menunjukkan cara melakukan operasi ini dalam transaksi terpisah.
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});
Penargetan kampanye
Untuk penargetan kampanye di Performa Maksimal, pastikan untuk melihat panduan API untuk mengetahui daftar lengkap jenis kriteria yang diizinkan.
Kriteria tambahan tidak diperlukan untuk membuat kampanye Performa Maksimal, tetapi dapat berguna untuk membantu membatasi penargetan berdasarkan kasus penggunaan Anda. Contoh kode
berikut menunjukkan cara menyiapkan target lokasi geografis. Anda dapat melihat dokumentasi
CampaignCriterion
untuk mengetahui format jenis kriteria lainnya.
Anda dapat membuat kriteria ini bersama dengan kampanye itu sendiri sebagai bagian dari
panggilan yang sama ke mutateAll
. Contoh kode ini mengasumsikan bahwa demikian cara Anda
menyusun kode.
operations.push({
"campaignCriterionOperation": {
"create": {
"campaign": campaignOperation.campaignOperation.create.resourceName,
"negative": false,
"location": {
// 1023191 represents New York City
"geoTargetConstant": "geoTargetConstants/1023191"
}
}
}
});
Sinyal grup aset
Baca sinyal grup aset dalam dokumentasi API sebelum memulai. Kriteria ini disiapkan dengan menautkan grup aset ke kriteria AudienceInfo
atau SearchThemeInfo
yang ada. Jika Anda ingin
menggunakan audiens, tentukan kolom audience
, bukan kolom
searchTheme
dengan nama resource audiens.
operations.push({
"assetGroupSignalOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
"searchTheme": {
"text": "mars cruise"
}
}
}
});