Kampanye Performa Maks

Skrip Google Ads menyediakan beberapa pengelolaan kampanye Performa Maksimal. Anda dapat menggunakan skrip untuk mengambil kampanye Performa Maksimal, mengelola grup aset, dan menjalankan laporan. Namun, Anda tidak dapat menggunakan skrip untuk membuat kampanye Performa Maksimal.

Pengambilan kampanye Performa Maksimal

Kampanye Performa Maksimal tersedia melalui kumpulan objek AdsApp performanceMaxCampaigns. 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 grup iklan atau objek iklan yang dapat Anda lihat; semua yang terkait dengan konsep ini untuk kampanye lainnya ditangani secara otomatis untuk Anda berdasarkan grup aset yang Anda tetapkan.

Aset dan grup aset

Iklan dari kampanye Performa Maksimal menggunakan aset seperti video, gambar, judul, dan deskripsi, baik yang disediakan oleh Anda maupun dibuat secara otomatis. Untuk ringkasan lengkap tentang jenis aset yang diperlukan, lihat panduan aset Performa Maksimal Google Ads API.

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

Kemudian, dengan menggunakan aset yang baru saja Anda buat, tambahkan 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 dokumentasi Google Ads API

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 operasikan. Baca dokumentasi referensi AssetSelector untuk mengetahui daftar lengkap opsi filter.

Terakhir, ambil iterator tersebut dan lakukan iterasi seperti dengan entity lainnya:

const assetIterator = assetSelector.get();

for (const asset of assetIterator) {
   ...
}

Aset teks

Cara kerja aset teks sedikit berbeda, sehingga Anda tidak perlu membuat aset terlebih dahulu. Anda hanya perlu menentukan teks, bukan aset, dan sistem akan membuat aset tersebut secara otomatis. Jika teks tersebut merupakan duplikat yang tepat dari aset teks yang ada, aset yang ada akan digunakan kembali.

Misalnya, berikut adalah 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 tertentu agar kampanye valid.

Berikut cara menghapus aset yang ditambahkan dalam contoh sebelumnya:

assetGroup.removeAsset(imageAsset, 'MARKETING_IMAGE');

Anda juga bisa mendapatkan daftar aset dalam grup aset tertentu dengan fungsi search:

// 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 juga dapat memilih kolom lain, seperti asset.type atau asset.text_asset.text untuk menyaring hasilnya lebih lanjut. Gunakan pembuat kueri untuk jenis laporan ini untuk membuat 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);

Laporan

Kampanye Performa Maksimal dilaporkan di referensi campaign bersama dengan jenis kampanye lainnya. Sebagai permulaan, Anda dapat menggunakan contoh berikut:

SELECT
  campaign.id,
  campaign.url_expansion_opt_out,
  campaign.status,
  campaign.bidding_strategy_type,
  metrics.clicks,
  metrics.cost_micros,
  metrics.impressions,
  metrics.conversions,
  metrics.all_conversions
FROM campaign
WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX'
  AND metrics.clicks > 0

Jangan pilih kolom ad_group karena kampanye Performa Maksimal tidak memiliki grup iklan, sehingga tidak ada yang ditampilkan. Selain itu, asset_group tidak dapat disegmentasikan. Pelajari pelaporan lebih lanjut di panduan laporan kami.

Anda juga dapat membuat laporan langsung tentang grup aset. Untuk informasi selengkapnya tentang cara melakukannya, lihat panduan Google Ads API tentang topik tersebut. Anda dapat mengambil kueri apa pun yang Anda lihat di sana dan menjalankannya melalui metode AdsApp.search dalam skrip Google Ads untuk mendapatkan hasil yang sama.