Shopping-Kampagnen

Mit Google Ads-Scripts können Sie Ihre Shopping-Kampagnen verwalten. Mit Scripts können Sie mit vorhandenen Shopping-Kampagnen arbeiten, Produktgruppenhierarchien erstellen und verwalten sowie Shopping-Berichte erstellen. Mit Scripts können Sie jedoch keine Shopping-Kampagnen erstellen, Shopping-Properties auf Kampagnenebene festlegen (z. B. Kampagnenpriorität, Inventarfilter) oder Merchant Center-Konten verknüpfen.

Abrufen von Shopping-Kampagnen und -Anzeigengruppen

Shopping-Kampagnen sind über die shoppingCampaigns-Sammlung eines AdsApp-Objekts verfügbar. Sie können sie wie gewohnt über Scripts abrufen:

const campaignName = "My first shopping campaign";

const campaignIterator = AdsApp.shoppingCampaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get();

for (const campaign of campaignIterator) {
  ...
}

Nachdem Sie eine Kampagne abgerufen haben, können Sie ihre Anzeigengruppen auf ähnliche Weise abrufen. Das ist nur dann empfehlenswert, wenn Sie sowohl auf die Kampagne als auch auf ihre Anzeigengruppen reagieren müssen.

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

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

Wenn Sie nur bestimmte Anzeigengruppen bearbeiten möchten, können Sie die Methode AdsApp.shoppingAdGroups() verwenden, um Anzeigengruppen abzurufen, ohne zuerst die Kampagne abzurufen:

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

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

Produktanzeigen

Mit Google Ads-Scripts können Sie Ihre Produktanzeigen mit der Methode ads() des ShoppingAdGroup abrufen. Sie können neue Produktanzeigen mit der Methode newAdBuilder() von ShoppingAdGroup erstellen.

Durch die Produktgruppenhierarchie iterieren

Sie können über die Methode rootProductGroup des Elements ShoppingAdGroup auf die Wurzel der Produktgruppenhierarchie zugreifen. Mit der Methode children können Sie dann die untergeordneten Produktgruppen durchgehen und die Produktgruppenhierarchie durchlaufen. Jeder Knoten ist ein ProductGroup-Objekt. Mit der Methode getDimension können Sie den tatsächlichen Typ der Produktgruppe ermitteln. Sie können es auch mithilfe der entsprechenden Casting-Methode (z. B. asBrand) in einen spezifischeren Typ umwandeln (z. B. ProductBrand). Im folgenden Code-Snippet wird gezeigt, wie die Produktgruppenhierarchie rekursiv durchlaufen wird.

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

Bestimmte Produktgruppe auswählen

Mit der Methode productGroups einer Instanz vom Typ AdsApp, ShoppingCampaign oder ShoppingAdGroup können Sie bestimmte Produktgruppen in einer Produktgruppenhierarchie auswählen. Dieser Ansatz ist einfacher als das Durchlaufen der gesamten Produktgruppenhierarchie, wenn Sie bestimmte Produktgruppen für die Gebotsverwaltung auswählen. Im folgenden Code-Snippet wird gezeigt, wie Sie alle Produktgruppen mit mehr als fünf Klicks und einer Klickrate von über 0.01 im letzten Monat auswählen und deren Gebot um 0.01 erhöhen.

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

Produktgruppenhierarchie aktualisieren

Sie können einer vorhandenen Produktgruppe mit der Methode newChild eine untergeordnete Produktgruppe hinzufügen. Dadurch erhalten Sie ein ProductGroupBuilderSpace-Objekt, mit dem Sie dann eine geeignete Produktgruppe erstellen können. Im folgenden Code-Snippet wird unter der Wurzel eine Untergruppe für die Marke „cardcow“ hinzugefügt und dann weiter in neue und generalüberholte Produkte unterteilt.

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

Ebenso können Sie eine Untergliederung mit der Methode remove von ProductGroup entfernen. Dadurch wird auch die gesamte Produktgruppenhierarchie unter der entfernten Produktgruppe gelöscht.

Scripts sorgen dafür, dass die Produktgruppenhierarchie nach dem Erstellen jeder Produktgruppe in einem konsistenten Zustand ist. Sie müssen also die Produktgruppe, die „Sonstiges“ entspricht, nicht erstellen oder löschen, wenn Sie die Struktur der Produktgruppenhierarchie aktualisieren.

Produktgruppe "Alles andere"

Hierarchien von Shopping-Produktgruppen enthalten auf jeder Ebene die Produktgruppe „Sonstiges“, um Produkte zu verarbeiten, die nicht der benutzerdefinierten Bedingung entsprechen, die Sie in der Produktgruppenhierarchie erstellt haben. Mit der Methode isOtherCase können Sie zwischen einer normalen von Ihnen hinzugefügten Produktgruppe und der Produktgruppe „Sonstiges“ unterscheiden.

Im folgenden Code-Snippet wird die Produktgruppe „Sonstiges“ in der übergeordneten Produktgruppenhierarchie abgerufen und das Gebot ausgegeben.

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.");
}

Wenn Sie eine untergeordnete Produktgruppe unterteilen, wird in Scripts automatisch eine Produktgruppe vom Typ „Sonstiges“ erstellt, damit die Produktgruppenhierarchie gültig bleibt. Die Produktgruppe „Sonstiges“ übernimmt das Gebot der übergeordneten Produktgruppe.

Neue Shopping-Anzeigengruppe erstellen

Mit Google Ads-Scripts können Sie eine neue Shopping-Anzeigengruppe mit der Methode newAdGroupBuilder von ShoppingCampaign erstellen. Nachdem Sie ShoppingAdGroup erstellt haben, können Sie mit der Methode createRootProductGroup eine neue Produktgruppenhierarchie erstellen.

Berichte

Google Ads-Scripts unterstützen Berichte vom Typ product_group_view und shopping_performance_view, mit denen Sie die Leistung Ihrer Shopping-Kampagnen im Blick behalten können. Weitere Informationen zu Meldungen findest du in unserem Leitfaden zu Meldungen.