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
di Gemini Advanced.

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.

pmax_campaign

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:

edit_pmax

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