このガイドでは、Google Ads API レポートに指標がゼロの行が表示される理由と、クエリでそれらの行を除外または処理する方法について説明します。
検索結果の指標がゼロ
クエリを実行すると、エンティティの指標がゼロになることがあります。 これには、以下のような理由が考えられます。
- エンティティが表示対象外
- レポートの期間中に一時停止された
クエリ結果では、キャンペーンの掲載結果に関する情報を取得したいと思うでしょう。このコンテキストでは、指標がゼロであることは望ましくない場合があります。より有用なレポートを作成するには、指標がゼロの行を明示的に除外します。
述語を使用して指標がゼロの行を除外する
述語は、TRUE、FALSE、UNKNOWN のいずれかに評価される式です。
述語は、WHERE 句の検索条件で
Google 広告 Query Languageに使用されます。
次のクエリは、述語を使用して指標がゼロの行を明示的に削除する方法を示しています。
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)から使用できます。詳しくは、期間をご覧ください。