Skrip Google Ads menyediakan pengelolaan kampanye Shopping Anda. Anda dapat menggunakan skrip untuk bekerja dengan kampanye Shopping yang ada, membuat dan mengelola hierarki grup produk, serta menjalankan laporan Shopping. Namun, Anda tidak dapat menggunakan skrip untuk membuat kampanye Shopping, menetapkan properti Shopping di tingkat kampanye (misalnya: prioritas kampanye, filter inventaris, dll.), atau menautkan akun Merchant Center.
Pengambilan kampanye Shopping dan grup iklan
Kampanye Shopping tersedia melalui koleksi shoppingCampaigns
dari objek AdsApp
. Anda dapat mengambilnya seperti biasa melalui skrip:
const campaignName = "My first shopping campaign";
const campaignIterator = AdsApp.shoppingCampaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
for (const campaign of campaignIterator) {
...
}
Setelah mengambil kampanye, Anda bisa mendapatkan grup iklannya dengan cara yang sama. Tindakan ini hanya disarankan jika Anda perlu menindaklanjuti kampanye dan grup iklannya.
const adGroupIterator = campaign.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const adGroup of adGroupIterator) {
...
}
Jika berencana untuk mengambil tindakan pada grup iklan tertentu saja, Anda dapat menggunakan
metode AdsApp.shoppingAdGroups()
untuk mengambil grup iklan tanpa mengambil
kampanye terlebih dahulu:
const adGroupIterator = AdsApp.shoppingAdGroups()
.withCondition(`campaign.name = "${campaignName}"`)
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const adGroup of adGroupIterator) {
...
}
Iklan produk
Skrip Google Ads memungkinkan Anda
mengambil
iklan produk menggunakan
metode
ads()
dari
ShoppingAdGroup
.
Anda dapat
membuat
iklan produk baru menggunakan
metode
newAdBuilder()
dari
ShoppingAdGroup
.
Melakukan iterasi melalui hierarki grup produk
Anda dapat mengakses root hierarki grup produk menggunakan metode
rootProductGroup
dari
ShoppingAdGroup
.
Anda kemudian dapat menggunakan metode children
untuk melakukan iterasi grup produk turunan dan menjelajahi hierarki grup produk. Setiap node adalah objek ProductGroup
, dan Anda dapat menggunakan metode getDimension
untuk mengetahui jenis grup produk yang sebenarnya. Anda juga dapat mentransmisikannya
ke jenis yang lebih spesifik (misalnya,
ProductBrand
)
dengan menggunakan metode transmisi yang sesuai (misalnya,
asBrand
).
Cuplikan kode berikut menunjukkan cara melintasi hierarki grup produk
secara berulang.
walkTree(shoppingAdGroup.rootProductGroup(), 1);
function walkTree(root, level) {
// Logger.log(root.getDimension());
let description = "";
switch (root.getDimension()) {
case "ROOT":
description = "Root";
break;
case "CATEGORY":
description = root.asCategory().getName();
break;
case "BRAND":
description = root.asBrand().getName();
break;
// Handle more types here.
...
}
if (root.isOtherCase()) {
description = "Other";
}
const padding = new Array(level + 1).join('-');
console.log("%s, %s, %s, %s, %s, %s",
padding,
description,
root.getDimension(),
root.getMaxCpc(),
root.isOtherCase(),
root.getId().toFixed());
const children = root.children().get();
for (const child of children) {
walkTree(child, level + 1);
}
}
Memilih grup produk tertentu
Anda dapat memilih grup produk tertentu dalam hierarki grup produk dengan
metode productGroups
dari
instance
AdsApp
,
ShoppingCampaign
,
atau
ShoppingAdGroup
. Pendekatan ini lebih sederhana daripada menjelajahi seluruh hierarki
grup produk saat memilih grup produk tertentu untuk tujuan pengelolaan
bid. Cuplikan kode berikut menunjukkan cara memilih semua grup produk
dengan lebih dari lima klik dan rasio klik-tayang yang lebih besar dari 0.01
selama
bulan terakhir, serta meningkatkan bid sebesar 0.01
.
function main() {
const productGroups = AdsApp.productGroups()
.withCondition("metrics.clicks > 5")
.withCondition("metrics.ctr > 0.01")
.forDateRange("LAST_MONTH")
.get();
for (const productGroup of productGroups) {
productGroup.setMaxCpc(productGroup.getMaxCpc() + 0.01);
}
}
Memperbarui hierarki grup produk
Anda dapat menambahkan grup produk turunan ke grup produk yang sudah ada menggunakan metode newChild
. Tindakan ini memberi Anda objek ProductGroupBuilderSpace
, yang kemudian dapat digunakan untuk membuat grup produk yang sesuai. Cuplikan
kode berikut menambahkan subdivisi untuk merek "cardcow" di bawah root,
lalu membaginya lagi untuk produk baru dan refurbished.
const root = shoppingAdGroup.rootProductGroup();
// Add a brand product group for a "cardcow" under root.
const brandProductGroup = root.newChild()
.brandBuilder()
.withName("cardcow")
.withBid(1.2)
.build()
.getResult();
// Add new conditions for New and Refurbished cardcow brand items.
const newItems = brandProductGroup.newChild()
.conditionBuilder()
.withCondition("New")
.withBid(1.5)
.build()
.getResult();
// Refurbished items will use the bid from "cardcow" product group.
const refurbishedItems = brandProductGroup.newChild()
.conditionBuilder()
.withCondition("Refurbished")
.build()
.getResult();
Demikian pula, Anda dapat menghapus subdivisi menggunakan metode
remove
dari
ProductGroup
.
Ini juga akan menghapus seluruh hierarki grup produk di bawah grup produk yang dihapus.
Skrip akan memastikan bahwa hierarki grup produk berada dalam status yang konsisten setelah membuat setiap grup produk, sehingga Anda tidak perlu membuat atau menghapus grup produk yang terkait dengan "Lainnya" saat memperbarui struktur hierarki grup produk.
Grup produk "Lainnya"
Hierarki grup produk Shopping berisi grup produk "Lainnya" ("Lainnya")
di setiap tingkat untuk menangani produk yang tidak cocok dengan
kondisi khusus yang Anda buat di hierarki grup produk. Anda dapat menggunakan metode
isOtherCase
untuk membedakan antara grup produk normal yang Anda tambahkan, dan
grup produk "Lainnya".
Cuplikan kode berikut mengambil grup produk "Lainnya" pada hierarki grup produk root, dan mencetak bid-nya.
const root = shoppingAdGroup.rootProductGroup();
const childProductGroups = root.children().get();
let everythingElseProductGroupFound = false;
for (const childProductGroup of childProductGroups) {
if (childProductGroup.isOtherCase()) {
console.log("'Everything else' product group found. Type of the " +
"product group is %s and bid is %s.",
childProductGroup.getDimension(),
childProductGroup.getMaxCpc());
everythingElseProductGroupFound = true;
break;
}
}
if (!everythingElseProductGroupFound) {
console.log("No 'Everything else' product group found under root " +
"product group.");
}
Saat Anda membagi grup produk daun, skrip secara otomatis membuat grup produk "Lainnya" untuk memastikan bahwa hierarki grup produk tetap valid. Grup produk "Other" mewarisi bid grup produk induk.
Buat grup iklan Shopping baru
Skrip Google Ads memungkinkan Anda membuat grup iklan Shopping baru menggunakan metode newAdGroupBuilder
dari ShoppingCampaign
.
Setelah membuat
ShoppingAdGroup
,
Anda dapat menggunakan metode
createRootProductGroup
untuk membuat hierarki grup produk baru.
Laporan
Skrip Google Ads mendukung laporan
product_group_view
dan
shopping_performance_view
untuk membantu melacak performa kampanye Shopping Anda. Anda dapat
mempelajari pelaporan lebih lanjut di
panduan laporan kami.