O GoogleAdsService é o serviço unificado de geração de relatórios e recuperação de objetos da API Google Ads. O serviço tem métodos que:
- Extrair atributos específicos de objetos.
- Extrair métricas de desempenho de objetos com base em um período
- Ordenar objetos com base nos atributos deles.
- Use condições para indicar quais objetos você quer que sejam retornados na resposta.
- Limitar o número de objetos retornados.
O GoogleAdsService pode retornar resultados de
duas maneiras:
GoogleAdsService.SearchStreamretorna todas as linhas em uma única resposta de streaming,que é mais eficiente para conjuntos de resultados grandes (maiores que 10.000 linhas). Isso pode ser mais adequado se o aplicativo em lote quiser fazer o download de tantos dados quanto possível.- O
GoogleAdsService.Searchdivide respostas grandes em páginas de resultados gerenciáveis. Isso pode ser mais adequado se o aplicativo interativo mostrar uma página de resultados por vez.
Saiba mais sobre paginação e streaming.
Fazer uma solicitação
O método de pesquisa requer um
SearchGoogleAdsRequest, que consiste
nos seguintes atributos:
- Um
customer_id - Uma
queryda Linguagem de consulta do Google Ads que indica qual recurso será pesquisado, os atributos, segmentos e métricas a serem recuperados e as condições usadas para restringir quais objetos são retornados. - (somente
GoogleAdsService.Search) Umpage_tokenopcional para recuperar o próximo lote de resultados ao usar a paginação.
Para mais informações sobre a Linguagem de consulta do Google Ads, consulte o guia da Linguagem de consulta do Google Ads.
Processar uma resposta
O GoogleAdsService retorna uma lista de
objetos GoogleAdsRow.
Cada GoogleAdsRow representa um objeto retornado por uma consulta e consiste em um
conjunto de atributos preenchidos com base nos campos solicitados na
cláusula SELECT. Os atributos que não estão incluídos na cláusula SELECT não são
preenchidos nos objetos GoogleAdsRow da resposta.
Por exemplo, embora um ad_group_criterion tenha um atributo status, o
campo status do atributo ad_group_criterion da linha não é preenchido em uma
resposta para uma consulta em que a cláusula SELECT não inclui
ad_group_criterion.status. Da mesma forma, o atributo campaign da linha não é
preenchido se a cláusula SELECT não incluir campos do
recurso campaign.
Cada GoogleAdsRow pode ter atributos e métricas diferentes de outra linha
no mesmo conjunto de resultados. Portanto, as linhas devem ser vistas como objetos, e não
como linhas fixas de uma tabela.
Tipos de enumeração UNKNOWN
Os recursos retornados com um tipo de UNKNOWN não têm suporte total nessa
versão da API. Esses recursos podem ter sido criados por outras
interfaces, como a interface do Google Ads. É possível selecionar métricas quando um recurso tem um
tipo de UNKNOWN, mas não é possível modificar o recurso pela API. Um exemplo disso seria uma nova campanha ou anúncio sendo introduzido na interface, mas sem suporte na versão da API que você está consultando.
Considere as seguintes considerações:
- Um recurso com um tipo
UNKNOWNpode receber suporte mais tarde ou permanecerUNKNOWNindefinidamente. - Novos objetos com o tipo
UNKNOWNpodem aparecer a qualquer momento. Esses objetos são compatíveis com versões anteriores porque o valor do tipo enumerado já está disponível. Os recursos foram introduzidos com essa mudança porque estão disponíveis para que você tenha uma visão precisa da sua conta. O recursoUNKNOWNpode aparecer devido a novas atividades na sua conta por outras interfaces ou quando um recurso não tem mais suporte. - Os recursos
UNKNOWNpodem ter métricas detalhadas anexadas que podem ser consultadas. - Os recursos
UNKNOWNgeralmente ficam totalmente visíveis na interface do Google Ads. - Os recursos
UNKNOWNgeralmente não podem ser modificados.
Segmentação
A resposta vai conter um GoogleAdsRow para cada combinação dos seguintes itens:
- Instância do recurso principal especificado na cláusula
FROM - Valor de cada campo
segmentselecionado
Por exemplo, a resposta de uma consulta que seleciona FROM campaign e tem
segments.ad_network_type e segments.date na cláusula SELECT conteria
uma linha para cada combinação dos seguintes itens:
campaignsegments.ad_network_typesegments.date
Os resultados são segmentados de forma implícita para cada instância do recurso principal, não pelos valores dos campos individuais selecionados. Por exemplo,
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
resulta em uma linha por campanha, não em uma linha para cada valor do campo campaign.status.