Come descritto nella guida alla struttura dell'API, ogni risorsa di primo livello nell'API Google Ads ha un servizio corrispondente specifico per il tipo di risorsa che supporta la modifica delle istanze della risorsa. Puoi anche utilizzare GoogleAdsService.Mutate per modificare più tipi di risorse in modo atomico in una singola richiesta.
Questa guida utilizza CampaignService per dimostrare la modifica degli oggetti Campaign, ma gli stessi concetti si applicano a tutti gli altri servizi specifici per il tipo di risorsa.
Richieste di modifica
Ogni servizio specifico per il 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 dopo la mutazione viene restituita la risorsa modificabile o solo il nome della risorsa)
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 consente di specificare l'azione
che vuoi eseguire su una singola risorsa impostando il 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 il campoupdate_maskdell'operazione, che indica all'API Google Ads quali attributi modificare durante l'operazione di aggiornamento. Ogni libreria client include un'utilità per la 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 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. Dovresti combinare le operazioni in un'unica richiesta di modifica anziché inviare più richieste di modifica, ciascuna contenente una singola operazione.
Ad esempio, se vuoi creare dieci campagne, devi inviare una singola
MutateCampaignsRequest contenente dieci oggetti CampaignOperation. Per raggruppare le operazioni tra diversi tipi di risorse in un'unica richiesta, utilizza GoogleAdsService.Mutate o risorse di mutazione.
Risposte di modifica
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 il campo resource_name della risorsa sia i campi modificabili della campagna in campaign. Per impostazione predefinita (RESOURCE_NAME_ONLY), viene compilato solo resource_name 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 va a buon fine, viene eseguito il rollback dell'intera richiesta. Per le richieste di modifica 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 agli errori parziali e la guida agli errori comuni.
Monitora 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.