Você pode usar GoogleAdsFieldService
para solicitar dinamicamente o catálogo de recursos, campos de recursos,
chaves de segmentação e métricas disponíveis nos métodos
GoogleAdsService Search e
SearchStream. O catálogo fornece metadados que podem ser usados pelos clientes da API Google Ads para validação e criação de instruções da linguagem de consulta do Google Ads.
Exemplo de solicitação e resposta HTTP
A solicitação consiste em um HTTP GET para o servidor da API Google Ads no seguinte URL:
https://googleads.googleapis.com/v22/googleAdsFields/{resource_or_field}
O exemplo a seguir mostra uma solicitação seguida da resposta retornada de
GoogleAdsFieldService para o recurso ad_group:
Solicitação
https://googleads.googleapis.com/v22/googleAdsFields/ad_group
Resposta
{
"resourceName": "googleAdsFields/ad_group",
"name": "ad_group",
"category": "RESOURCE",
"selectable": false,
"filterable": false,
"sortable": false,
"selectableWith": [
"campaign",
"customer",
"metrics.average_cpc",
"segments.device",
...
],
"attributeResources": [
"customer",
"campaign"
],
"metrics": [
"metrics.conversions",
"metrics.search_budget_lost_impression_share",
"metrics.average_cost",
"metrics.clicks",
...
],
"segments": [
"segments.date",
"segments.ad_network_type",
"segments.device",
...
]
}
Neste exemplo, as matrizes importantes são:
attributeResources- Recursos que podem ser unidos implicitamente ao recurso na cláusula
FROM. metrics- Métricas que podem ser selecionadas com o recurso na cláusula
FROM. Preenchido apenas para campos em quecategoryéRESOURCE. segments- Chaves de segmento que podem ser selecionadas com o recurso na cláusula
FROM. Eles segmentam as métricas especificadas na consulta. Preenchido apenas para campos em quecategoryéRESOURCE. selectableWith-
O atributo
selectableWithem um recurso ou campo de segmento especifica outros recursos, segmentos ou métricas que podem ser selecionados na mesma consulta da GAQL. Esse atributo é crucial quando você quer incluir campos de um recurso ou segmento que não está especificado na cláusulaFROM.Ao criar uma consulta GAQL:
- O recurso na cláusula
FROMé a entidade principal. Você sempre pode selecionar campos desse recurso. - Você também pode selecionar métricas e segmentos compatíveis disponíveis com a entidade principal.
- Se você incluir campos de qualquer recurso ou segmento fora da cláusula
FROM, verifique se esse recurso ou segmento nãoFROMé compatível com todos os outros campos, segmentos e métricas selecionados na consulta.
- O recurso na cláusula
A lista
selectableWithde um recurso específico (vamos chamar de Recurso A) contém todos os outros recursos, segmentos e métricas que podem ser selecionados com os campos do Recurso A quando ele não é a entidade principal.Exemplo:
Considere este exemplo de consulta:
SELECT ad_group.id, segments.date, campaign.name FROM ad_groupA cláusula
FROMespecificaad_group.Essa consulta seleciona
ad_group.id(do recursoFROM),segments.dateecampaign.name.Como
campaign.nameestá selecionado, mascampaignnão está na cláusulaFROM, verifique a compatibilidade dele com outros elementos selecionados.Para garantir que essa consulta seja válida, o recurso
campaignprecisa ser compatível comsegments.date(outro campo selecionado). Portanto, verifique o atributoselectableWithdo recursocampaign. Sesegments.dateestiver presente na listaselectableWithdecampaign, a consulta será válida.
Se você selecionar campos de um recurso que não está na cláusula
FROM, a listaselectableWithdesse recurso precisará incluir todos os outros segmentos e recursos presentes na cláusulaSELECT.
Detalhes dos metadados
É possível solicitar o catálogo usando o GoogleAdsFieldService nestes níveis:
- Recurso
- Por exemplo,
googleAdsFields/campaign. - Campo do recurso
- Por exemplo,
googleAdsFields/campaign.name. - Campo de segmentação
- Por exemplo,
googleAdsFields/segments.ad_network_type. - Métrica
- Por exemplo,
googleAdsFields/metrics.clicks.