Skrip Google Ads menyediakan beberapa pengelolaan kampanye Performa Maksimal
kampanye. Anda dapat menggunakan
skrip untuk mengambil kampanye Performa Maksimal, mengelola grup aset, dan menjalankannya
laporan; Namun, Anda tidak dapat menggunakan skrip untuk membuat kampanye Performa Maksimal. Kepada
melakukan operasi lanjutan, lihat bagian selanjutnya dari panduan ini, yang
menunjukkan pendekatan yang lebih umum menggunakan mutate
.
Pengambilan kampanye Performa Maksimal
Kampanye Performa Maksimal tersedia melalui
performanceMaxCampaigns
kumpulan AdsApp
. Anda dapat mengambilnya seperti biasa:
const campaignName = "My Performance Max campaign";
const campaignIterator = AdsApp.performanceMaxCampaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
for (const campaign of campaignIterator) {
...
}
Tidak seperti jenis kampanye lainnya, kampanye Performa Maksimal tidak memiliki iklan grup atau objek iklan yang dapat Anda lihat; segala sesuatu yang terkait dengan konsep-konsep ini untuk kampanye lain ditangani secara otomatis untuk Anda berdasarkan grup aset atur.
Aset dan grup aset
Iklan dari kampanye Performa Maksimal berjalan dari aset seperti video, gambar, judul, dan deskripsi—baik yang Anda sediakan maupun dibuat secara otomatis. Untuk ringkasan lengkap tentang jenis aset diperlukan, lihat aset Performa Maksimal Google Ads API panduan kami.
Aset untuk kampanye Performa Maksimal digabungkan menjadi satu grup aset, dan setiap kampanye Performa Maksimal harus memiliki setidaknya satu grup aset. Anda tidak dapat membuat grup aset ini secara langsung dalam skrip, tetapi Anda dapat menambahkan dan menghapus aset dari grup aset yang ada.
Tambahkan aset ke grup aset
Pertama, buat aset:
const imageUrl = "http://www.example.com/example.png";
const imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
const assetOperation = AdsApp.adAssets().newImageAssetBuilder()
.withName("new asset name")
.withData(imageBlob)
.build();
const imageAsset = assetOperation.getResult();
Lalu, menggunakan aset yang baru saja Anda buat, tambahkan aset tersebut ke grup aset yang ada:
// First, fetch the Performance Max campaign we want to operate on.
const campaignIterator = AdsApp.performanceMaxCampaigns()
.withCondition(`campaign.name = '${campaignName}'`)
.get();
let campaign;
if (campaignIterator.hasNext()) {
campaign = campaignIterator.next();
} else {
throw `No campaign found with name ${campaignName}.`
}
// Then, get that campaign's asset groups.
const assetGroupIterator = campaign.assetGroups().get();
// The campaign must have at least one asset group, so we can just assume so here.
const assetGroup = assetGroupIterator.next();
// Add the asset from the previous step.
assetGroup.addAsset(imageAsset, 'MARKETING_IMAGE');
Perhatikan bahwa Anda harus menentukan jenis aset di langkah terakhir. Anda dapat menemukan daftar lengkap jenis aset di Google Ads API dokumentasi
Untuk menggunakan aset yang ada, buat pemilih aset terlebih dahulu:
const assetSelector = AdsApp.adAssets().assets();
Lalu, gunakan filter withCondition
untuk mempersempit ke aset yang ingin Anda
beroperasi. Lihat
AssetSelector
dokumentasi referensi untuk daftar lengkap opsi filter.
Terakhir, ambil iterator dan lakukan iterasi seperti dengan entity lainnya:
const assetIterator = assetSelector.get();
for (const asset of assetIterator) {
...
}
Aset teks
Cara kerja aset teks sedikit berbeda, yaitu Anda tidak perlu membuat aset terlebih dahulu. Anda hanya menentukan teks, bukan aset, dan sistem akan membuat aset secara otomatis. Jika teks merupakan duplikat yang tepat dari aset teks yang ada, aset yang ada akan digunakan kembali.
Misalnya, berikut cara membuat aset judul:
assetGroup.addAsset('asset text here', 'HEADLINE');
Hapus aset dari grup aset
Anda juga dapat menghapus aset dari grup aset; Namun, perlu diingat bahwa Anda harus memiliki jumlah minimum jenis aset agar kampanye menjadi valid.
Berikut cara menghapus aset yang ditambahkan pada contoh sebelumnya:
assetGroup.removeAsset(imageAsset, 'MARKETING_IMAGE');
Anda juga bisa mendapatkan daftar aset di grup aset tertentu dengan search
{i>function<i}:
// The resource name is a unique identifier for this asset group.
const assetGroupName = assetGroup.getResourceName();
results = AdsApp.search(
`SELECT asset.resource_name, asset_group_asset.field_type
FROM asset_group_asset
WHERE asset_group.resource_name = '${assetGroupName}'`
);
Tindakan ini akan memilih nama resource aset sebagai ID uniknya. Anda dapat
pilih juga kolom lain, seperti asset.type
atau asset.text_asset.text
untuk
untuk lebih mempersempit
hasilnya. Menggunakan pembuat kueri untuk laporan ini
type untuk dibuat
kueri Anda sendiri.
Setelah Anda memiliki aset target, panggil remove
di grup aset untuk menghapus
aset dari grup aset:
// Let's assume at least one asset is returned. We'll just remove the first
// asset, whatever it is. In your code, customize this to choose the right asset.
const row_info = results.next().asset;
assetGroup.remove(row_info.asset.resource_name, row_info.asset_group_asset.field_type);