Shopping-Kampagnen

Mit Google Ads-Scripts können Sie Ihre Shopping-Kampagnen teilweise verwalten. Sie können damit vorhandene Shopping-Kampagnen bearbeiten, Produktgruppenhierarchien erstellen und verwalten sowie Shopping-Berichte erstellen. Shopping-Kampagnen lassen sich mit Scripts jedoch nicht erstellen. Außerdem können Sie keine Shopping-Kampagneneigenschaften auf Kampagnenebene festlegen (z. B. Kampagnenpriorität, Inventarfilter usw.) und keine Merchant Center-Konten 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 sinnvoll, wenn Sie sowohl die Kampagne als auch die Anzeigengruppen bearbeiten 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 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 der abrufen.ads()ShoppingAdGroup Neue Produktanzeigen lassen sich mit der Methode newAdBuilder() der ShoppingAdGroup erstellen.

Produktgruppenhierarchie durchlaufen

Sie können mit der rootProductGroup Methode der ShoppingAdGroup auf den Stamm der Produktgruppenhierarchie zugreifen. Mit der Methode children können Sie dann die untergeordneten Produktgruppen durchlaufen 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 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 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

Mit der productGroups Methode einer AdsApp, ShoppingCampaign, oder ShoppingAdGroup Instanz 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. 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 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();

Ebenso können Sie eine Unterteilung mit der remove Methode 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 einen konsistenten Status hat. Sie müssen also die Produktgruppe für „Alles andere“ nicht erstellen oder löschen, wenn Sie die Struktur der Produktgruppenhierarchie aktualisieren.

Produktgruppe "Alles andere"

Shopping-Produktgruppenhierarchien enthalten auf jeder Ebene eine Produktgruppe „Alles andere“ („Sonstiges“), um Produkte zu verarbeiten, die nicht der benutzerdefinierten Bedingung entsprechen, die Sie in der Produktgruppenhierarchie 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 Stammproduktgruppenhierarchie ab und gibt ihr 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 Produktgruppenhierarchie 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 Produktgruppenhierarchie erstellen.

Berichte

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