Skrypty Google Ads umożliwiają zarządzanie kampaniami produktowymi. Za pomocą skryptów możesz pracować z istniejącymi kampaniami produktowymi, tworzyć hierarchie grup produktów i nimi zarządzać oraz generować raporty o kampaniach produktowych. Nie możesz jednak używać skryptów do tworzenia kampanii produktowych, ustawiania właściwości kampanii produktowych na poziomie kampanii (np. priorytetu kampanii, filtrów zasobów itp.) ani łączenia kont Merchant Center.
Pobieranie kampanii produktowych i grup reklam
Kampanie produktowe są dostępne w kolekcji shoppingCampaigns
obiektu AdsApp
. Możesz je pobrać w zwykły sposób za pomocą skryptów:
const campaignName = "My first shopping campaign";
const campaignIterator = AdsApp.shoppingCampaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
for (const campaign of campaignIterator) {
...
}
Po pobraniu kampanii możesz w podobny sposób uzyskać jej grupy reklam. Jest to korzystne tylko wtedy, gdy musisz podjąć działania zarówno w przypadku kampanii, jak i jej grup reklam.
const adGroupIterator = campaign.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const adGroup of adGroupIterator) {
...
}
Jeśli planujesz podejmować działania tylko w przypadku konkretnych grup reklam, możesz użyć metody
AdsApp.shoppingAdGroups()
, aby pobrać grupy reklam bez pobierania najpierw kampanii:
const adGroupIterator = AdsApp.shoppingAdGroups()
.withCondition(`campaign.name = "${campaignName}"`)
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const adGroup of adGroupIterator) {
...
}
Reklamy produktów
Skrypty Google Ads umożliwiają pobieranie reklam produktów za pomocą metody ads()
interfejsu ShoppingAdGroup
.
Możesz utworzyć nowe reklamy produktów, korzystając z metody newAdBuilder()
ShoppingAdGroup
.
Iterowanie po hierarchii grup produktów
Dostęp do katalogu głównego hierarchii grup produktów możesz uzyskać za pomocą metody rootProductGroup
interfejsu ShoppingAdGroup
.
Następnie możesz użyć metody
children
do iteracji podrzędnych grup produktów i przechodzenia przez hierarchię grup produktów. Każdy węzeł jest obiektem ProductGroup
, a za pomocą metody getDimension
możesz określić rzeczywisty typ grupy produktów. Możesz też przekształcić go w bardziej konkretny typ (np. ProductBrand
) za pomocą odpowiedniej metody przekształcania (np. asBrand
). Poniższy fragment kodu pokazuje, jak rekurencyjnie przechodzić przez hierarchię grupy produktów.
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);
}
}
Wybierz konkretną grupę produktów
Możesz wybrać konkretne grupy produktów w hierarchii grup produktów za pomocą metody productGroups
instancji AdsApp
, ShoppingCampaign
lub ShoppingAdGroup
. Takie podejście jest prostsze niż przeglądanie całej hierarchii grup produktów podczas wybierania konkretnych grup produktów na potrzeby zarządzania stawkami. Poniższy fragment kodu pokazuje, jak wybrać wszystkie grupy produktów, które w ciągu ostatniego miesiąca uzyskały ponad 5 kliknięć i współczynnik klikalności większy niż 0.01
, oraz zwiększyć ich stawkę o 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);
}
}
Aktualizowanie hierarchii grup produktów
Możesz dodać grupę produktów podrzędnych do istniejącej grupy produktów, korzystając z metody
newChild
. W ten sposób uzyskasz obiekt ProductGroupBuilderSpace
, którego możesz użyć do utworzenia odpowiedniej grupy produktów. Poniższy fragment kodu dodaje podział dla marki „cardcow” w katalogu głównym, a następnie dzieli go dalej na nowe i odnowione produkty.
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();
Podobnie możesz usunąć podział za pomocą metody
remove
ProductGroup
.
Spowoduje to również usunięcie całej hierarchii grup produktów znajdującej się pod usuwaną grupą produktów.
Skrypty zapewnią, że hierarchia grup produktów będzie w spójnym stanie po utworzeniu każdej grupy produktów, więc podczas aktualizowania struktury hierarchii grup produktów nie musisz tworzyć ani usuwać grupy produktów odpowiadającej grupie „Wszystkie pozostałe”.
Grupa produktów „Wszystkie pozostałe”
Hierarchie grup produktów w Zakupach Google zawierają na każdym poziomie grupę produktów „Wszystkie pozostałe” („Inne”), która obejmuje produkty niespełniające utworzonego przez Ciebie w hierarchii grupy produktów warunku niestandardowego. Możesz użyć metody
isOtherCase
do odróżnienia zwykłej grupy produktów, którą dodano, od grupy produktów „Inne”.
Poniższy fragment kodu pobiera grupę produktów „Inne” w hierarchii głównej grupy produktów i wyświetla jej stawkę.
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.");
}
Gdy dzielisz grupę produktów niższego poziomu, skrypty automatycznie tworzą grupę produktów „Inne”, aby zapewnić prawidłowość hierarchii grup produktów. Grupa produktów „Inne” dziedziczy stawkę nadrzędnej grupy produktów.
Tworzenie nowej grupy reklam produktowych
Skrypty Google Ads umożliwiają utworzenie nowej grupy reklam produktowych za pomocą metody newAdGroupBuilder
obiektu ShoppingCampaign
.
Po utworzeniu ShoppingAdGroup
możesz użyć metody createRootProductGroup
, aby utworzyć nową hierarchię grup produktów.
Raporty
Skrypty Google Ads obsługują raporty product_group_view
i shopping_performance_view
, które pomagają śledzić skuteczność kampanii produktowych. Więcej informacji o raportach znajdziesz w naszym przewodniku po raportach.