このガイドでは、Google Ads API レポートに指標がゼロの行が表示される理由と、クエリでそれらの行を除外または処理する方法について説明します。
検索結果にゼロの指標が表示される
クエリを実行すると、エンティティの指標がゼロになることがあります。これには、以下のような理由が考えられます。
- エンティティが表示対象外
- レポートの期間内に一時停止された。
クエリ結果では、キャンペーンの掲載結果に関する情報を取得したいと思うでしょう。このコンテキストでは、ゼロ指標は望ましくない場合があります。より有用なレポートを作成するには、ゼロの指標を明示的に除外します。
述語を使用してゼロの指標を除外する
述語は、TRUE、FALSE、UNKNOWN のいずれかに評価される式です。述語は、Google 広告クエリ言語の WHERE 句の検索条件で使用されます。
次のクエリは、述語を使用してゼロの指標を明示的に削除する方法を示しています。
SELECT
campaign.id,
metrics.impressions
FROM campaign
WHERE metrics.impressions > 0
セグメント化してゼロの指標を除外する
レポートをセグメント化する際、選択したすべての指標がゼロの場合、ゼロの指標は常に除外されます(ゼロの指標を含む行が返されるを参照)。
レポートを分割するには、検索クエリの SELECT 句に segments フィールドを含めます(SELECT で選択せずに WHERE のコア日付セグメントでフィルタしても、レポートは分割されません)。たとえば、レポートを segments.date でセグメント化すると、指標は日付ごとに 1 行で表示されます。指標のない日付は、このようなレポートでは返されません。
次のクエリの場合、レポートにはゼロ指標の行は含まれません。
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'
このレポートには、選択した 3 つの指標がすべてゼロの行は含まれませんが、選択した 3 つの指標のうち少なくとも 1 つがゼロより大きい行は返されます。
データ保持期間を超えて過去のデータをクエリすると、37 か月以上前の粒度の細かいデータは使用できず、行は返されません。37 か月より前の期間を対象とする、粒度の細かい日付セグメント(segments.date、segments.week、segments.hour)のリクエストは、v24 以降では DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED(v23 では DateRangeError.UNKNOWN)を返します。上位レベルの集計データ(segments.month、segments.quarter、segments.year)は、次の完全なカレンダー期間の開始に合わせて 11 年間保持されます。たとえば、11 年間のルックバックのカットオフが 2015-03-22(または 2015-03-01)の場合、月単位のデータはカットオフ(2015-04-01)の後の最初の完全なカレンダー月から使用できます。詳しくは、期間をご覧ください。