Pesquisa e SearchStream

Vídeo: relatórios

A API Google Ads tem um mecanismo unificado de recuperação de atributos e relatórios de métricas que permite criar consultas usando a linguagem de consulta do Google Ads. Isso permite consultas complexas que podem retornar grandes quantidades de dados sobre contas individuais do Google Ads.

É possível criar consultas usando os métodos Search ou SearchStream. Os dois métodos aceitam as mesmas consultas e retornam resultados equivalentes. O método Search retorna dados em páginas de tamanho fixo de 10.000 linhas, permitindo que você faça iterações em um conjunto de resultados usando a paginação. Isso pode ser vantajoso em condições de rede não confiáveis ou com baixa largura de banda, por exemplo, para segmentar um grande conjunto de resultados em respostas menores que podem ser buscadas novamente se uma conexão for perdida. O método SearchStream, por outro lado, transmite todo o conjunto de resultados em uma única resposta, o que pode ser mais eficiente para recuperação de dados em massa.

Os dois usam o mesmo URL base:SearchSearchStream

    https://googleads.googleapis.com/v20/customers/CUSTOMER_ID/googleAds
POST /v20/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 houver mais de 10.000 linhas nos resultados,um nextPageToken será retornado na resposta:

{
  "results": [
    // ...
    // ...
    // ...
  ],
  "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B",
  "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status"
}

Repetir a mesma consulta com um pageToken adicionado com os valores da solicitação anterior busca a próxima página de resultados:

POST /v20/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"
}

Para usar o método SearchStream, que retorna todos os resultados em uma única resposta transmitida, mude o método de serviço no URL para searchStream (pageToken não é exigido por SearchStream):

POST /v20/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'"
}