Shopping-Kampagnen

Mit Google Ads-Scripts können Sie Ihre Shopping-Kampagnen bis zu einem gewissen Grad verwalten. Sie können damit vorhandene Shopping-Kampagnen bearbeiten, Hierarchien für Produktgruppen erstellen und verwalten sowie Shopping-Berichte erstellen. Es ist jedoch nicht möglich, Shopping-Kampagnen zu erstellen, Shopping-Attribute auf Kampagnenebene festzulegen (z. B. Kampagnenpriorität, Inventarfilter usw.) oder Merchant Center-Konten zu verknüpfen.

Shopping-Kampagnen und ‑Anzeigengruppen abrufen

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 auf ähnliche Weise die zugehörigen Anzeigengruppen abrufen. Das ist nur dann sinnvoll, wenn Sie sowohl auf die Kampagne als auch auf die 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 AdsApp.shoppingAdGroups() Methode verwenden, um Anzeigengruppen abzurufen, ohne zuerst die Kampagne abrufen zu müssen:

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() der ShoppingAdGroup abrufen. Neue Produktanzeigen lassen sich mit der Methode newAdBuilder() der ShoppingAdGroup erstellen.

Hierarchie der Produktgruppen durchlaufen

Sie können mit der rootProductGroup Methode der ShoppingAdGroup auf den Stamm der Hierarchie der Produktgruppen zugreifen. Anschließend können Sie mit der children Methode die untergeordneten Produktgruppen durchlaufen und die Hierarchie der Produktgruppen durchsuchen. Jeder Knoten ist ein ProductGroup-Objekt. Mit der Methode getDimension können Sie den tatsächlichen Typ der Produktgruppe ermitteln. Sie können sie auch in einen spezifischeren Typ umwandeln (z. B. ProductBrand), indem Sie die entsprechende Umwandlungsmethode verwenden (z. B. asBrand). Das folgende Code-Snippet zeigt, wie Sie die Hierarchie der Produktgruppen rekursiv durchlaufen.

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 productGroups Methode einer AdsApp, ShoppingCampaign oder ShoppingAdGroup Instanz können Sie bestimmte Produktgruppen in einer Hierarchie von Produktgruppen auswählen. Dieser Ansatz ist einfacher, als die gesamte Hierarchie der Produktgruppen zu durchlaufen, wenn Sie bestimmte Produktgruppen für die Gebotsverwaltung auswählen. Das folgende Code-Snippet zeigt, wie Sie alle Produktgruppen mit mehr als fünf Klicks und einer Klickrate von über 0.01 im letzten Monat auswählen und ihr 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);
  }
}

Hierarchie der Produktgruppen aktualisieren

Sie können einer vorhandenen Produktgruppe mit der newChild Methode eine untergeordnete Produktgruppe hinzufügen. Dadurch erhalten Sie ein ProductGroupBuilderSpace Objekt, mit dem Sie dann eine entsprechende Produktgruppe erstellen können. Das folgende Code-Snippet fügt unter dem Stamm eine Unterteilung für die Marke „cardcow“ hinzu und unterteilt sie dann weiter für neue und generalüberholte Produkte.

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

Auf ähnliche Weise können Sie eine Unterteilung mit der remove Methode von ProductGroup entfernen. Dadurch wird auch die gesamte Hierarchie der Produktgruppen unter der entfernten Produktgruppe gelöscht.

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

Produktgruppe „Alles andere“

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

Das folgende Code-Snippet ruft die Produktgruppe „Sonstiges“ unter der Hierarchie der Stammproduktgruppe ab und gibt das Gebot aus.

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 Blattproduktgruppe unterteilen, erstellen Scripts automatisch eine Produktgruppe „Sonstiges“, damit die Hierarchie der Produktgruppen gültig bleibt. Die Produktgruppe „Sonstiges“ erbt das Gebot der übergeordneten Produktgruppe.

Neue Shopping-Anzeigengruppe erstellen

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

Berichte

Google Ads-Scripts unterstützen product_group_view und shopping_performance_view-Berichte, mit denen Sie die Leistung Ihrer Shopping-Kampagnen verfolgen können. Weitere Informationen finden Sie in unserem Leitfaden zu Berichten.