Terminologia importante
- Recurso
- Uma entidade no Google Ads, como
campaignouad_group. - Segmento
- Uma dimensão usada para agrupar dados, como
segments.dateousegments.device. Quando segmentos são incluídos na cláusulaSELECTcom métricas, elas são divididas por segmento. - Métrica
- Uma medição de performance, como
metrics.impressionsoumetrics.clicks. - Recurso atribuído
- Um recurso que é unido implicitamente ao recurso principal na cláusula
FROM, permitindo selecionar os atributos dele junto com os atributos do recurso principal.
Consultar informações de recursos ou metadados
A linguagem de consulta do Google Ads pode consultar a API Google Ads para os seguintes tipos de informações:
Recursos e atributos, segmentos e métricas relacionados usando
GoogleAdsServiceSearch ou SearchStream: o resultado de uma consultaGoogleAdsServiceé uma lista de instânciasGoogleAdsRow, em que cadaGoogleAdsRowrepresenta um recurso.Se algum atributo ou métrica for solicitado, a linha também vai incluir esses campos. Se algum segmento for solicitado, a resposta também vai mostrar uma linha adicional para cada tupla segmento-recurso.
Metadados sobre campos e recursos disponíveis em
GoogleAdsFieldService: esse serviço fornece um catálogo de campos consultáveis com detalhes sobre a compatibilidade e o tipo deles.O resultado de uma consulta
GoogleAdsFieldServiceé uma lista de instâncias deGoogleAdsField, com cadaGoogleAdsFieldcontendo detalhes sobre o campo solicitado.
Para mais detalhes sobre a estrutura da consulta, consulte Estrutura da consulta e Gramática da linguagem de consulta do Google Ads.
Consultar atributos de recursos
Confira um exemplo de consulta básica para atributos do recurso de campanha que mostra como retornar o ID da campanha, o nome e o status:
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
Essa consulta ordena por ID da campanha. Cada GoogleAdsRow resultante representa um objeto campaign preenchido com os campos selecionados, incluindo o resource_name da campanha.
Para saber quais outros campos estão disponíveis para consultas de campanha, consulte a
documentação de referência de Campaign.
Consultar métricas
Além dos atributos selecionados para um determinado recurso, você também pode consultar métricas relacionadas:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
ORDER BY campaign.id
Essa consulta filtra apenas as campanhas com status PAUSED e mais de 1.000 impressões, ordenando por ID da campanha. Cada GoogleAdsRow resultante teria um campo metrics preenchido com as métricas selecionadas.
Para uma lista de métricas que podem ser consultadas, consulte a
documentação do Metrics.
Consultar segmentos
Além dos atributos selecionados para um determinado recurso, você também pode consultar segmentos relacionados:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions,
segments.date
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
AND segments.date DURING LAST_30_DAYS
ORDER BY campaign.id
Assim como na consulta de métricas, essa consulta filtra apenas as campanhas que têm o status PAUSED e mais de 1.000 impressões. No entanto, essa consulta segmenta os dados por data. Isso faz com que cada GoogleAdsRow resultante represente uma tupla de uma campanha e o segmento de data.
A segmentação divide as métricas selecionadas, agrupando por cada segmento na cláusula SELECT.
Para uma lista de segmentos que podem ser consultados, consulte a
documentação do Segments.
Consultar atributos de um recurso relacionado
Em uma consulta para um determinado recurso, é possível fazer uma junção com outros recursos relacionados, se disponíveis. Esses recursos relacionados são conhecidos como "recursos atribuídos". É possível fazer uma junção implícita com recursos atribuídos selecionando um atributo na consulta.
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
Essa consulta não apenas seleciona atributos de campanha, mas também extrai atributos relacionados de cada campanha selecionada. Cada GoogleAdsRow resultante representa um objeto campaign preenchido com os atributos da campanha selecionada e o atributo da estratégia de lances bidding_strategy.name.
Para saber quais recursos atribuídos estão disponíveis para consultas de campanha, consulte a documentação de referência Campaign.
Práticas recomendadas
- Selecione apenas os campos necessários para evitar tempos de resposta longos e tempos limite.
- Use
LIMITdurante o desenvolvimento e os testes para evitar o processamento de grandes conjuntos de resultados. - Aplique filtros na cláusula
WHEREpara minimizar a transferência de dados e o tamanho da resposta. - Use
GoogleAdsFieldServicepara verificar a compatibilidade de campos e os tipos de dados antes de criar consultas complexas. - Alguns campos, especialmente aqueles que envolvem grandes quantidades de dados ou cálculos complexos, podem aumentar o custo da consulta.
Fazer mutações com base nos resultados da consulta
Ao consultar um determinado recurso, você pode usar imediatamente os resultados retornados como objetos, modificá-los e enviá-los de volta ao método de mutação no serviço desse recurso. Confira um exemplo de fluxo de trabalho:
- Execute uma consulta para todas as campanhas
PAUSEDcom impressões maiores que 1.000. - Acesse o objeto
Campaignno campocampaignde cadaGoogleAdsRowna resposta. - Mude o status de cada campanha de
PAUSEDparaENABLED. - Chame
CampaignService.MutateCampaignscom as campanhas modificadas e umFieldMaskcorrespondente para atualizá-las.
Metadados do campo
As consultas enviadas para GoogleAdsFieldService são destinadas à recuperação de metadados de campo.
Essas informações podem ser usadas para entender como os campos podem ser usados juntos em uma consulta. Como os dados estão disponíveis na API e fornecem os metadados necessários para validar ou criar uma consulta, os desenvolvedores podem fazer isso de forma programática. Confira uma consulta típica de metadados:
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
Você pode substituir <INSERT_RESOURCE_OR_FIELD> nesta consulta por um recurso (como customer ou campaign) ou um campo (como campaign.id, metrics.impressions ou ad_group.id).
Para uma lista de campos que podem ser consultados, consulte a
documentação GoogleAdsField.
Diferenças específicas da versão
Embora a sintaxe, as cláusulas e os operadores da linguagem de consulta do Google Ads sejam idênticos em todas as versões compatíveis da API Google Ads (v23, v24 e v25), o catálogo de recursos, segmentos, métricas e comportamentos de geração de relatórios que podem ser consultados varia de acordo com a versão principal. Consulte
GoogleAdsFieldService no endpoint da versão da API de destino
para inspecionar os campos e as regras de compatibilidade dessa versão:
- Recursos de meta de ciclo de vida:na v25 e em versões mais recentes, todas as metas de ciclo de vida (aquisição de novos clientes, retenção de clientes e retenção de fidelidade) são consultadas nos recursos unificados
goalecampaign_goal_config, substituindocustomer_lifecycle_goalecampaign_lifecycle_goal, que eram usados para metas de aquisição de novos clientes na v24 e em versões anteriores, junto comgoalecampaign_goal_configpara metas de retenção de clientes. - Métricas de visualização de recursos de expansão de URL final:na v25 e em versões mais recentes, a consulta de
final_url_expansion_asset_viewretorna todas as métricas selecionáveis da visualização. Na v24 e versões anteriores, as respostas incluem apenasmetrics.conversionsemetrics.conversions_valuepara campanhas Performance Max emetrics.impressionspara campanhas de pesquisa. - Relatórios de produtos do Shopping para campanhas para apps:na v24 e versões mais recentes, o recurso
shopping_productretorna linhas de produtos para campanhas para apps, além de campanhas do Shopping, Performance Max, Geração de Demanda e de vídeo. Na v23, as campanhas para apps são excluídas dos resultados deshopping_product. - Recursos, segmentos e métricas específicos da versão:
- v25 e versões mais recentes:inclui recursos de medição de Lift (como
lift_measurement_config), segmentos comosegments.ad_sub_format_typeesegments.loyalty_membership, e métricas de engajamento do YouTube (metrics.youtube_likes,metrics.youtube_commentsemetrics.youtube_shares). Removelocal_services_lead.contact_details.email(que pode ser selecionado na v24 e em versões anteriores). - v24 e versões mais recentes:inclui o recurso
cart_data_sales_view,segments.conversion_attribution_event_typeemshopping_performance_view,segments.mobile_device_platformesegments.ad_network_typeemperformance_max_placement_view. Removecampaign.video_brand_safety_suitability(substituído porcustomer.video_brand_safety_suitability),segments.ad_sub_network_typeemcampaign_budgetesegments.click_typeemad_group_asset,campaign_assetecustomer_asset(que podem ser selecionados apenas na v23).
- v25 e versões mais recentes:inclui recursos de medição de Lift (como
- Código de erro de período granular:consultas que segmentam por
segments.date,segments.weekousegments.hour(ou filtram um período inferior a um mês) além da janela de lookback de 37 meses retornamDateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTEDna v24 e em versões mais recentes (ouDateRangeError.UNKNOWNna v23). Consulte Períodos para mais detalhes.
Exemplos de código
As bibliotecas de cliente têm exemplos de uso da linguagem de consulta do Google Ads
em GoogleAdsService. A pasta operações básicas tem exemplos como
GetCampaigns, GetKeywords e SearchForGoogleAdsFields.