Shopping-Kampagnen

Google Ads-Skripts bieten einige Verwaltungsfunktionen für Shopping-Kampagnen. Sie können Skripts verwenden, um mit vorhandenen Shopping-Kampagnen zu arbeiten, Produktgruppenhierarchien zu erstellen und zu verwalten und Shopping-Berichte zu erstellen. Sie können jedoch keine Skripts verwenden, um Shopping-Kampagnen zu erstellen, Shopping-Properties auf Kampagnenebene festzulegen (z. B. Kampagnenpriorität oder Inventarfilter) 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 Skripts 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 die zugehörigen Anzeigengruppen auf ähnliche Weise abrufen. Diese Option ist nur zu empfehlen, wenn Sie sowohl an der Kampagne als auch an den zugehörigen Anzeigengruppen Änderungen vornehmen 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 Anzeigengruppen mit der Methode AdsApp.shoppingAdGroups() abrufen, ohne zuvor 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-Skripts können Sie Ihre Produktanzeigen mit der Methode ads() des ShoppingAdGroup abrufen. Neue Produktanzeigen erstellen Sie mit der Methode newAdBuilder() von ShoppingAdGroup.

Produktgruppenhierarchie durchlaufen

Mit der Methode rootProductGroup von ShoppingAdGroup können Sie auf das Stammverzeichnis der Produktgruppenhierarchie zugreifen. Anschließend können Sie mit der Methode children die untergeordneten Produktgruppen iterieren und die Produktgruppenhierarchie durchlaufen. Jeder Knoten ist ein ProductGroup-Objekt. Mit der Methode getDimension können Sie den tatsächlichen Typ der Produktgruppe ermitteln. Mit der entsprechenden Umwandlungsmethode (z. B. asBrand) können Sie sie auch in einen bestimmten Typ (z. B. ProductBrand) umwandeln. Das folgende Code-Snippet zeigt, wie Sie die Produktgruppenhierarchie 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

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

Produktgruppenhierarchie aktualisieren

Mit der Methode newChild können Sie einer vorhandenen Produktgruppe eine untergeordnete Produktgruppe hinzufügen. Dadurch erhalten Sie ein ProductGroupBuilderSpace-Objekt, mit dem Sie eine geeignete Produktgruppe erstellen können. Mit dem folgenden Code-Snippet wird eine Untergruppe für die Marke „cardcow“ unter dem Stamm hinzugefügt und dann weiter für neue und aufgearbeitete 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();

Entsprechend können Sie eine Unterteilung mit der Methode remove von ProductGroup entfernen. Dadurch wird auch die gesamte Produktgruppenhierarchie unter der zu entfernenden Produktgruppe gelöscht.

Skripts stellen nach dem Erstellen jeder Produktgruppe sicher, dass die Produktgruppenhierarchie in einem einheitlichen Zustand bleibt. Sie müssen also beim Aktualisieren der Produktgruppenhierarchie die Produktgruppe, die "Alles andere" entspricht, nicht erstellen oder löschen.

Produktgruppe "Alles andere"

Produktgruppenhierarchien von Shopping-Kampagnen enthalten auf jeder Ebene eine Produktgruppe vom Typ „Alles andere“ („Sonstige“), 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 „Sonstige“ unterscheiden.

Mit dem folgenden Code-Snippet wird die Produktgruppe "Andere" in der Stammproduktgruppenhierarchie abgerufen und ihr 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 Blattproduktgruppe unterteilen, wird von Skripts automatisch eine Produktgruppe des Typs "Sonstige" erstellt, um sicherzustellen, dass die Produktgruppenhierarchie gültig bleibt. Die Produktgruppe "Andere" übernimmt das Gebot der übergeordneten Produktgruppe.

Neue Shopping-Anzeigengruppe erstellen

Mit Google Ads-Skripts können Sie eine neue Shopping-Anzeigengruppe mit der Methode newAdGroupBuilder von ShoppingCampaign erstellen. Nachdem Sie die ShoppingAdGroup erstellt haben, können Sie ihre createRootProductGroup-Methode verwenden, um eine neue Produktgruppenhierarchie zu erstellen.

Berichte

Google Ads-Skripts unterstützen product_group_view- und shopping_performance_view-Berichte, mit denen Sie die Leistung Ihrer Shopping-Kampagnen im Blick behalten können. Weitere Informationen zu Berichten finden Sie im Leitfaden zu Berichten.