4.4 Gestione delle campagne
Introduzione
È importante dare ai commercianti la possibilità di apportare modifiche alle loro campagne dopo la sua creazione. Gli aspetti fondamentali che dovrebbero essere in grado di modificare sono i seguenti:
- Budget
- Stato (in pausa, attivazione, rimozione)
- Targeting geografico (consigliato, ma facoltativo)
- Qualsiasi altro campo incluso nell'interfaccia di creazione della campagna
Indicazioni per l'esperienza utente
Mostra l'elenco delle campagne nella pagina Panoramica e in una pagina separata nell'ambito di report sul rendimento delle campagne. Consenti agli utenti di mettere in pausa, eliminare e modificare le campagne.
Le modifiche a una campagna devono consentire al commerciante di modificare gli stessi campi che fornito un input durante la creazione di una campagna. Un esempio di come potrebbero è mostrato di seguito:
Consulenza tecnica
Dopo aver creato una campagna Performance Max per la vendita al dettaglio, puoi modificare le le seguenti impostazioni della campagna:
- Nome campagna
- Budget della campagna
- Stato della campagna
- Criteri di targeting della campagna
Puoi trovare una panoramica dettagliata su come modificare le risorse nei
Guida per gli sviluppatori. Puoi modificare una risorsa specifica utilizzando il servizio esposto
per modificare la risorsa (ad esempio,
CampaignService.MutateCampaigns
) o si modifica in più
alle risorse utilizzando la funzionalità di modifica collettiva disponibile utilizzando
Endpoint GoogleAdsService.Mutate
.
Ove possibile, consigliamo di modificare in blocco per ridurre il numero di
operazioni necessarie per aggiornare una campagna. Tenendo conto di questo, dovresti progettare
la tua architettura sull'uso dell'endpoint GoogleAdsService.Mutate
dei singoli endpoint delle risorse. Ciò consente anche di estendere più facilmente
funzionalità in futuro.
Gli esempi successivi presuppongono che gli ID pertinenti siano già archiviati nel tuo per configurare un database.
Nome campagna
Per aggiornare il nome di una campagna, devi modificare il Campaign.name
.
Non deve contenere null (punto di codice 0x0
), feed a linee NL (punto di codice 0xA
)
o ritorni a capo (punto di codice 0xD
).
Budget della campagna
È considerata una best practice aggiornare un budget esistente anziché sostituirlo con un nuovo budget. In questo modo ti assicuri che la tua campagna spenda come previsto non si traducono in una pubblicazione eccessiva.
Devi solo aggiornare il valore del budget e non modificare gli altri campi. aumentando il valore della spesa GIORNALIERA.
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
Stato della campagna
Per aggiornare lo stato (attivato/in pausa/rimuovi) di una campagna è necessario modificare il
Campaign.status
e assegna lo stato pertinente dal
CampaignStatus
enum.
Per un esempio di modifica dello stato della campagna, consulta il codice di esempio per aggiorna campagna.
Criteri campagna
Quando aggiorni i criteri della campagna, devi solo fornire la possibilità di aggiorna i criteri esposti all'utente (almeno il targeting geografico) e potenzialmente il targeting per lingua. Puoi trovare un esempio di aggiornamento un criterio della campagna nel codice campione aggiorna il modificatore di offerta per criterio della campagna.
Per aggiornare i criteri di targeting geografico, aggiorna il
CampaignCriterion.location
al valore della nuova costante del target geografico.
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
Per aggiornare i criteri di targeting per lingua devi aggiornare il valore della variabile
CampaignCriterion.language
con la nuova costante linguistica.
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