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.
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:
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