零指標

本指南說明 Google Ads API 報表中出現指標為零的資料列的原因,以及如何在查詢中排除或處理這些資料列。

搜尋結果中的零指標

執行查詢時,您可能會遇到實體指標為零的情況。可能的原因如下:

  • 實體不符合顯示資格。
  • 在報表日期範圍內暫停。

您通常會想透過查詢結果,取得廣告活動成效的相關資訊。在這種情況下,零指標可能不符合需求。如要產生更實用的報表,可以明確排除零指標。

使用述詞排除零指標

述詞是評估結果為 TRUE、FALSE 或 UNKNOWN 的運算式。述詞用於 Google Ads 查詢語言中 WHERE 子句的搜尋條件。

下列查詢示範如何使用述詞明確移除零指標:

SELECT
  campaign.id,
  metrics.impressions
FROM campaign
WHERE metrics.impressions > 0

透過區隔排除零指標

如果所有選取的指標都是零,則區隔報表時一律會排除零指標 (請參閱「傳回零指標的資料列」)。

如要區隔報表,請在搜尋查詢的 SELECT 子句中加入任何 segments 欄位 (在 WHERE 中篩選基本日期區隔,但未在 SELECT 中選取,則不會區隔報表)。舉例來說,如果按segments.date區隔報表,指標會細分為每個日期一列。這類報表不會傳回沒有指標的日期。

在下列查詢中,報表不會包含指標為零的資料列:

SELECT
  campaign.name,
  metrics.impressions,
  segments.date
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

如果您選取 segments 欄位 (例如 segments.ad_network_type 或 segments.device 欄位),但未選取任何 metrics 欄位,這項排除條件也適用。如果實體的曝光次數為零,即使您只選取資源屬性 (例如 campaign.network_settings.target_search_network 欄位),區隔查詢也會省略該實體。如要擷取所有實體的資源設定 (不論曝光次數),請從 SELECT 子句中省略 segments 欄位。

傳回的資料列指標為零

如果所選指標全為零,系統就不會在區隔時傳回資料列。舉例來說,假設您使用下列查詢選取 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 個月,則在 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) 起的每月資料。詳情請參閱「日期範圍」。

觸及指標抑制和零值

除了未放送曝光的實體外,觸及指標 (例如 metrics.unique_users 和展示頻率 bucket 指標 metrics.unique_users_two_plus 至 metrics.unique_users_ten_plus) 也可能在觸及資料遭到抑制時顯示為零或省略。多媒體、影片、需求開發和應用程式廣告活動支援 metrics.unique_users 指標 (和 metrics.unique_users_info),而 metrics.unique_users_*_plus 頻率分桶指標 (和 metrics.unique_users_*_plus_info) 則適用於影片廣告活動。

觸及率受限的原因如下:

  • 隱私權門檻:如果使用者人數未達隱私權門檻 (例如 k 匿名性),系統會隱藏觸及資料,保護使用者身分。
  • 品質門檻:如果資料不符合品質標準,系統可能會扣留觸及資料。
  • 資料保留:歷來觸及資料會保留 3 年 (36 個月)。如果查詢日期超出 3 年保留期限,就無法傳回觸及指標。如果查詢涵蓋 36 到 37 個月前的日期,雖然會成功,但不會傳回上一節所述的 DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED,而是會省略觸及指標 (如果選取隨播廣告觸及中繼資料,則會傳回 DATE_RANGE_BEYOND_RETENTION)。

在 v26 以上版本中,每個不重複使用者觸及指標都有一個 ReachMetricInfo 類型的隨附中繼資料欄位 (例如 metrics.unique_users_info 和 metrics.unique_users_two_plus_info 到 metrics.unique_users_ten_plus_info)。

在 Google Ads 查詢語言 (GAQL) 中,隨播觸及欄位是直接在 SELECT 子句中選取的 MESSAGE 指標 (例如 metrics.unique_users_info)。請勿在 SELECT 子句中附加 .reach_metric_states,因為在 GAQL 中選取巢狀訊息欄位會失敗,並顯示 UNRECOGNIZED_FIELD。相反地,選取 metrics.unique_users_info 會傳回 ReachMetricInfo 訊息,其中包含 ReachMetricState 類型的重複列舉欄位 reach_metric_states,說明指標是否遭到抑制或已完成。

每當觸及指標遭到隱藏或超出保留時間範圍 (PRIVACY_SUPPRESSION、QUALITY_SUPPRESSION 或 DATE_RANGE_BEYOND_RETENTION) 時,Metrics 上的 optional int64 欄位就不會設定 (如果未檢查欄位是否存在,則會評估為 0),而 LOW_QUALITY 仍會填入數值指標:

  • COMPLETE:觸及指標資料完整,未經抑制。
  • PRIVACY_SUPPRESSION:基於隱私權限制,系統已隱藏觸及資料。
  • QUALITY_SUPPRESSION:觸及資料因資料品質問題而遭隱藏。
  • LOW_QUALITY:已計算觸及指標,但標記為品質不佳。
  • DATE_RANGE_BEYOND_RETENTION:觸及指標無法使用,因為日期範圍超出觸及資料的 3 年資料保留期限。

同時選取觸及指標和隨附的中繼資料欄位,應用程式就能區分真正的零觸及和受抑制的觸及值:

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