В этом руководстве объясняется, почему в отчетах Google Ads API появляются строки с нулевыми показателями и как исключить или обработать их в запросах.
Нулевые показатели в результатах поиска
При выполнении запроса вы можете столкнуться с нулевыми значениями показателей для объектов. Возможные причины:
- Объекты не соответствуют требованиям для показа.
- Они были приостановлены в диапазоне дат отчета.
Результаты запросов часто используются для получения информации об эффективности кампаний. В этом контексте нулевые показатели могут быть нежелательны. Чтобы отчет был более полезным, вы можете исключить нулевые показатели.
Как исключить нулевые показатели с помощью предиката
Предикат – это выражение, которое принимает значение TRUE, FALSE или UNKNOWN.
Предикаты используются в условиях поиска в предложениях WHERE в языке запросов Google Рекламы.
В следующем запросе показано, как явно удалить нулевые показатели с помощью предиката:
SELECT
campaign.id,
metrics.impressions
FROM campaign
WHERE metrics.impressions > 0
Как исключить нулевые показатели с помощью сегментирования
При сегментировании отчета нулевые показатели всегда исключаются, если все выбранные показатели равны нулю (см. раздел Возвращенные строки с нулевыми показателями).
Чтобы сегментировать отчет, включите любое поле segments в условие SELECT поискового запроса. Если вы отфильтруете отчет по основному сегменту дат в условии WHERE, не выбрав его в условии SELECT, сегментация не будет выполнена. Например, если вы сегментируете отчет по параметру segments.date, показатели будут разбиты на строки по датам. Даты, для которых нет показателей, в такой отчет не включаются.
В отчете по следующему запросу не будет строк с нулевыми показателями:
SELECT
campaign.name,
metrics.impressions,
segments.date
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Возвращены строки с нулевыми показателями
При сегментировании не возвращаются строки, в которых все выбранные показатели равны нулю. Например, рассмотрим следующий запрос, который выбирает metrics.impressions, metrics.clicks и 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-летний период ретроспективного анализа заканчивается 2015-03-22 (или 2015-03-01), то ежемесячные данные будут доступны начиная с первого полного календарного месяца после окончания периода (2015-04-01). Подробную информацию вы найдете в разделе Диапазоны дат.