Kampagnenentwürfe und -tests

Google Ads-Skripts unterstützen Kampagnenentwürfe und ‑tests, mit denen Änderungen an Such- und Displaykampagnen vorbereitet und getestet werden können.

In diesem Leitfaden wird der grundlegende Workflow für die Arbeit mit Entwürfen und Tests in einem Skript erläutert.

Entwürfe

Ein Entwurf ist ein Klon einer bestehenden Kampagne, in der keine Anzeigen ausgeliefert werden. Er kann verwendet werden, um Änderungen vorzubereiten, ohne die ursprüngliche Kampagne zu ändern. Die vorbereiteten Änderungen können dann auf die Ausgangskampagne angewendet werden.

Entwurf erstellen

Ein Entwurf wird aus einer bestehenden Ausgangskampagne erstellt. Dazu wird ein DraftBuilder und ein eindeutiger Name angegeben. Die Ausgangskampagne muss eine Suchkampagne, eine Suchkampagne mit Displaynetzwerk-Aktivierung oder eine Displaykampagne sein (ausgenommen mobile App-Kampagnen für das Displaynetzwerk). Außerdem darf sie kein gemeinsames Budget haben.

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

const draftBuilder = campaign.newDraftBuilder()
    .withName("INSERT_DRAFT_NAME_HERE")
    .build();

const draft = draftBuilder.getResult();

DraftBuilder.build() gibt ein DraftOperation zurück, eine typische Operation in Skripts. Weitere Informationen finden Sie in unserem Leitfaden zu Builder-Klassen.

Ein draft wird eindeutig durch die Kombination aus der ID der Ausgangskampagne und der Entwurfs-ID identifiziert. Weitere Informationen finden Sie unter DraftSelector.withIds().

Entwurfskampagne bereitstellen

Ein draft-Objekt verknüpft eine Ausgangskampagne und eine Entwurfskampagne. Wenn Sie Änderungen an der Ausgangskampagne vorbereiten möchten, übertragen Sie die Änderungen über die Entwurfskampagne.

Wie jede andere Kampagne hat auch eine Entwurfskampagne Methoden zum Abrufen und Festlegen ihrer verschiedenen Attribute wie Kriterien, Anzeigengruppen, Gebote und Anzeigen.

const draftCampaign = draft.getDraftCampaign();

draftCampaign.setAdRotationType("CONVERSION_OPTIMIZE");
draftCampaign.createNegativeKeyword("shoes");

Die Anzeigenrichtlinien werden für eine Entwurfskampagne genauso überprüft wie für die Ausgangskampagne. Sie können keinen Test aus einer Entwurfskampagne ausführen, die Anzeigen enthält, die gegen die Richtlinien verstoßen.

Entwurf ausführen

Nachdem Sie die Entwurfskampagne bereitgestellt haben, haben Sie folgende Möglichkeiten:

  1. Wenn Sie die Änderungen nicht verwenden möchten, können Sie den Entwurf einfach entfernen. Das Entfernen des Entwurfs kann nicht rückgängig gemacht werden. Er kann aber weiterhin auf dem Tab „Entwürfe“ in der Google Ads-Benutzeroberfläche unter Alle Entwürfe angezeigt werden.

        draft.remove();
    
  2. Wenn Sie die Änderungen im Entwurf beibehalten möchten, können Sie sie anwenden:

        draft.startApplying();
    

    Mit dieser Methode wird der Prozess zum Anwenden der Änderungen auf die Ausgangskampagne gestartet. Der Entwurf hat in der Google Ads-Benutzeroberfläche den Status Wird angewendet.... Sie werden jedoch nicht benachrichtigt, wenn der Vorgang abgeschlossen ist.

  3. Wenn Sie die Änderungen zuerst testen möchten, können Sie mit dem Entwurf einen Test erstellen.

Tests

Bei einem Test wird eine anpassbare Kampagne parallel zur ursprünglichen Kampagne ausgeführt und Anzeigen werden für einen bestimmten Prozentsatz des Traffics ausgeliefert. Anhand der Testergebnisse können Sie die Änderungen auf die ursprüngliche Kampagne anwenden, den Test in eine unabhängige Kampagne umwandeln oder die Testkampagne beenden.

Test erstellen

