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