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:
- Recuperar atributos específicos dos objetos.
- Recupera métricas de performance para 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.
- Limita o número de objetos retornados.
O GoogleAdsService
pode retornar resultados de duas maneiras:
GoogleAdsService.SearchStream
retorna todas as linhas em uma única resposta de streaming,o que é mais eficiente para conjuntos de resultados grandes (mais de 10.000 linhas). Isso pode ser mais adequado se o aplicativo em lote quiser baixar o máximo de dados possível o mais rápido possível.- O
GoogleAdsService.Search
divide 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 x streaming.
Fazer uma solicitação
O método de pesquisa requer um
SearchGoogleAdsRequest
, que consiste
nos seguintes atributos:
- Um
customer_id
- Uma consulta da linguagem de consulta do Google Ads
query
que indica o recurso a ser consultado, os atributos, segmentos e métricas a serem recuperados e as condições a serem usadas para restringir quais objetos são retornados. - (Somente
GoogleAdsService.Search
) Umpage_token
opcional para recuperar o próximo lote de resultados ao usar paginação.
Para mais informações sobre a linguagem de consulta do Google Ads, consulte o guia correspondente.
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 nã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 UNKNOWN
não são totalmente compatíveis com essa versão da API. Esses recursos podem ter sido criados em outras interfaces, como a do Google Ads. É possível selecionar métricas quando um recurso tem um tipo UNKNOWN
, mas não é possível fazer mutações no recurso pela API. Por exemplo, uma nova campanha ou um novo anúncio que foi lançado na interface, mas não é compatível com a versão da API que você está consultando.
Considere o seguinte:
- Um recurso com um tipo
UNKNOWN
pode ser compatível mais tarde ou permanecerUNKNOWN
indefinidamente. - Novos objetos do tipo
UNKNOWN
podem aparecer a qualquer momento. Esses objetos são compatíveis com versões anteriores porque o valor da enumeração já está disponível. Os recursos são apresentados com essa mudança à medida que ficam disponíveis para que você tenha uma visão precisa da sua conta. O recursoUNKNOWN
pode aparecer devido a novas atividades na sua conta por outras interfaces ou quando um recurso não é mais compatível. - Os recursos
UNKNOWN
podem ter métricas detalhadas anexadas a eles que podem ser consultadas. - Os recursos do
UNKNOWN
geralmente ficam totalmente visíveis na interface do Google Ads. - Em geral, os recursos
UNKNOWN
não podem ser modificados.
Segmentação
A resposta vai conter um GoogleAdsRow
para cada combinação dos itens a seguir:
- Instância do recurso principal especificado na cláusula
FROM
- Valor de cada campo
segment
selecionado
Por exemplo, a resposta de uma consulta que seleciona FROM campaign
e tem segments.ad_network_type
e segments.date
na cláusula SELECT
contém uma linha para cada combinação dos seguintes itens:
campaign
segments.ad_network_type
segments.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
.