В этом руководстве объясняется, почему в отчетах Google Ads API появляются строки с нулевыми показателями и как исключить или обработать их в ваших запросах.
Нулевые показатели в результатах поиска
При выполнении запроса вы можете обнаружить нулевое значение метрик для сущностей. Это может быть связано с:
- Данные объекты не подлежат отображению.
- Их выполнение было приостановлено в пределах указанного в отчете временного диапазона.
With query results, you often want to obtain information about how your campaigns are performing. In this context, zero metrics may not be desirable. To produce a more useful report, you can explicitly exclude zero metrics.
Исключить нулевые метрики с помощью предиката
Предикат — это выражение, результат которого равен TRUE , FALSE или UNKNOWN . Предикаты используются в условиях поиска в предложениях WHERE языка запросов Google Ads .
Следующий запрос демонстрирует, как явно удалить нулевые метрики с помощью предиката:
SELECT
campaign.id,
metrics.impressions
FROM campaign
WHERE metrics.impressions > 0
Исключите нулевые показатели путем сегментации.
При сегментации отчета нулевые значения метрик всегда исключаются, при условии, что все выбранные метрики равны нулю (см. Возвращенные строки с нулевыми значениями метрик ).
Segmenting a report is done by including any segments field in the SELECT clause of the search query (filtering on a core date segment in WHERE without selecting it in SELECT does not segment the report). For example, if you segment a report by segments.date , metrics are broken down with one row for each date. Dates with no metrics are not returned in such a report.
Для следующего запроса отчет не будет включать строки с нулевым значением метрики:
SELECT
campaign.name,
metrics.impressions,
segments.date
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Возвращены строки с нулевыми показателями.
Rows whose selected metrics are all zero won't be returned when segmenting. For example, consider the following query that selects metrics.impressions , metrics.clicks , and 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'
В итоговом отчете не будет строк, в которых все три выбранных показателя равны нулю, но будут возвращены строки, в которых хотя бы один из трех выбранных показателей больше нуля.
При запросе исторических данных, выходящих за рамки периода хранения данных , детализированные данные старше 37 месяцев недоступны и не возвращают строки. Запросы на детализированные сегменты дат ( segments.date , segments.week и segments.hour ), охватывающие диапазоны старше 37 месяцев, возвращают DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED в версии 24 и более поздних (или DateRangeError.UNKNOWN в версии 23). Агрегированные данные высокого уровня ( segments.month , segments.quarter и segments.year ) хранятся в течение 11 лет, синхронизированные с началом следующего полного календарного периода. Например, если крайний срок 11-летнего ретроспективного анализа приходится на 22 2015-03-22 (или 2015-03-01 ), ежемесячные данные становятся доступны начиная с первого полного календарного месяца после этого срока ( 2015-04-01 ). Подробности см. в разделе «Диапазоны дат» .