Este guia mostra consultas da linguagem de consulta do Google Ads (GAQL, na sigla em inglês) que retornam os mesmos dados que as telas comuns da interface do Google Ads e procuram constantes geográficas. Use essas consultas sem modificações ou adapte-as aos seus fluxos de trabalho de relatórios.
Para um mapeamento mais amplo de relatórios da interface para recursos da API, consulte Relatórios na interface do Google Ads. Use a extensão de relatórios da API Google Ads para inspecionar recursos e campos da API na interface do Google Ads. Use o Criador de consultas interativo para criar e validar consultas personalizadas.
Definir variáveis de ambiente do curl
As guias curl enviam solicitações de streaming compactadas para o
endpoint REST searchStream. Antes de executar um comando curl, defina as seguintes variáveis de ambiente no shell:
API_VERSION: o número da versão da API sem umvinicial (por exemplo,26).CUSTOMER_ID: o ID de cliente de destino com 10 dígitos sem hifens.MANAGER_CUSTOMER_ID: o ID de 10 dígitos da conta de administrador sem hifens. Se você se autenticar diretamente como a conta de cliente de destino, definaMANAGER_CUSTOMER_IDcomoCUSTOMER_IDou omita o cabeçalhologin-customer-id(consulte ID de cliente de login).OAUTH2_ACCESS_TOKEN: um token de acesso válido do OAuth 2.0.
Replicar telas da interface do Google Ads
Nesta seção, mostramos consultas de API que retornam os mesmos dados das telas padrão da interface do Google Ads. Se você estiver criando um app que mostra métricas e dados semelhantes aos do Google Ads, essas consultas podem ajudar a extrair dados análogos da API.
Campanhas
Recupere dados da tela de visão geral padrão de Campanhas na interface do Google Ads.
GAQL
SELECT campaign.name, campaign_budget.amount_micros, campaign.status, campaign.optimization_score, campaign.advertising_channel_type, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, campaign.bidding_strategy_type FROM campaign WHERE segments.date DURING LAST_7_DAYS AND campaign.status != 'REMOVED'
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT campaign.name, campaign_budget.amount_micros, campaign.status, campaign.optimization_score, campaign.advertising_channel_type, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, campaign.bidding_strategy_type FROM campaign WHERE segments.date DURING LAST_7_DAYS AND campaign.status != 'REMOVED' " } EOF
Grupos de anúncios
Recupere dados da tela de visão geral padrão de Grupos de anúncios na interface do Google Ads.
GAQL
SELECT ad_group.name, campaign.name, ad_group.status, ad_group.type, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM ad_group WHERE segments.date DURING LAST_7_DAYS AND ad_group.status != 'REMOVED'
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT ad_group.name, campaign.name, ad_group.status, ad_group.type, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM ad_group WHERE segments.date DURING LAST_7_DAYS AND ad_group.status != 'REMOVED' " } EOF
Anúncios
Recupere dados da tela de visão geral padrão de Anúncios na interface do Google Ads. Essa consulta busca títulos e descrições de anúncios responsivos de pesquisa AdTextAsset, URLs finais e qualidade do anúncio para as colunas Anúncio e Qualidade do anúncio.
GAQL
SELECT ad_group_ad.ad.responsive_search_ad.headlines, ad_group_ad.ad.responsive_search_ad.descriptions, ad_group_ad.ad.final_urls, campaign.name, ad_group.name, ad_group_ad.status, ad_group_ad.policy_summary.approval_status, ad_group_ad.ad.type, ad_group_ad.ad_strength, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM ad_group_ad WHERE segments.date DURING LAST_7_DAYS AND ad_group_ad.status != 'REMOVED'
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT ad_group_ad.ad.responsive_search_ad.headlines, ad_group_ad.ad.responsive_search_ad.descriptions, ad_group_ad.ad.final_urls, campaign.name, ad_group.name, ad_group_ad.status, ad_group_ad.policy_summary.approval_status, ad_group_ad.ad.type, ad_group_ad.ad_strength, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM ad_group_ad WHERE segments.date DURING LAST_7_DAYS AND ad_group_ad.status != 'REMOVED' " } EOF
Palavras-chave da rede de pesquisa
Recupere dados da tela de visão geral padrão de palavras-chave da rede de pesquisa na interface do Google Ads.
GAQL
SELECT ad_group_criterion.keyword.text, campaign.name, ad_group.name, ad_group_criterion.system_serving_status, ad_group_criterion.keyword.match_type, ad_group_criterion.approval_status, ad_group_criterion.final_urls, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM keyword_view WHERE segments.date DURING LAST_7_DAYS AND ad_group_criterion.status != 'REMOVED'
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT ad_group_criterion.keyword.text, campaign.name, ad_group.name, ad_group_criterion.system_serving_status, ad_group_criterion.keyword.match_type, ad_group_criterion.approval_status, ad_group_criterion.final_urls, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM keyword_view WHERE segments.date DURING LAST_7_DAYS AND ad_group_criterion.status != 'REMOVED' " } EOF
Termos de pesquisa
Recupere dados da tela de visão geral padrão de Termos de pesquisa na interface do Google Ads.
GAQL
SELECT search_term_view.search_term, segments.keyword.info.match_type, search_term_view.status, campaign.name, ad_group.name, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, campaign.advertising_channel_type FROM search_term_view WHERE segments.date DURING LAST_7_DAYS
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT search_term_view.search_term, segments.keyword.info.match_type, search_term_view.status, campaign.name, ad_group.name, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, campaign.advertising_channel_type FROM search_term_view WHERE segments.date DURING LAST_7_DAYS " } EOF
Públicos-alvo
Recupere dados da tela de visão geral padrão de Públicos-alvo na interface do Google Ads.
GAQL
SELECT ad_group_criterion.resource_name, ad_group_criterion.type, campaign.name, ad_group.name, ad_group_criterion.system_serving_status, ad_group_criterion.bid_modifier, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, campaign.advertising_channel_type FROM ad_group_audience_view WHERE segments.date DURING LAST_7_DAYS
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT ad_group_criterion.resource_name, ad_group_criterion.type, campaign.name, ad_group.name, ad_group_criterion.system_serving_status, ad_group_criterion.bid_modifier, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, campaign.advertising_channel_type FROM ad_group_audience_view WHERE segments.date DURING LAST_7_DAYS " } EOF
Idade (informações demográficas)
Recupere dados da tela de visão geral padrão de informações demográficas de Idade na interface do Google Ads.
GAQL
SELECT ad_group_criterion.age_range.type, campaign.name, ad_group.name, ad_group_criterion.system_serving_status, ad_group_criterion.bid_modifier, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, campaign.advertising_channel_type FROM age_range_view WHERE segments.date DURING LAST_7_DAYS
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT ad_group_criterion.age_range.type, campaign.name, ad_group.name, ad_group_criterion.system_serving_status, ad_group_criterion.bid_modifier, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, campaign.advertising_channel_type FROM age_range_view WHERE segments.date DURING LAST_7_DAYS " } EOF
Gênero (informações demográficas)
Recupere dados da tela de visão geral padrão de informações demográficas de Gênero na interface do Google Ads.
GAQL
SELECT ad_group_criterion.gender.type, campaign.name, ad_group.name, ad_group_criterion.system_serving_status, ad_group_criterion.bid_modifier, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, campaign.advertising_channel_type FROM gender_view WHERE segments.date DURING LAST_7_DAYS
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT ad_group_criterion.gender.type, campaign.name, ad_group.name, ad_group_criterion.system_serving_status, ad_group_criterion.bid_modifier, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, campaign.advertising_channel_type FROM gender_view WHERE segments.date DURING LAST_7_DAYS " } EOF
Locais
Recupere dados da tela de visão geral padrão Locais na interface do Google Ads.
GAQL
SELECT campaign_criterion.location.geo_target_constant, campaign.name, campaign_criterion.bid_modifier, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM location_view WHERE segments.date DURING LAST_7_DAYS AND campaign_criterion.status != 'REMOVED'
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT campaign_criterion.location.geo_target_constant, campaign.name, campaign_criterion.bid_modifier, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM location_view WHERE segments.date DURING LAST_7_DAYS AND campaign_criterion.status != 'REMOVED' " } EOF
Canais
Recupere dados de canais segmentados explicitamente na tela Conteúdo >
Canais na interface do Google Ads consultando o recurso
managed_placement_view.
GAQL
SELECT ad_group_criterion.placement.url, campaign.name, ad_group.name, ad_group_criterion.status, ad_group_criterion.bid_modifier, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM managed_placement_view WHERE segments.date DURING LAST_7_DAYS AND ad_group_criterion.status != 'REMOVED'
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT ad_group_criterion.placement.url, campaign.name, ad_group.name, ad_group_criterion.status, ad_group_criterion.bid_modifier, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM managed_placement_view WHERE segments.date DURING LAST_7_DAYS AND ad_group_criterion.status != 'REMOVED' " } EOF
Onde os anúncios foram exibidos
Recupere dados de canais de domínio, app para dispositivos móveis e canal do YouTube na tela Conteúdo > Onde os anúncios foram exibidos na interface do Google Ads consultando o recurso group_placement_view.
GAQL
SELECT group_placement_view.display_name, group_placement_view.target_url, group_placement_view.placement_type, campaign.name, ad_group.name, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM group_placement_view WHERE segments.date DURING LAST_7_DAYS
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT group_placement_view.display_name, group_placement_view.target_url, group_placement_view.placement_type, campaign.name, ad_group.name, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM group_placement_view WHERE segments.date DURING LAST_7_DAYS " } EOF
Detalhes do canal
Recupere métricas de canais no nível do URL e do vídeo em Conteúdo > Onde os anúncios foram exibidos > Ver detalhes na interface do Google Ads consultando o recurso detail_placement_view.
GAQL
SELECT detail_placement_view.display_name, detail_placement_view.target_url, detail_placement_view.group_placement_target_url, detail_placement_view.placement_type, campaign.name, ad_group.name, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM detail_placement_view WHERE segments.date DURING LAST_7_DAYS
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT detail_placement_view.display_name, detail_placement_view.target_url, detail_placement_view.group_placement_target_url, detail_placement_view.placement_type, campaign.name, ad_group.name, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM detail_placement_view WHERE segments.date DURING LAST_7_DAYS " } EOF
Posições do Performance Max
Recupere as impressões de canais do relatório predefinido Canal das campanhas Performance Max em Insights e relatórios > Editor de relatórios consultando o recurso performance_max_placement_view.
GAQL
SELECT performance_max_placement_view.display_name, performance_max_placement_view.target_url, performance_max_placement_view.placement_type, campaign.name, metrics.impressions FROM performance_max_placement_view WHERE segments.date DURING LAST_7_DAYS
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT performance_max_placement_view.display_name, performance_max_placement_view.target_url, performance_max_placement_view.placement_type, campaign.name, metrics.impressions FROM performance_max_placement_view WHERE segments.date DURING LAST_7_DAYS " } EOF
Páginas de destino
Recupere dados da tela padrão Páginas de destino na interface do Google Ads consultando o recurso landing_page_view.
GAQL
SELECT landing_page_view.unexpanded_final_url, campaign.name, metrics.mobile_friendly_clicks_percentage, metrics.speed_score, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM landing_page_view WHERE segments.date DURING LAST_7_DAYS
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT landing_page_view.unexpanded_final_url, campaign.name, metrics.mobile_friendly_clicks_percentage, metrics.speed_score, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM landing_page_view WHERE segments.date DURING LAST_7_DAYS " } EOF
Grupos de recursos
Recupere dados da tela Grupos de recursos para campanhas Performance Max na interface do Google Ads consultando o recurso asset_group.
GAQL
SELECT asset_group.name, campaign.name, asset_group.status, asset_group.ad_strength, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, metrics.conversions FROM asset_group WHERE segments.date DURING LAST_7_DAYS AND asset_group.status != 'REMOVED'
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT asset_group.name, campaign.name, asset_group.status, asset_group.ad_strength, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, metrics.conversions FROM asset_group WHERE segments.date DURING LAST_7_DAYS AND asset_group.status != 'REMOVED' " } EOF
Produtos
Recupere métricas no nível do produto na tela Produtos para campanhas do Shopping e Performance Max na interface do Google Ads consultando o recurso shopping_performance_view.
GAQL
SELECT segments.product_item_id, segments.product_title, segments.product_brand, campaign.name, campaign.advertising_channel_type, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, metrics.conversions FROM shopping_performance_view WHERE segments.date DURING LAST_7_DAYS
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT segments.product_item_id, segments.product_title, segments.product_brand, campaign.name, campaign.advertising_channel_type, metrics.clicks, metrics.impressions, metrics.ctr, metrics.average_cpc, metrics.cost_micros, metrics.conversions FROM shopping_performance_view WHERE segments.date DURING LAST_7_DAYS " } EOF
Pesquisar constantes geográficas
A página Códigos e formatos fornece tabelas de referência para a maioria das constantes usadas na API. No entanto, também é possível fazer pesquisa rápida dinamicamente de algumas constantes usando a Linguagem de consulta do Google Ads.
Este trecho mostra como fazer uma pesquisa rápida de um local pelo nome do recurso ou pelo nome de exibição.
Por nome do recurso
Pesquisa rápida de Mountain View, CA, pelo nome do recurso geoTargetConstants/1014044.
GAQL
SELECT geo_target_constant.canonical_name, geo_target_constant.country_code, geo_target_constant.id, geo_target_constant.name, geo_target_constant.status, geo_target_constant.target_type FROM geo_target_constant WHERE geo_target_constant.resource_name = 'geoTargetConstants/1014044'
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT geo_target_constant.canonical_name, geo_target_constant.country_code, geo_target_constant.id, geo_target_constant.name, geo_target_constant.status, geo_target_constant.target_type FROM geo_target_constant WHERE geo_target_constant.resource_name = 'geoTargetConstants/1014044' " } EOF
Por nome de exibição
Pesquisa rápida por "Mountain View" como um nome de cidade nos Estados Unidos.
GAQL
SELECT geo_target_constant.canonical_name, geo_target_constant.country_code, geo_target_constant.id, geo_target_constant.name, geo_target_constant.status, geo_target_constant.target_type FROM geo_target_constant WHERE geo_target_constant.country_code = 'US' AND geo_target_constant.target_type = 'City' AND geo_target_constant.name = 'Mountain View' AND geo_target_constant.status = 'ENABLED'
curl
curl --compressed --fail-with-body --request POST \ "https://googleads.googleapis.com/v${API_VERSION}/customers/${CUSTOMER_ID}/googleAds:searchStream" \ --header "Content-Type: application/json" \ --header "login-customer-id: ${MANAGER_CUSTOMER_ID}" \ --header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \ --data @- <<'EOF' { "query": " SELECT geo_target_constant.canonical_name, geo_target_constant.country_code, geo_target_constant.id, geo_target_constant.name, geo_target_constant.status, geo_target_constant.target_type FROM geo_target_constant WHERE geo_target_constant.country_code = 'US' AND geo_target_constant.target_type = 'City' AND geo_target_constant.name = 'Mountain View' AND geo_target_constant.status = 'ENABLED' " } EOF