As consultas de campos de recursos, segmentos e métricas podem ser enviadas para o método
GoogleAdsService Search ou SearchStream. Para criar uma consulta na Linguagem de consulta do Google Ads, use a
gramática da linguagem. Para uma visão geral da
Linguagem de consulta do Google Ads, consulte a Visão geral da Linguagem de consulta do Google Ads. Uma consulta é
composta por várias cláusulas:
SELECTFROMWHEREORDER BYLIMITPARAMETERS
As cláusulas usam nomes de campos, nomes de recursos, operadores, condições e ordenações para ajudar você a selecionar os dados corretos. Quando combinados em uma única consulta, você pode enviar a solicitação para a API Google Ads.
Cláusulas
As seções a seguir descrevem a finalidade e a sintaxe de cada cláusula da Linguagem de consulta do Google Ads.
SELECT
A cláusula SELECT especifica um conjunto de campos a serem buscados na solicitação.
SELECT usa uma lista separada por vírgulas de campos de recursos, campos de segmentos e métricas, retornando os valores na resposta. A cláusula SELECT é
obrigatória em uma consulta.
O exemplo de consulta a seguir mostra como selecionar atributos para um determinado recurso:
SELECT
campaign.id,
campaign.name
FROM campaign
É possível solicitar diferentes tipos de campo em uma única solicitação, por exemplo:
SELECT
campaign.id,
campaign.name,
bidding_strategy.id,
bidding_strategy.name,
segments.device,
segments.date,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
- Principais campos de recursos
campaign.idcampaign.name
- Campos de recursos atribuídos
bidding_strategy.idbidding_strategy.name
- Campos de segmento
segments.devicesegments.date
- Métricas
metrics.impressionsmetrics.clicks
- Consultar campos que não podem ser selecionados. Esses campos têm o atributo de metadados
selectablemarcado comofalse. - Selecionar atributos de campos repetidos. Esses campos têm o atributo de metadados
is_repeatedmarcado comotrue. - Selecionar campos que não estão disponíveis para o recurso em questão na cláusula
FROM. Os atributos de alguns recursos não podem ser selecionados juntos, e apenas um subconjunto de todas as métricas e segmentos está disponível para o recurso na cláusulaFROM. - Selecionar segmentos ou métricas que não são compatíveis entre si. Para mais informações, consulte Segmentação.
As informações relacionadas às condições anteriores podem ser encontradas na nossa documentação de referência ou em GoogleAdsFieldService.
FROM
A cláusula FROM especifica o recurso principal a ser retornado. O recurso na cláusula FROM define quais campos podem ser usados em todas as outras cláusulas da consulta em questão. Só é possível especificar um único recurso na
cláusula FROM. A cláusula FROM é obrigatória em uma consulta ao método GoogleAdsService Search ou SearchStream. No entanto, a cláusula FROM não deve ser especificada ao usar
GoogleAdsFieldService.
Embora apenas um recurso possa existir na cláusula FROM de uma determinada consulta, os campos
dos recursos atribuídos também podem estar disponíveis. Esses recursos são
unidos implicitamente ao recurso na cláusula FROM. Portanto, basta
adicionar os atributos deles à cláusula SELECT para retornar os valores. Nem todos os recursos têm recursos atribuídos. No exemplo a seguir, você pode solicitar
o ID do grupo de anúncios e o ID da campanha dos grupos de anúncios:
SELECT
campaign.id,
ad_group.id
FROM ad_group
O campo resource_name do recurso principal é sempre retornado.
No exemplo a seguir, ad_group.resource_name é incluído na resposta, apesar de não ter sido selecionado explicitamente na consulta:
SELECT ad_group.id
FROM ad_group
O mesmo vale para recursos atribuídos quando pelo menos um campo é selecionado.
Por exemplo, campaign.resource_name é incluído na resposta para a
seguinte consulta:
SELECT
campaign.id,
ad_group.id
FROM ad_group
WHERE
A cláusula WHERE especifica as condições a serem aplicadas ao filtrar dados para a
solicitação. Ao usar a cláusula WHERE, especifique uma ou mais condições
separadas por AND. As condições normalmente seguem o padrão
field_name Operator value (ou usam BETWEEN value AND value, IS NULL ou
IS NOT NULL). A cláusula WHERE é opcional em uma consulta.
O exemplo a seguir usa WHERE para retornar métricas de um determinado período:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
É possível combinar várias condições para filtrar os dados. Este exemplo solicita o número de cliques de todas as campanhas com impressões em dispositivos móveis nos últimos 30 dias:
SELECT
campaign.id,
campaign.name,
segments.device,
metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
AND segments.device = 'MOBILE'
AND segments.date DURING LAST_30_DAYS
Os segmentos na cláusula WHERE também precisam estar na cláusula SELECT, exceto os
seguintes segmentos de data, chamados de segmentos principais de data:
segments.datesegments.weeksegments.monthsegments.quartersegments.year
Na consulta a seguir, segments.date está selecionado.
Como esse segmento é um segmento principal de data, você precisa fornecer um período finito na cláusula WHERE composta de segmentos principais de data:
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Todos os segmentos que atendem à condição anterior são segments.date,
segments.week, segments.month, segments.quarter e segments.year. Se
algum desses segmentos for selecionado, pelo menos um deles precisará ser usado na
cláusula WHERE.
Para mais detalhes sobre a filtragem por data, consulte Períodos.
Ao filtrar, lembre-se de que o operador diferencia maiúsculas de minúsculas. Para mais informações, consulte Diferenciação de maiúsculas de minúsculas.
Para uma lista completa de operadores, consulte a gramática da linguagem.
ORDER BY
A cláusula ORDER BY especifica a ordem em que os resultados são retornados. Isso permite organizar os dados em ordem crescente ou decrescente
com base em um nome de campo. Cada ordenação é especificada como um field_name seguido por
ASC ou DESC. Se nem ASC nem DESC forem especificados, a ordem padrão será ASC. A cláusula ORDER BY é opcional em uma consulta.
A consulta a seguir ordena as campanhas retornadas pelo número de cliques, do maior para o menor:
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
É possível especificar vários campos na cláusula ORDER BY usando uma lista separada por vírgulas. A ordenação ocorre na mesma sequência especificada na consulta.
Por exemplo, nesta consulta que seleciona dados do grupo de anúncios, os resultados são classificados
em ordem crescente pelo nome da campanha, em ordem decrescente pelo número de
impressões e em ordem decrescente pelo número de cliques:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
LIMIT
A cláusula LIMIT permite especificar o número de resultados a serem retornados.
Isso é útil se você precisa apenas de um subconjunto de resultados.
Por exemplo, LIMIT pode restringir o número total de resultados para a
seguinte consulta:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
PARAMETERS
A cláusula PARAMETERS permite especificar metaparâmetros para a solicitação.
Esses parâmetros podem afetar os tipos de linhas retornadas.
Os seguintes metaparâmetros são compatíveis:
include_drafts
Defina include_drafts como true para retornar entidades de rascunho.
O valor padrão é false.
Por exemplo, a consulta a seguir busca campanhas de rascunho e campanhas normais:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts = true
omit_unselected_resource_names
Defina omit_unselected_resource_names como true para omitir o nome de cada tipo de recurso na resposta, a menos que seja explicitamente solicitado na cláusula SELECT. O padrão é false.
| Consulta | Recursos retornados |
|---|---|
SELECT campaign.name, customer.id FROM campaign |
|
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
Nenhum
|
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
|
Outras regras de idioma
Além dos exemplos de cada cláusula, a Linguagem de consulta do Google Ads é compatível com os seguintes comportamentos:
O campo de recurso principal não é obrigatório na cláusula
SELECTde uma consulta. Por exemplo, é possível usar um ou mais campos de recursos principais para filtrar dados sem selecioná-los:SELECT campaign.id FROM ad_group WHERE ad_group.status = 'PAUSED'As métricas podem ser selecionadas exclusivamente para um determinado recurso. Nenhum outro campo do recurso é necessário na consulta:
SELECT metrics.impressions, metrics.clicks, metrics.cost_micros FROM campaignOs campos de segmentação podem ser selecionados sem campos de recursos ou métricas:
SELECT segments.device FROM campaignO campo
resource_name(campaign.resource_name, por exemplo) pode ser usado para filtrar ou ordenar dados:SELECT campaign.id, campaign.name FROM campaign WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'