4.4 Zarządzanie kampanią
Wprowadzenie
Ważne jest, aby umożliwić sprzedawcom wprowadzanie zmian w kampaniach po jego utworzeniu. Najważniejsze aspekty, które powinna być w stanie zmienić. są następujące:
- Budżet
- Stan (wstrzymuję, włączam, usuwam)
- kierowanie geograficzne (zalecane, ale opcjonalne);
- Wszelkie inne pola uwzględnione w interfejsie tworzenia kampanii
Wskazówki dotyczące UX
Wyświetlać listę kampanii na stronie Przegląd i na osobnej stronie jako część raportowania skuteczności kampanii. Zezwalaj użytkownikom na wstrzymywanie, usuwanie i edytowanie kampanii.

Edytowanie kampanii powinno umożliwić sprzedawcy zmodyfikowanie tych samych pól, które podanych podczas tworzenia kampanii. Przykład tego, jak może to spowodować wygląd jest widoczny poniżej:

Wskazówki techniczne
Po utworzeniu kampanii detalicznej Performance Max możesz zmienić następujące ustawienia kampanii:
- Nazwa kampanii
- Budżet kampanii
- Stan kampanii
- Kryteria kierowania kampanii
Szczegółowe omówienie zmian zasobów znajdziesz w
Przewodnik dla programistów Możesz zmodyfikować określony zasób przy użyciu udostępnionej usługi
punktu końcowego do mutacji tego zasobu (np.
CampaignService.MutateCampaigns) lub wprowadzać mutacje w kilku różnych
za pomocą funkcji zbiorczej mutacji dostępnej za pomocą
Punkt końcowy GoogleAdsService.Mutate.
Tam, gdzie to możliwe, zalecamy zbiorcze mutowanie, aby zmniejszyć liczbę
operacji wymaganych do aktualizacji kampanii. Mając to na uwadze, projektuj
architektura wykorzystująca punkt końcowy GoogleAdsService.Mutate.
poszczególnych punktów końcowych zasobów. Ułatwia to też przedłużenie
funkcji w przyszłości.
W późniejszych przykładach zakładamy, że odpowiednie identyfikatory są już zapisane w lokalnym katalogu. w bazie danych.
Nazwa kampanii
Aby zaktualizować nazwę kampanii, musisz zmienić kolumnę Campaign.name.
.
Nie może zawierać żadnych wartości null (punkt kodowy 0x0), kanału linii NL (punkt kodowy 0xA)
lub znaków przejścia do nowej linii (punktu kodu 0xD).
Budżet kampanii
Za sprawdzoną metodę uważa się aktualizację istniejącego budżetu zamiast zastąpienia w ramach nowego budżetu. Dzięki temu kampania będzie wydawać zgodnie z oczekiwaniami nie prowadzi do przekroczenia limitu.
Należy aktualizować tylko wartość budżetu, a nie zmieniać wartości w pozostałych polach, zwiększenie wartości 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 (włączyć/wstrzymać/usunąć) kampanii, trzeba zmienić w
Campaign.status i przypisz odpowiedni stan
Wyliczenie CampaignStatus.
Przykład zmiany stanu kampanii znajdziesz w przykładowym kodzie dla funkcji Zaktualizuj kampanię.
Kryteria kampanii
Podczas aktualizowania kryteriów kampanii wystarczy umożliwić aktualizacji kryteriów, które są widoczne dla użytkownika, jest to co najmniej kierowanie geograficzne; i kierowania na język. Przykład aktualizacji: kryterium kampanii w przykładowym kodzie dla zaktualizuj modyfikator stawek kryterium kampanii.
Aby zaktualizować kryteria kierowania geograficznego, musisz zaktualizować parametr
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ść atrybutu
CampaignCriterion.language z nową stałą języka.
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