4.4 Zarządzanie kampanią
Wstęp
Ważne jest, aby umożliwić sprzedawcom wprowadzanie zmian w kampanii po jej utworzeniu. Oto najważniejsze aspekty, które należy zmienić:
- Budżet
- Stan (wstrzymywanie, włączanie, usuwanie)
- Kierowanie geograficzne (zalecane, ale opcjonalne)
- wszystkie pozostałe pola uwzględnione w interfejsie tworzenia kampanii;
Wskazówki dotyczące UX
Wyświetl listę kampanii na stronie Przegląd i na osobnej stronie w ramach raportowania skuteczności kampanii. Zezwalaj użytkownikom na wstrzymywanie, usuwanie i edytowanie kampanii.
Edytowanie kampanii powinno umożliwić sprzedawcy zmianę tych samych pól, które wprowadził w danych podczas tworzenia kampanii. Oto przykład:
Wskazówki techniczne
Po utworzeniu kampanii detalicznej Performance Max możesz zmienić te ustawienia kampanii:
- Nazwa kampanii
- Budżet kampanii
- Stan kampanii
- Kryteria kierowania kampanii
Szczegółowe informacje o wprowadzaniu mutacji w zasobach znajdziesz w przewodniku dla programistów. Możesz dokonać mutacji konkretnego zasobu za pomocą ujawnionego punktu końcowego usługi, aby dokonać mutacji tego zasobu (na przykład CampaignService.MutateCampaigns
), lub dokonać mutacji w wielu różnych zasobach za pomocą funkcji zbiorczego mutacji dostępnej przy użyciu punktu końcowego GoogleAdsService.Mutate
.
Jeśli to możliwe, zalecamy wprowadzanie mutacji zbiorczych, aby zmniejszyć liczbę działań wymaganych do zaktualizowania kampanii. Pamiętaj o tym podczas projektowania architektury z wykorzystaniem punktu końcowego GoogleAdsService.Mutate
, a nie poszczególnych punktów końcowych zasobów. Umożliwi to również łatwiejsze
rozszerzanie funkcjonalności w przyszłości.
W późniejszych przykładach zakładamy, że masz już odpowiednie identyfikatory zapisane w lokalnej bazie danych.
Nazwa kampanii
Aby zaktualizować nazwę kampanii, musisz zmodyfikować pole Campaign.name
.
Nie może zawierać żadnych znaków wartości null (punkt kodowy 0x0
), przejścia do nowej linii NL (punkt kodowy 0xA
) ani znaków powrotu karetki (punkt kodowy 0xD
).
Budżet kampanii
Uznajemy, że sprawdzoną metodą jest zaktualizowanie istniejącego budżetu zamiast zastępowania go nowym. Dzięki temu wydatki kampanii będą zgodne z oczekiwaniami i nie doprowadzą do nadmiernej liczby wyświetleń.
Należy tylko zaktualizować wartość budżetu i nie wprowadzać mutacji w pozostałych polach, aby zwiększać wartość DZIENNYCH wydatków.
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
Stan kampanii
Aby zaktualizować stan kampanii (włączyć, wstrzymać lub usunąć), musisz zmodyfikować pole Campaign.status
i przypisać odpowiedni stan z wyliczenia CampaignStatus
.
Przykład zmiany stanu kampanii znajdziesz w przykładowym kodzie aktualizacji kampanii.
Kryteria kampanii
Aktualizując kryteria kampanii, wystarczy mieć możliwość aktualizowania kryteriów widocznych dla użytkownika. Jest to minimalne wymagania dotyczące kierowania geograficznego, a potencjalnie kierowania na język. Przykład aktualizowania kryterium kampanii znajdziesz w przykładowym kodzie aktualizacji modyfikatora stawek kryterium kampanii.
Aby zaktualizować kryteria kierowania geograficznego, zmień CampaignCriterion.location
na wartość nowej stałej kierowania geograficznego.
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
Aby zaktualizować kryteria kierowania na język, musisz zaktualizować wartość wartości CampaignCriterion.language
nową stałą językową.
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