Ein experiment ähnelt einem Entwurf und wird ebenfalls aus einer Ausgangskampagne erstellt. Sie erstellen einen experiment mit einem ExperimentBuilder. Dabei wird automatisch ein Test mit zwei „Armen“ erstellt, die die verschiedenen Teile des Tests darstellen. Ein Arm (der Kontrollarm) enthält die Ausgangskampagne und der andere (der Testarm) eine neue Entwurfskampagne, die Sie anpassen (gemäß den Schritten für den Entwurf, die weiter oben beschrieben wurden), bevor Sie den Test planen.

Wenn Sie einen Test erstellen, müssen Sie im Builder alle folgenden Einstellungen vornehmen:

withCampaign
Die Kampagne, auf der der Test basieren soll.
withTrafficSplitPercent
Wie viel Traffic an den Testarm weitergeleitet werden soll. Geben Sie für 50 % 50 an.
withStartDate und withEndDate
Gibt das Start- und Enddatum der Kampagne an. Geben Sie das Datum im YYYYMMdd Format an.
withType
Je nach verwendetem Netzwerk entweder SEARCH_CUSTOM oder DISPLAY_CUSTOM.
withSuffix
Gibt ein Suffix an, das beim Erstellen dem Namen der Testkampagne hinzugefügt wird.
withGoals
Gibt die Ziele für diesen Test an. Dies dient nur als Erinnerung an Ihre Ziele beim Erstellen des Tests. Ein guter Standardwert ist [{metric: 'CLICKS', direction: 'INCREASE'}].

Der Prozentsatz für die Aufteilung des Traffics bestimmt, für welchen Teil des Traffics Anzeigen aus der Testkampagne anstelle der Ausgangskampagne ausgeliefert werden. Aus diesem Grund kann für jede Ausgangskampagne nur ein Test gleichzeitig ausgeführt werden.

const experiment = AdsApp.newExperimentBuilder()
  .withCampaign(campaign)
  .withTrafficSplitPercent(50)
  .withStartDate("20230501")
  .withEndDate("20230601")
  .withType("SEARCH_CUSTOM")
  .withSuffix("experiment")
  .withGoals([{metric: 'CLICKS', direction: 'INCREASE'}])
  .build();

// The experimentCampaign represents the customizeable draft.
const experimentCampaign = experiment.getExperimentCampaign();

Im Gegensatz zu Entwürfen werden Tests eindeutig durch eine einzelne ID identifiziert. Weitere Informationen finden Sie unter ExperimentSelector.withIds().

Testkampagne bereitstellen

Ähnlich wie ein draft ist ein experiment selbst keine Kampagne. Vielmehr verknüpft es die Ausgangskampagne, den Entwurf und die Testkampagne. Die Felder einer Testkampagne können mit den folgenden Ausnahmen geändert werden:

  • name
  • status
  • Startdatum
  • Enddatum
  • Budget
const experimentCampaign = experiment.getExperimentCampaign();

// Will succeed.
experimentCampaign.setAdRotationType("ROTATE_FOREVER");
experimentCampaign.createNegativeKeyword("sneakers");

// Will fail.
experimentCampaign.setName("INSERT_EXPERIMENT_NAME_HERE");

Änderungen am Namen, Startdatum und Enddatum können am Test vorgenommen werden. Sie werden dann auf die Testkampagne übertragen.

// Will succeed.
experiment.setName("INSERT_EXPERIMENT_NAME_HERE");

// Will succeed if date is acceptable.
const date = "20220601";
experiment.setStartDate(date);

Rufen Sie experiment.startScheduling() auf, um den Test zu starten. Dies ist ein asynchroner Prozess, da alle Einstellungen aus der Ausgangskampagne kopiert werden müssen.

Nach Ende des Tests

Nach Abschluss des Tests haben Sie mehrere Möglichkeiten. Wir empfehlen, den Test vollständig abzuschließen. Dann werden keine Anzeigen mehr ausgeliefert, Sie können aber weiterhin damit interagieren. Ein abgeschlossener Test kann weiterhin entfernt, angewendet oder umgewandelt werden. Die Leistungsstatistiken der Kampagne sind weiterhin verfügbar.

