L'API Google Ads dispone di un meccanismo unificato di recupero degli attributi e generazione di report sulle metriche che ti consente di creare query utilizzando il linguaggio di query Google Ads. Ciò consente query complesse che possono restituire grandi quantità di dati su singoli account Google Ads.
Puoi creare query utilizzando uno dei metodi Search
o SearchStream
.
Entrambi i metodi supportano le stesse query e restituiscono risultati equivalenti. Il metodo
Search
restituisce i dati in pagine di dimensioni fisse di 10.000 righe, consentendoti
di scorrere un insieme di risultati utilizzando la paginazione. Ciò potrebbe essere vantaggioso in condizioni di rete con larghezza di banda ridotta o inaffidabile, ad esempio per segmentare un ampio insieme di risultati in risposte più piccole che possono essere recuperate nuovamente se la connessione viene persa. Il metodo SearchStream
, invece, trasmette l'intero insieme di risultati
in un'unica risposta, il che può essere più efficiente per il recupero
dei dati collettivi.
Sia Search
sia SearchStream
utilizzano lo stesso URL di base:
https://googleads.googleapis.com/v21/customers/CUSTOMER_ID/googleAds
POST /v21/customers/CUSTOMER_ID/googleAds:search HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'" }
Se i risultati contengono più di 10.000 righe,nella risposta viene restituito un nextPageToken
:
{ "results": [ // ... // ... // ... ], "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B", "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status" }
Se ripeti la stessa query con un pageToken
aggiunto con i valori della
richiesta precedente, viene recuperata la pagina successiva dei risultati:
POST /v21/customers/CUSTOMER_ID/googleAds:search HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'", "pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B" }
Per utilizzare il metodo SearchStream
, che restituisce tutti i risultati in una singola risposta
in streaming, modifica il metodo del servizio nell'URL in searchStream
(pageToken
non è richiesto da SearchStream
):
POST /v21/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'" }