Kampanie produktowe

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_viewshopping_performance_view, które pomagają śledzić skuteczność kampanii produktowych. Więcej informacji o raportach znajdziesz w naszym przewodniku po raportach.