Terminología clave
- Recurso
- Es una entidad de Google Ads, como
campaignoad_group. - Segmentar
- Es una dimensión que se usa para agrupar datos, como
segments.dateosegments.device. Cuando se incluyen segmentos en la cláusulaSELECTcon métricas, estas se dividen por segmento. - Métrica
- Es una medición del rendimiento, como
metrics.impressionsometrics.clicks. - Recurso atribuido
- Es un recurso que se une de forma implícita al recurso principal en la cláusula
FROM, lo que te permite seleccionar sus atributos junto con los atributos del recurso principal.
Consulta información de recursos o metadatos
El lenguaje de consulta de Google Ads puede consultar la API de Google Ads para obtener los siguientes tipos de información:
Recursos y sus atributos, segmentos y métricas relacionados con
GoogleAdsServiceSearch o SearchStream: El resultado de una consulta deGoogleAdsServicees una lista de instancias deGoogleAdsRow, en la que cadaGoogleAdsRowrepresenta un recurso.Si se solicita algún atributo o métrica, la fila también incluye esos campos. Si se solicita algún segmento, la respuesta también muestra una fila adicional para cada tupla de recurso de segmento.
Metadatos sobre los campos y recursos disponibles en
GoogleAdsFieldService: Este servicio proporciona un catálogo de campos que se pueden consultar con detalles sobre su compatibilidad y tipo.El resultado de una consulta
GoogleAdsFieldServicees una lista de instancias deGoogleAdsField, en la que cadaGoogleAdsFieldcontiene detalles sobre el campo solicitado.
Para obtener más detalles sobre la estructura de las consultas, consulta Estructura de las consultas y Gramática del lenguaje de consulta de Google Ads.
Consulta los atributos de los recursos
A continuación, se muestra un ejemplo de una consulta básica de atributos del recurso de campaña que ilustra cómo devolver el ID, el nombre y el estado de la campaña:
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
Esta consulta ordena por ID de campaña. Cada GoogleAdsRow resultante representa un objeto campaign propagado con los campos seleccionados, incluido el resource_name de la campaña.
Para averiguar qué otros campos están disponibles para las consultas de campañas, consulta la documentación de referencia de Campaign.
Consulta métricas
Además de los atributos seleccionados para un recurso determinado, también puedes consultar las 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
Esta consulta filtra solo las campañas que tienen un estado de PAUSED y
que tuvieron más de 1,000 impresiones, y las ordena por ID de campaña. Cada GoogleAdsRow resultante tendría un campo metrics propagado con las métricas seleccionadas.
Para obtener una lista de las métricas que se pueden consultar, consulta la
documentación de Metrics.
Consulta segmentos
Además de los atributos seleccionados para un recurso determinado, también puedes consultar los 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
Al igual que la consulta de métricas, esta consulta filtra solo las campañas que tienen el estado PAUSED y que tuvieron más de 1,000 impresiones. Sin embargo,
esta consulta segmenta los datos por fecha. Esto hace que cada GoogleAdsRow resultante represente una tupla de una campaña y el segmento de fecha.
La segmentación divide las métricas seleccionadas y las agrupa por cada segmento en la cláusula SELECT.
Para obtener una lista de los segmentos que se pueden consultar, consulta la documentación de Segments.
Consulta los atributos de un recurso relacionado
En una consulta para un recurso determinado, es posible que puedas unirte a otros recursos relacionados, si están disponibles. Estos recursos relacionados se conocen como "recursos atribuidos". Puedes unirte a los recursos atribuidos de forma implícita seleccionando un atributo en tu consulta.
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
Esta consulta no solo selecciona los atributos de la campaña, sino que también extrae los atributos relacionados de cada campaña seleccionada. Cada GoogleAdsRow resultante representa
un objeto campaign propagado con los atributos de campaña seleccionados, así como
el atributo de estrategia de ofertas seleccionado bidding_strategy.name.
Para averiguar qué recursos atribuidos están disponibles para las consultas de campañas,
consulta la documentación de referencia de Campaign.
Prácticas recomendadas
- Selecciona solo los campos que necesitas para evitar tiempos de respuesta largos y tiempos de espera agotados.
- Usa
LIMITdurante el desarrollo y las pruebas para evitar el procesamiento de conjuntos de resultados grandes. - Aplica filtros en la cláusula
WHEREpara minimizar la transferencia de datos y el tamaño de la respuesta. - Usa
GoogleAdsFieldServicepara verificar la compatibilidad de los campos y los tipos de datos antes de crear consultas complejas. - Ten en cuenta que algunos campos, en especial los que implican grandes cantidades de datos o cálculos complejos, pueden aumentar el costo de la consulta.
Mutación basada en los resultados de la consulta
Cuando consultas un recurso determinado, puedes tomar de inmediato los resultados mostrados como objetos, modificarlos y enviarlos de vuelta al método mutate en el servicio de ese recurso. Este es un flujo de trabajo de ejemplo:
- Ejecuta una consulta para todas las campañas de
PAUSEDque tengan más de 1,000 impresiones. - Obtén el objeto
Campaigndel campocampaignde cadaGoogleAdsRowen la respuesta. - Cambia el estado de cada campaña de
PAUSEDaENABLED. - Llama a
CampaignService.MutateCampaignscon las campañas modificadas y unFieldMaskcorrespondiente para actualizarlas.
Metadatos de campos
Las consultas enviadas a GoogleAdsFieldService están destinadas a recuperar metadatos de campos.
Esta información se puede usar para comprender cómo se pueden usar los campos juntos
en una consulta. Dado que los datos están disponibles en la API y esta proporciona los metadatos
necesarios para validar o compilar una consulta, los desarrolladores pueden hacerlo
de manera programática. Esta es una consulta típica de metadatos:
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
Puedes reemplazar <INSERT_RESOURCE_OR_FIELD> en esta consulta por un
recurso (como customer o campaign) o un campo (como campaign.id,
metrics.impressions o ad_group.id).
Para obtener una lista de los campos que se pueden consultar, consulta la
documentación de GoogleAdsField.
Diferencias específicas de la versión
Si bien la sintaxis, las cláusulas y los operadores del lenguaje de consulta de Google Ads son idénticos en todas las versiones compatibles de la API de Google Ads (v23, v24, v25 y v26), el catálogo de recursos, segmentos, métricas y comportamientos de informes que se pueden consultar difiere según la versión principal. Consulta
GoogleAdsFieldService en el extremo de la versión de la API de destino
para inspeccionar los campos y las reglas de compatibilidad de esa versión:
- Vista de recursos de expansión de la URL final:
- Compatibilidad con campañas de Shopping (v26 y versiones posteriores):
final_url_expansion_asset_viewadmite campañas de Shopping (campaign.advertising_channel_type = 'SHOPPING'), además de campañas de máximo rendimiento y de Búsqueda. En el caso de las campañas de Shopping, puedes seleccionar y filtrar por camposad_group, pero no puedes seleccionar camposasset_group. - Métricas seleccionables (v25 y versiones posteriores): Cuando se consulta
final_url_expansion_asset_view, se devuelven todas las métricas seleccionables para la vista. En la versión 24 y anteriores, las respuestas solo incluyenmetrics.conversionsymetrics.conversions_valuepara las campañas de máximo rendimiento ymetrics.impressionspara las campañas de Búsqueda.
- Compatibilidad con campañas de Shopping (v26 y versiones posteriores):
- Recursos de objetivos de ciclo de vida: En la versión 25 y posteriores, todos los objetivos de ciclo de vida (adquisición de clientes nuevos, retención de clientes y retención de clientes leales) se consultan desde los recursos unificados
goalycampaign_goal_config, que reemplazan acustomer_lifecycle_goalycampaign_lifecycle_goal(que se usaban para los objetivos de adquisición de clientes nuevos en la versión 24 y anteriores, junto congoalycampaign_goal_configpara los objetivos de retención de clientes). - Informes de productos de Shopping para las campañas de aplicaciones: En la versión 24 y posteriores, el recurso
shopping_productdevuelve filas de productos para las campañas de aplicaciones, además de las campañas de Shopping, de máximo rendimiento, de generación de demanda y de video (en la versión 23, las campañas de aplicaciones se excluyen de los resultados deshopping_product). - Recursos, segmentos y métricas específicos de la versión:
- v26 y versiones posteriores: Incluye el recurso
search_lift_keyword_bundle,campaign.lift_measurement_config,local_services_lead.campaign,segments.search_lift_keyword_bundle,segments.search_propertyy las métricas de Efectividad de búsqueda (comometrics.relative_search_lift,metrics.normalized_incremental_searches,metrics.search_lift_cost_microsymetrics.search_lift_impressions). - v25 y versiones posteriores: Incluye recursos de medición de efectividad (como
lift_measurement_config), segmentos comosegments.ad_sub_format_typeysegments.loyalty_membership, y métricas de participación de YouTube (metrics.youtube_likes,metrics.youtube_commentsymetrics.youtube_shares). Quitalocal_services_lead.contact_details.email(que se puede seleccionar en la versión 24 y anteriores). - v24 y versiones posteriores: Incluye el recurso
cart_data_sales_view,segments.conversion_attribution_event_typeenshopping_performance_view,segments.mobile_device_platformysegments.ad_network_typeenperformance_max_placement_view. Se quitacampaign.video_brand_safety_suitability(se reemplaza porcustomer.video_brand_safety_suitability),segments.ad_sub_network_typeencampaign_budgetysegments.click_typeenad_group_asset,campaign_assetycustomer_asset(que solo se pueden seleccionar en la versión 23).
- v26 y versiones posteriores: Incluye el recurso
- Código de error de la ventana de visualización de fechas detalladas: Las consultas que segmentan por
segments.date,segments.weekosegments.hour(o filtran por un período inferior a un mes) más allá de la ventana de visualización de 37 meses devuelvenDateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTEDen la versión 24 y posteriores (oDateRangeError.UNKNOWNen la versión 23). Consulta Períodos para obtener más detalles.
Ejemplos de código
Las bibliotecas cliente tienen ejemplos de uso del lenguaje de consulta de Google Ads
en GoogleAdsService. La carpeta basic operations tiene ejemplos como
GetCampaigns, GetKeywords y SearchForGoogleAdsFields.