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.

pmax_campaign

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:

edit_pmax

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