Kampanie produktowe

Skrypty Google Ads umożliwiają zarządzanie kampaniami produktowymi. Za pomocą skryptów możesz pracować z dotychczasowymi kampaniami produktowymi, tworzyć hierarchie grup produktów i nimi zarządzać oraz generować raporty dotyczące zakupów. Nie możesz jednak używać skryptów do tworzenia kampanii produktowych, konfigurowania właściwości produktowych na poziomie kampanii (np. priorytetu kampanii, filtrów zasobów reklamowych 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 grupować jej grupy reklam w podobny sposób. Jest to zalecane tylko wtedy, gdy musisz podejmować działania zarówno na poziomie kampanii, jak i jej grup reklam.

const adGroupIterator = campaign.adGroups()
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

Jeśli planujesz działanie tylko w przypadku określonych grup reklam, możesz użyć metody AdsApp.shoppingAdGroups(), aby pobrać grupy reklam bez wcześniejszego pobierania 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() ShoppingAdGroup. Nowe reklamy produktów możesz tworzyć za pomocą metody newAdBuilder() ShoppingAdGroup.

Przegląd hierarchii grup produktów

Aby uzyskać dostęp do poziomu głównego hierarchii grup produktów, użyj metody rootProductGroup ShoppingAdGroup. Za pomocą metody children możesz iterować podrzędne grupy produktów i sprawdzać hierarchię grup produktów. Każdy węzeł jest obiektem ProductGroup, a za pomocą metody getDimension możesz ustalać rzeczywisty typ grupy produktów. Możesz też rzutować go na bardziej szczegółowy typ (np. ProductBrand), używając odpowiedniej metody przesyłania (np. asBrand). Ten fragment kodu pokazuje, jak rekurencyjnie przemierzać hierarchię grup 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

Konkretne grupy produktów możesz wybrać w hierarchii grup produktów za pomocą metody productGroups w instancji AdsApp, ShoppingCampaign lub ShoppingAdGroup. To podejście jest prostsze niż przemierzanie całej hierarchii grup produktów podczas wybierania konkretnych grup produktów na potrzeby zarządzania stawkami. Fragment kodu poniżej pokazuje, jak wybrać wszystkie grupy produktów, które mają więcej niż pięć kliknięć i współczynnik klikalności większy niż 0.01, oraz jak 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 grupy produktów

Podrzędną grupę produktów możesz dodać do dotychczasowej grupy produktów, korzystając z metody newChild. Otrzymasz obiekt ProductGroupBuilderSpace, którego możesz użyć do utworzenia odpowiedniej grupy produktów. Poniższy fragment kodu dodaje podgrupę marki „cardcow” marki „cardcow”, a następnie dzieli ją 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();

Możesz też usunąć podział przy użyciu metody remove ProductGroup. Spowoduje to również usunięcie całej hierarchii grup produktów poniżej usuniętej grupy produktów.

Skrypty dbają o to, aby po utworzeniu każdej grupy produktów hierarchia grup produktów była taka sama. Nie musisz więc tworzyć ani usuwać grupy produktów odpowiadającej kategorii „Wszystkie pozostałe” podczas aktualizowania struktury hierarchii grup produktów.

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”) służącą do obsługi produktów, które nie spełniają warunków niestandardowych utworzonych w hierarchii grup produktów. Za pomocą metody isOtherCase możesz odróżniać dodaną przez siebie zwykłą grupę produktów od grupy produktów „Inne”.

Poniższy fragment kodu pobiera grupę produktów „Inne” z głównej hierarchii 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 związanych z liśćmi, skrypty automatycznie tworzą grupę produktów „Inne”, aby zapewnić, że hierarchia grup produktów pozostaje prawidłowa. Grupa produktów „Inne” dziedziczy stawkę z nadrzędnej grupy produktów.

Utwórz nową grupę reklam produktowych

Skrypty Google Ads umożliwiają utworzenie nowej grupy reklam produktowych za pomocą metody newAdGroupBuilder ShoppingCampaign. Po utworzeniu obiektu ShoppingAdGroup możesz użyć jego metody createRootProductGroup do utworzenia nowej hierarchii grup produktów.

Raporty

Skrypty Google Ads obsługują raporty product_group_view i shopping_performance_view, które ułatwiają śledzenie skuteczności kampanii produktowych. Więcej informacji o raportowaniu znajdziesz w naszym przewodniku po raportach.