experiment.finish();
const stats = experimentCampaign.getStatsFor("INSERT_TIME_PERIOD_HERE");
  • Wenn Sie mit dem Test anhand der Statistiken nicht zufrieden sind, können Sie ihn entfernen. Dadurch wird auch die Testkampagne entfernt. Das Entfernen des Tests kann nicht rückgängig gemacht werden. Er kann aber weiterhin auf dem Tab „Tests“ in der Google Ads-Benutzeroberfläche unter Alle Tests angezeigt werden.

        experiment.remove();
    
  • Wenn Sie mit den Testergebnissen zufrieden sind, haben Sie zwei Möglichkeiten:

    1. Sie können die Änderungen anwenden. Wie bei Entwürfen werden Sie nicht benachrichtigt, wenn der Vorgang abgeschlossen ist.

          experiment.startApplying();
      
    2. Sie können die Testkampagne in eine unabhängige, voll funktionsfähige Kampagne umwandeln, ohne die Ausgangskampagne zu beeinflussen. Dieser Prozess, die sogenannte Umwandlung, wird sofort abgeschlossen und erfordert die Festlegung eines neuen Budgets.

          const budget = AdsApp.budgets()
              .withCondition(`campaign_budget.id = ${budgetId}`)
              .get()
              .next();
      
          experiment.graduate(budget);
      

      Die neue Kampagne kann kein Budget mehr mit der Ausgangskampagne teilen. Daher ist ein neues Budget erforderlich. Umwandlungskampagnen sind wie normale Kampagnen. Alle Felder können geändert werden und sie können als Ausgangskampagne für weitere Entwürfe und Tests dienen.

Weitere Hinweise

Basisentitäten

Mit der Einführung von Entwürfen und Tests in Google Ads-Skripts wird auch das Konzept der Basisentitäten eingeführt. Entwurfs- und Testkampagnen sowie die darin enthaltenen Anzeigengruppen unterscheiden sich von ihren ursprünglichen Ausgangskampagnen. Daher haben Campaign und AdGroup jetzt Methoden für den Zugriff auf die Ausgangskampagne und ‑anzeigengruppe: getBaseCampaign() und getBaseAdGroup().

Diese Methoden geben die aufrufende Entität zurück, wenn sie von einer Ausgangskampagne oder ‑anzeigengruppe aufgerufen werden. Entitäten in Kampagnen und Anzeigengruppen wie Keywords und Anzeigen haben ebenfalls solche Methoden erhalten.

Um den Überblick über Basisentitäten zu behalten, wurden Kampagnen die isBaseCampaign(), isDraftCampaign() und isExperimentCampaign() Methoden hinzugefügt.

Mit den neuen Campaign.draftCampaigns() und Campaign.experimentCampaigns() Methoden können Sie auf alle Entwurfs- und Testkampagnen zugreifen, die die aufrufende Kampagne als Ausgangskampagne haben. Sie können Entwurfskampagnen jedoch nicht mit CampaignSelector.withCondition() auswählen. Verwenden Sie stattdessen AdsApp.drafts().

Fehlerbehandlung

Die folgenden Methoden für Entwürfe und Tests werden beim Ausführen des Skripts ausgeführt, können aber asynchron fehlschlagen:

  • Draft.startApplying()
  • Experiment.startApplying()
  • Experiment.startScheduling()

Sie sollten warten, um zu prüfen, ob diese Vorgänge erfolgreich sind. In der Google Ads-Benutzeroberfläche werden nach erfolgreichem Abschluss von startApplying() bzw. startScheduling() die Status Angewendet oder Aktiv angezeigt. Bei einem Fehler wird Kann nicht angewendet werden oder Kann nicht erstellt werden angezeigt. Sie können auf die Fehlermeldung klicken, um die Fehler zu sehen.

Es ist auch möglich, dass einige Methoden in der Vorschauphase fehlschlagen, aber nach der Ausführung erfolgreich sind, z. B. nach dem Erstellen eines Entwurfs:

const draftCampaign = draft.getDraftCampaign();
draftCampaign.createNegativeKeyword("shoes"); // Will fail in preview.

Dieser Aufruf schlägt im Vorschaumodus fehl, da nicht sofort auf die Entwurfskampagne zugegriffen werden kann.

Ebenso schlägt das Erstellen eines Tests und der sofortige Versuch, die zugehörige Entwurfskampagne abzurufen, im Vorschaumodus fehl, da der Entwurf nicht tatsächlich erstellt wird.

Prüfen Sie daher nach dem Ausführen der Skripts die Logs unter der Liste der Skripts. Fahren Sie nur mit einem Skript fort, das in der Vorschau fehlgeschlagen ist, wenn Sie der Meinung sind, dass die Ursache in den Einschränkungen des Vorschaumodus liegt.