Come descritto nella guida alla struttura dell'API, ogni risorsa di primo livello nell'API Google Ads ha un servizio specifico per il tipo di risorsa corrispondente che supporta la modifica delle istanze della risorsa. Puoi anche utilizzare
GoogleAdsService.Mutate per modificare
più tipi di risorse in modo atomico in un'unica richiesta.
Questa guida utilizza CampaignService per
mostrare la modifica degli oggetti Campaign, ma gli stessi
concetti si applicano a tutti gli altri servizi specifici per tipo di risorsa.
Richieste di modifica
Ogni servizio specifico per tipo di risorsa ha un metodo mutate che accetta una richiesta di modifica. Questa richiesta è composta da:
- Un
customer_id(ocustomerIdnegli URL REST) - Una raccolta di
operations - Impostazioni di esecuzione facoltative come
partial_failure,validate_onlyeresponse_content_type(che determina se viene restituita la risorsa modificabile o solo il nome della risorsa dopo la mutazione)
Ad esempio, il metodo MutateCampaigns di CampaignService accetta un
MutateCampaignsRequest composto
da:
customer_id- Una raccolta di
CampaignOperationoggetti (operations) - Impostazioni di esecuzione facoltative (
partial_failure,validate_onlyeresponse_content_typeche indicano il tipo di risposta preferito)
Operazioni
Un oggetto operazione come CampaignOperation ti consente di specificare l'azione
che vuoi eseguire su una singola risorsa impostando il relativo campo operation.
Questo campo è un campo oneof composto dai seguenti attributi:
create- Crea una nuova istanza della risorsa.
update- Aggiorna la risorsa in modo che corrisponda agli attributi della risorsa
update. Quando questo campo è impostato, devi impostare anche ilupdate_maskdell'operazione, che indica all'API Google Ads quali attributi modificare durante l'operazione di aggiornamento. Ogni libreria client include un'utilità di maschera di campo o un metodo helper che generaupdate_maskper te. remove- Rimuove la risorsa specificata dalla stringa del nome della risorsa (ad esempio,
customers/1234567890/campaigns/987654321).
Poiché il campo operation è un campo oneof, non puoi utilizzare una singola operazione per modificare più oggetti. Ad esempio, se vuoi creare una campagna e rimuoverne un'altra, aggiungi due istanze di CampaignOperation alla tua richiesta: una con create impostato e un'altra con remove impostato.
Operazioni batch
Sebbene una singola operazione possa solo creare, aggiornare o rimuovere una singola risorsa, una singola richiesta di modifica può contenere più operazioni. Devi combinare le operazioni in un'unica richiesta di modifica anziché inviare più richieste di modifica contenenti ciascuna una singola operazione.
Ad esempio, se vuoi creare dieci campagne, devi inviare un singolo
MutateCampaignsRequest che contenga dieci oggetti CampaignOperation. Per raggruppare
le operazioni su diversi tipi di risorse in un'unica richiesta, utilizza
GoogleAdsService.Mutate o
risorse mutanti.
Modifica delle risposte
Ciò che viene restituito nella risposta dipende da ciò che è stato inviato nel campo
response_content_type della richiesta di modifica.
Ad esempio, se viene specificato MUTABLE_RESOURCE, la
risposta contiene sia resource_name della risorsa sia i campi modificabili della campagna in campaign. Per
impostazione predefinita (RESOURCE_NAME_ONLY), solo resource_name viene compilato in ogni
MutateCampaignResult.
Errori di modifica
Per impostazione predefinita (partial_failure = false), le operazioni in una richiesta di modifica vengono
applicate al tuo account Google Ads solo se ogni operazione nella richiesta
va a buon fine; se un'operazione non riesce, l'intera richiesta viene annullata. Per le richieste di mutazione
che supportano l'errore parziale (quelle con un campo partial_failure nel
messaggio di richiesta), l'impostazione di partial_failure = true esegue il commit delle operazioni valide
mentre le operazioni non riuscite restituiscono errori specifici dell'operazione nel campo
partial_failure_error della risposta. Per informazioni dettagliate sulla gestione degli errori, consulta la guida
all'errore parziale e la guida
agli errori comuni.
Monitorare le modifiche
Per monitorare le modifiche apportate agli oggetti nel tuo account Google Ads o per recuperare lo stato attuale degli oggetti, puoi utilizzare le risorse change_status e change_event.
change_statusfornisce un riepilogo delle risorse che sono state modificate in un determinato periodo di tempo.change_eventfornisce una cronologia dettagliata delle modifiche, inclusi i valori precedenti e nuovi dei campi modificati.
Per eseguire query su queste risorse, utilizza il metodo GoogleAdsService.SearchStream o GoogleAdsService.Search. Scopri di più sullo streaming dei report
utilizzando GoogleAdsService.