En esta guía, se explica por qué aparecen filas con métricas de cero en los informes de la API de Google Ads y cómo excluirlas o controlarlas en tus consultas.
Métricas nulas en los resultados de la búsqueda
Cuando ejecutas una consulta, es posible que encuentres métricas para entidades que son cero. Esto podría deberse a lo siguiente:
- Las entidades no son aptas para mostrarse.
- Se detuvieron dentro del período del informe.
Con los resultados de las consultas, a menudo querrás obtener información sobre el rendimiento de tus campañas. En este contexto, es posible que no se deseen métricas de cero. Para producir un informe más útil, puedes excluir de forma explícita las métricas de cero.
Excluye las métricas con valor cero con un predicado
Un predicado es una expresión que se evalúa como TRUE, FALSE o UNKNOWN.
Los predicados se usan en la condición de búsqueda de las cláusulas WHERE en el lenguaje de consulta de Google Ads.
En la siguiente consulta, se muestra cómo quitar de forma explícita las métricas con valor cero con un predicado:
SELECT
campaign.id,
metrics.impressions
FROM campaign
WHERE metrics.impressions > 0
Excluye las métricas con valor cero mediante la segmentación
Las métricas con valor cero siempre se excluyen cuando se segmenta un informe, siempre que todas las métricas seleccionadas sean cero (consulta Filas devueltas con métricas con valor cero).
Para segmentar un informe, se debe incluir cualquier campo segments en la cláusula SELECT de la búsqueda (filtrar por un segmento de fecha principal en WHERE sin seleccionarlo en SELECT no segmenta el informe). Por ejemplo, si
segmentas un informe por segments.date, las métricas se desglosan con una fila para
cada fecha. En ese informe, no se devuelven las fechas sin métricas.
En la siguiente consulta, el informe no incluirá filas con métricas de valor cero:
SELECT
campaign.name,
metrics.impressions,
segments.date
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Se devolvieron filas con métricas de cero
No se mostrarán las filas cuyas métricas seleccionadas sean todas cero cuando se realice la segmentación. Por
ejemplo, considera la siguiente consulta que selecciona metrics.impressions,
metrics.clicks y metrics.conversions:
SELECT
ad_group_criterion.criterion_id,
metrics.impressions,
metrics.clicks,
metrics.conversions,
segments.date
FROM keyword_view
WHERE segments.date BETWEEN '2026-01-01' AND '2026-01-31'
El informe resultante no contendrá ninguna fila en la que las tres métricas seleccionadas sean cero, pero devolverá filas en las que al menos una de las tres métricas seleccionadas sea mayor que cero.
Cuando se consultan datos históricos más allá del
período de retención de datos, los datos detallados con más de 37 meses de antigüedad no están
disponibles y no devolverán filas. Las solicitudes de segmentos de fechas detallados (segments.date, segments.week y segments.hour) que abarcan rangos de más de 37 meses devuelven DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED en la versión 24 y posteriores (o DateRangeError.UNKNOWN en la versión 23). Los datos agregados de alto nivel (segments.month, segments.quarter y segments.year) se conservan durante 11 años, alineados con el inicio del siguiente período de calendario completo. Por
ejemplo, si el límite de la ventana de visualización de 11 años cae el 2015-03-22 (o 2015-03-01),
los datos mensuales están disponibles a partir del primer mes calendario completo después del
límite (2015-04-01). Consulta Períodos para obtener más detalles.
Supresión de métricas de alcance y valores cero
Además de las entidades que no publicaron impresiones, las métricas de alcance (como metrics.unique_users y las métricas de intervalo de frecuencia de metrics.unique_users_two_plus a metrics.unique_users_ten_plus) pueden aparecer como cero o se pueden omitir cuando se suprimen los datos de alcance. La métrica metrics.unique_users (y metrics.unique_users_info) es compatible con las campañas de Display, de video, de generación de demanda y de aplicaciones, mientras que las métricas de intervalo de frecuencia metrics.unique_users_*_plus (y metrics.unique_users_*_plus_info) se aplican a las campañas de video.
La supresión del alcance se produce por varios motivos:
- Umbrales de privacidad: Los datos de alcance se suprimen cuando los recuentos de usuarios no cumplen con los umbrales de privacidad (como el k-anonimato) para proteger la identidad de los usuarios.
- Umbrales de calidad: Es posible que se retengan los datos de alcance si no cumplen con los estándares de calidad.
- Retención de datos: Los datos históricos de alcance se conservan durante 3 años (36 meses). Las consultas que abarcan fechas más allá de esta ventana de retención de 3 años no pueden
devolver métricas de alcance. Si bien las consultas que abarcan fechas de entre 36 y 37 meses
atrás se realizan correctamente sin mostrar
DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED, como se describe en la sección anterior, omiten las métricas de alcance (y devuelvenDATE_RANGE_BEYOND_RETENTIONcuando se seleccionan los metadatos de alcance complementarios).
En la versión 26 y posteriores, cada métrica de alcance de usuarios únicos tiene un campo de metadatos complementario del tipo ReachMetricInfo (como metrics.unique_users_info y metrics.unique_users_two_plus_info a metrics.unique_users_ten_plus_info).
En el lenguaje de consulta de Google Ads (GAQL), los campos de alcance complementario son métricas de MESSAGE seleccionadas directamente en la cláusula SELECT (por ejemplo, metrics.unique_users_info). No agregues .reach_metric_states en la cláusula SELECT, ya que la selección de campos de mensajes anidados en GAQL falla con UNRECOGNIZED_FIELD. En su lugar,
si seleccionas metrics.unique_users_info, se muestra un mensaje
ReachMetricInfo que contiene el campo de enumeración repetido
reach_metric_states de tipo ReachMetricState,
que describe si la métrica se suprimió o está completa.
Cada vez que se suprime una métrica de alcance o está fuera de la ventana de retención
(PRIVACY_SUPPRESSION, QUALITY_SUPPRESSION o
DATE_RANGE_BEYOND_RETENTION), su campo optional int64 en Metrics no se establece (lo que se evalúa como 0 si no se verifica la presencia del campo), mientras que
LOW_QUALITY aún propaga la métrica numérica:
COMPLETE: La métrica de alcance está completa y no se suprimió ningún dato.PRIVACY_SUPPRESSION: Se suprimieron los datos de alcance debido a restricciones de privacidad.QUALITY_SUPPRESSION: Se suprimieron los datos de alcance por motivos de calidad de los datos.LOW_QUALITY: Se calculó la métrica de alcance, pero se marcó como de baja calidad.DATE_RANGE_BEYOND_RETENTION: Las métricas de alcance no están disponibles porque el período está fuera del límite de retención de datos de alcance de 3 años.
Si seleccionas la métrica de alcance y su campo de metadatos complementario, tu aplicación puede distinguir entre el alcance cero genuino y los valores de alcance que se suprimieron:
SELECT
campaign.id,
campaign.name,
metrics.unique_users,
metrics.unique_users_info,
metrics.unique_users_two_plus,
metrics.unique_users_two_plus_info,
metrics.unique_users_ten_plus,
metrics.unique_users_ten_plus_info
FROM campaign
WHERE campaign.advertising_channel_type = 'VIDEO'
AND segments.date DURING LAST_30_DAYS