4.4 Kampagnenverwaltung

Einführung


Es ist wichtig, Händlern die Möglichkeit zu geben, Änderungen an ihrer Kampagne vorzunehmen, nachdem sie erstellt wurde. Die wichtigsten Aspekte, die sie ändern können sollten, sind die folgenden:

  • Budget
  • Status (pausieren, aktivieren, entfernen)
  • Geografisches Targeting (empfohlen, aber optional)
  • Alle anderen Felder, die Sie auf der Benutzeroberfläche zur Kampagnenerstellung eingefügt haben

UX-Anleitung


Sie können die Kampagnenliste auf der Übersichtsseite und auf einer separaten Seite als Teil des Berichts zur Kampagnenleistung anzeigen lassen. Nutzer dürfen Kampagnen pausieren, löschen und bearbeiten.

pmax_campaign

Beim Bearbeiten einer Kampagne sollte der Händler dieselben Felder ändern können, die er beim Erstellen der Kampagne eingegeben hat. Hier ein Beispiel, wie dies aussehen könnte:

edit_pmax

Technische Anleitung


Nachdem Sie eine Performance Max-Kampagne für den Einzelhandel erstellt haben, können Sie die folgenden Kampagneneinstellungen ändern:

  • Kampagnenname
  • Kampagnenbudget
  • Campaign status
  • Ausrichtungskriterien für Kampagnen

Eine detaillierte Übersicht zum Ändern von Ressourcen finden Sie im Entwicklerhandbuch. Sie können eine bestimmte Ressource mit dem bereitgestellten Dienstendpunkt (z. B. CampaignService.MutateCampaigns) oder mithilfe der BulkMutate-Funktion mit dem Endpunkt GoogleAdsService.Mutate über mehrere verschiedene Ressourcen hinweg ändern.

Wenn möglich, sollten Sie Bulk-Änderungen vornehmen, um die Anzahl der für die Aktualisierung einer Kampagne erforderlichen Vorgänge zu reduzieren. Daher sollten Sie Ihre Architektur so gestalten, dass der Endpunkt GoogleAdsService.Mutate anstelle einzelner Ressourcenendpunkte verwendet wird. Dies ermöglicht auch eine einfachere Erweiterung der Funktionalität in Zukunft.

In den späteren Beispielen wird davon ausgegangen, dass die relevanten IDs bereits in Ihrer lokalen Datenbank gespeichert sind.

Kampagnenname

Wenn Sie den Namen einer Kampagne aktualisieren möchten, müssen Sie das Feld Campaign.name ändern.

Er darf keine Nullzeichen (Codepunkt 0x0), NL-Zeilenvorschub (Codepunkt 0xA) oder Zeilenumbruchzeichen (Codepunkt 0xD) enthalten.

Kampagnenbudget

Es gilt als Best Practice, ein vorhandenes Budget zu aktualisieren, anstatt es durch ein neues zu ersetzen. So sorgen Sie dafür, dass die Kampagnenausgaben wie erwartet und nicht zu einer Mehrauslieferung führen.

Sie sollten nur den Wert des Budgets aktualisieren und keine anderen Felder ändern, um den Wert der TÄGLICHEN Ausgaben zu erhöhen.

Python
budget_resource_name = client.get_service(
        "CampaignBudgetService"
    ).campaign_budget_path(customer_id, budget_id)

mutate_operation = client.get_type("MutateOperation")
campaign_budget = mutate_operation.campaign_budget_operation.update

campaign_budget.resource_name = budget_resource_name

# update the budget amount to the new value

campaign_budget.amount_micros = 50000000

client.copy_from(
    mutate_operation.campaign_budget_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_budget._pb),
)
return mutate_operation

Campaign status

Zum Aktualisieren des Status (Aktivieren/Pausieren/Entfernen) einer Kampagne müssen Sie das Feld Campaign.status ändern und den entsprechenden Status aus der Aufzählung CampaignStatus zuweisen.

Im Beispielcode für die Funktion Kampagne aktualisieren finden Sie ein Beispiel für das Ändern des Kampagnenstatus.

Kampagnenkriterien

Wenn Sie die Kampagnenkriterien aktualisieren, müssen Sie nur die Möglichkeit bieten, die für den Nutzer freigegebenen Kriterien zu aktualisieren. Dies sind mindestens die geografische Ausrichtung und eventuell die Ausrichtung auf Sprachen. Ein Beispiel für die Aktualisierung eines Kampagnenkriteriums finden Sie im Beispielcode unter Gebotsanpassung für Kampagnenkriterium aktualisieren.

Wenn Sie die Kriterien für das geografische Targeting aktualisieren möchten, aktualisieren Sie CampaignCriterion.location auf den Wert der neuen Konstante für die geografische Ausrichtung.

Python
criterion_rname = client.get_service(
    "CampaignCriterionService"
    ).campaign_criterion_path(
    customer_id, campaign_id, criterion_id
)

mutate_operation = client.get_type("MutateOperation")
campaign_criterion = mutate_operation.campaign_criterion_operation.update

campaign_criterion.resource_name = criterion_rname

# Set the geo to the update geo targeting

campaign_criterion.location.geo_target_constant = (
   geo_target_constant_service.geo_target_constant_path("1022762")
) # Brooklyn

client.copy_from(
    mutate_operation.campaign_criterion_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_criterion._pb),
)
return mutate_operation

Wenn Sie die Kriterien für die Ausrichtung auf Sprachen aktualisieren möchten, müssen Sie den Wert des Werts CampaignCriterion.language mit der neuen Sprachkonstante aktualisieren.

Python
campaign_criterion_service = client.get_service("CampaignCriterionService")

criterion_rname = campaign_criterion_service.campaign_criterion_path(
   customer_id, campaign_id, criterion_id
)

mutate_operation = client.get_type("MutateOperation")
campaign_criterion = mutate_operation.campaign_criterion_operation.update

campaign_criterion.resource_name = criterion_rname

# Set the language to the updated language
# For a list of all language codes, see:
# https://developers.google.com/google-ads/api/data/codes-formats#languages
campaign_criterion.language.language_constant = (
    googleads_service.language_constant_path("1000")
)  # English

client.copy_from(
    mutate_operation.campaign_criterion_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_criterion._pb),
)
return mutate_operation