Core Reporting API - 區隔

這份文件說明在 Core Reporting API 中使用區隔的語法,以及相關的注意事項。

簡介

使用 Core Reporting API 的區隔功能時,您可以透過兩種方式在 Core Reporting API 中要求區隔:

  1. 按 ID 區隔:使用內建或自訂區隔的數字 ID 查詢。
  2. 動態區隔:在要求出現時動態指定區段。

按 ID 劃分的區隔

您可以使用內建或自訂區隔的 ID,在 Core Reporting API 中要求區隔。使用 Google Analytics Management API 中 區隔收集list 方法,就能擷取使用者的所有可用區隔。各個區隔的 ID 可在 區隔資源id 屬性中找到。

如要進一步瞭解如何在 API 要求中使用區隔 ID,請參閱 Core Reporting API 參考資料

動態區隔

您也可以在提出 API 要求時動態建立並使用區隔。通常在建立動態區隔時,應考慮以下事項:

  1. 選取使用者與工作階段
  2. 使用條件與順序
  3. 使用指標範圍

以下概略說明建立動態區隔的每個考量事項。如要查看動態區隔的完整語法,請參閱動態區隔語法參考資料

區隔中允許的維度和指標。
只有部分維度和指標可用於區隔。如要查看區隔中可使用的維度和指標,請前往 Dimensions and Metrics Explorer

1. 選取使用者與工作階段

指定您是否要選取使用者或工作階段 (或同時選取兩者)。

  • 使用 users::選取使用者。
  • 使用 sessions:: 選取工作階段。
  • 如果同時指定 users::sessions:: 的條件:
    1. 系統會先套用使用者條件,以便輸出相符使用者的工作階段。
    2. 工作階段條件只會套用至 #1 之後的工作階段。

例如:

  • 選取在至少一個工作階段中使用 Chrome 瀏覽器的使用者。
    • users::condition::ga:browser==Chrome
  • 選取使用 Chrome 瀏覽器的工作階段。
    • sessions::condition::ga:browser==Chrome
  • 從倫敦市境內使用 Chrome 瀏覽器至少 1 個工作階段的使用者選取工作階段。
    • users::condition::ga:browser==Chrome;sessions::condition::ga:city==London

如要進一步瞭解如何選取使用者和工作階段,請參閱語法參考資料中的 conditionScope 一節。

2. 使用條件與序列

決定要區隔使用者或工作階段後,請指定一或多個條件和/或序列。

條件

條件會使用 condition:: 前置字元。例如:

  • 指定曾使用 Chrome 瀏覽器造訪的倫敦使用者。
    • users::condition::ga:city==London;ga:browser==Chrome

序列

序列條件由一或多個步驟組成,每個步驟可由一或多個維度/指標條件定義。

使用 sequence:: 前置字串和「後接」 (;–>>) 或「緊接著跟隨」 (;–>) 運算子,指定以順序為準的條件。例如:

  • 選擇先使用電腦的使用者,再使用行動裝置。由於我們是區隔使用者,因此會搜尋使用者的所有工作階段,並檢查使用者在一個工作階段中是否曾使用電腦,接著才在下一個工作階段中使用行動裝置。
    • users::sequence::ga:deviceCategory==desktop;->>ga:deviceCategory==mobile
  • 您也可以為每個步驟使用多個條件。
    • users::sequence::ga:deviceCategory==desktop;ga:operatingSystem==Windows->>ga:deviceCategory==mobile;ga:operatingSystem==Android
  • 您也可以使用 AND (也就是「;」) 運算子。
    • users::condition::ga:totalEvents>10;sequence::ga:deviceCategory==desktop->>ga:deviceCategory==mobile

如要進一步瞭解簡單和序列式條件,請參閱語法參考資料中的 conditionType 部分。如要查看更多範例,請參閱 區隔功能參考資料的「 條件」和「 序列」章節。

3. 使用指標範圍

指標範圍定義定義該指標的層級:HIT、SESSION 或 USER。舉例來說,ga:pageviewsga:transactions 是在命中中發生,因此屬於 HIT 層級指標,而 ga:sessionDurationga:bounces 則是 SESSION 層級指標,因為每個工作階段都有一個值。就概念上來說,USER 是最高層級,而 HIT 是最低層級的範圍。

指標值也可以使用大於主要範圍的範圍回報。 例如:如要在 SESSION 和 USER 層級回報 ga:pageviewsga:transactions,只要加總這些工作階段內發生或這些使用者的每次命中數即可。

您可以為每個指標條件指定範圍,以決定套用該條件的層級。您可以使用 perUser::perSession::perHit:: 前置字串指定指標範圍。

例如:

  • 選取在特定網站上消費至少 $10 美元的使用者 (例如: 使用者的生命週期價值至少為 $10 美元)。
    users::condition::perUser::ga:transactionRevenue>=10
    
  • 選取在單次工作階段中消費至少 $10 美元的使用者。
    users::condition::perSession::ga:transactionRevenue>=10
    

範圍限制

Core Reporting API 會驗證指標範圍,確保指定查詢有效。範圍驗證的規則如下:

  1. 指定的指標範圍一律須等於或小於其父項條件範圍 (以 users::sessions:: 前置字串表示)。
  2. 指定指標範圍必須等於或大於資料模型中定義的主要範圍。如需指標及其主要範圍的完整清單,請參閱指標:主要範圍參考資料

舉例來說,以下是有效的指標範圍

  • 條件和指標範圍都相同 (亦即使用者層級)。
    • users::condition::perUser::ga:transactionRevenue>10
  • 條件範圍大於指標範圍 (即「使用者」>「工作階段」)。
    • users::condition::perSession::ga:transactionRevenue>10
  • ga:totalEvents 是 HIT 等級指標,因此條件中可能使用的範圍為 perHit::perSession::perUser:: (因為所有範圍都大於或等於 HIT 層級範圍)。
    • users::condition::perHit::ga:totalEvents>5
    • users::condition::perSession::ga:totalEvents>5

舉例來說,以下是無效的指標範圍

  • 下列區隔無效,因為父項條件範圍低於指標範圍 (即工作階段 < 使用者)。
    • sessions::condition::perUser::ga:transactionRevenue>10
  • 為 SESSION 層級指標和 HIT 層級 < SESSION 層級使用 HIT 層級範圍。
    • users::condition::perHit::ga:sessionDuration>60

預設範圍

如未明確指定指標條件範圍,該範圍會預設為條件範圍。舉例來說,下列區隔的所有指標條件都會使用「使用者」層級範圍: users::condition::ga:transactionRevenue>=10;ga:sessionDuration>60

動態區隔語法參考資料

基礎語法

定義片段的語法如下:segment=<segmentCondition>+。換句話說,區段由一或多個 segmentCondition 陳述式組成。

<segmentCondition> 定義為:<conditionScope><conditionType><dimensionOrMetricConditions>

其中:
conditionScope 指定條件的頂層範圍。
conditionType 指定條件的類型。
dimensionOrMetricConditions 指定維度/指標條件或順序步驟。

conditionScope

指定條件的頂層範圍。可能的值包括:

  • users::,用於選取使用者。
  • sessions::,用於選取工作階段。

conditionScope 的限制和注意事項:

  • 如果您在一個區隔中指定多個「使用者」和「工作階段」條件,就必須使用 AND 運算子合併。
  • 選取使用者和工作階段的條件也必須搭配 AND 運算子。如果同時指定使用者和工作階段的條件,系統會先套用所有使用者條件來找出相符的使用者,接著找出相符使用者工作階段中的所有工作階段條件。
  • 如果您使用任何使用者層級條件,日期範圍不得超過 90 天
  • 條件範圍也會決定其下方所有指標條件的預設範圍層級。如要進一步瞭解範圍層級,請參閱「 指標:主要範圍參考資料」。

conditionType

指定條件的類型。可能的值包括:

  • condition::,用於指定簡單 (即非序列) 條件。
  • sequence:::用於指定序列式條件。

conditionType 的限制和注意事項:

  • 如果指定多個「簡單條件」和「序列」,則必須與 AND 運算子合併。
  • 每個區隔最多可以有 10 個步驟,在以序列為準的條件下發生。

簡易條件

簡易條件包含一或多個可合併的維度/指標條件。

簡易條件的有效條件運算子如下:

簡單條件的語法如下:

condition::<dimensionOrMetricConditions>

簡單的條件範例:

  • users::condition::ga:transactionRevenue>10;ga:sessionDuration>60
  • 您可以指定頂層否定運算子,用於找出特定簡單條件中可能包含多個維度/指標條件的補充項目。例如:users::condition::!ga:transactionRevenue>10;ga:sessionDuration>60

排除條件

排除條件可用來建立不符合定義條件的區隔。

語法使用 NOT 運算子 (! 字元) 拒絕條件並排除符合該條件的工作階段。

排除離開網頁與根網頁路徑完全相符的工作階段:
sessions::condition::!ga:exitPagePath==/

多個條件

您可以將所有使用者層級條件全都歸入同一個 users:: 前置字串,也可以為每個條件使用獨立的 users:: 前置字串。工作階段層級條件也是如此。

舉例來說,下列區隔是相等的。在這兩種情況下,系統會ANDcondition1condition2 用於特定使用者:
users::<condition1>;<condition2>
users::<condition1>users::<condition2>

順序條件

序列條件由一或多個步驟組成,步驟由一或多個維度/指標條件定義。您可以結合多個步驟和特殊序列運算子。

序列條件的有效序列運算子如下:

  • –>> 運算子表示上一個步驟「之前」是下一個步驟。
  • –> 運算子表示上一個步驟「立即在」下一個步驟。

序列條件的語法如下:

sequence:: NOT? FIRST_HIT_MATCHES_FIRST_STEP? (AND (PRECEDES|IMMEDIATELY_PRECEDES) <step>)*

其中:

NOT 則以 ! 表示
FIRST_HIT_MATCHES_FIRST_STEP 則以 ^ 表示
PRECEDES 則以 ;–>> 表示
IMMEDIATELY_PRECEDES 則以 ;–> 表示
step<dimensionOrMetricConditions> 表示

序列條件範例:

  • users::sequence::ga:deviceCategory==desktop;->ga:deviceCategory==tablet
  • 您也可以指定頂層否定運算子,找出特定序列中可能包含多個步驟和/或維度/指標條件的補語。例如:users::sequence::!ga:deviceCategory==desktop;->ga:deviceCategory==tablet
  • ^ 運算子可用來指定第一個步驟與指定日期範圍內的第一個工作階段相符。例如:users::sequence::^ga:deviceCategory==desktop;->ga:deviceCategory==tablet

工作階段條件的日期

區隔支援使用 dateOfSession 語法的一種分析;如果搭配 <> 運算子,您就能將區隔限制為在某個日期範圍內啟動工作階段的一群使用者。dateOfSession 的日期範圍上限是 31 天。如要進一步瞭解相關用途,請參閱下方的工作階段日期範例

維度與指標條件

合併條件

您可以使用 AND 結合一或多個維度條件 (即「;」) 和 OR (亦即「,」) 以及優先順序較高的 OR 運算子。

語法與用於合併篩選器的語法相同。詳情請參閱 Core Reporting API 參考資料中的組合篩選器

運算子

下表列出可在區隔中使用的所有可用運算子,以及這些運算子是否適用於維度和/或指標。

運算子 說明 維度條件是否支援? 指標條件是否支援?
== 等於或完全比對。
例如:ga:city==London

例如:ga:adCost==10
!= 不等於或未完全相符。
例如:ga:city!=London

例如:ga:adCost!=10
< 小於。 是 (僅限數值)。
例如: ga:hour<12

例如:ga:adCost<10
<= 小於或等於。 是 (僅限數值)。
例如: ga:hour<=12

例如:ga:adCost<=10
> 大於。 是 (僅限數值)。
例如: ga:hour>12

例如:ga:adCost>10
>= 大於或等於。 是 (僅限數值)。
例如: ga:hour>=12

例如:ga:adCost>=10
<> 介於 (值介於指定範圍之間)。1 是 (僅限數值)。
例如: ga:hour<>1_12

例如:ga:adCost<>10_20
[] 在清單中 (值是其中一個列出的值)。2
例如:ga:browser[]Chrome|Firefox|Opera
=@ 包含子字串。
例如:ga:keyword=@shoes
!@ 不含子字串。
例如:ga:keyword!@shoes
=~ 包含規則運算式的相符項目。
例如:ga:keyword=~shoes
!~ 不包含規則運算式的相符項目。
例如:ga:keyword!~shoes

1 運算子 <>
可讓您查詢特定範圍內的值。其範圍值包含,且可用於有數值的指標和維度 (例如ga:hour)。範圍中的最小值和最大值必須以底線分隔。

語法:
{dimensionOrMetricName}<>{minValue}_{maxValue}

範例:
選取在 12 到 23 小時內發生的工作階段。
sessions::condition::ga:hour<>12_23

2 在清單運算子 []
中查詢指定清單中的值。只能與維度搭配使用。列出的值必須以「|」字元分隔。如果值中有「|」,就必須逸出。

語法:
{dimensionName}[]{value1}|{value2}|...

限制:
每個名單內維度條件最多可使用 10 個值 (例如 ga:city[]city1|city2|...|city10)。

範例:
選取來自瀏覽器 Chrome、Firefox 或 Opera 的工作階段。
sessions::condition::ga:browser[]Chrome|Firefox|Opera

逸出特殊字元

如果特殊字元「,」和「;」出現在值運算式中,則必須逸出。例如:ga:keyword==nike\,shoes

如要進一步瞭解維度和指標條件,請參閱 Core Reporting API 參考資料

限制

與維度和指標條件相關的限制如下:

  • 每個區隔最多可加入 10 個維度或指標條件。
  • 維度條件的運算式長度上限為 1024 個字元。

遷移舊版動態區隔

使用 dynamic:: 前置字串的舊版動態區隔,等同於目前語法中設有維度和指標條件的工作階段層級區隔。如果您使用舊版動態區隔,請將 dynamic:: 前置字串替換為 sessions::condition:: 前置字串,以改用新的語法。舉例來說,以下兩個區段是相等的:

dynamic::ga:browser==Chrome
等於:
sessions::condition::ga:browser==Chrome

區隔範例

1. 客層:男性語言是英文 (美國)、對遊戲感興趣,且來自美洲。

系統會先套用以使用者為基礎的區隔。因此,以使用者為依據的條件會傳回對遊戲感興趣且對遊戲感興趣的使用者。接著,屬於這些使用者的工作階段會依工作階段條件取得來自美洲、語言為 EN-US 的工作階段。

users::condition::ga:userGender==Male;users::condition::ga:interestAffinityCategory==Games ; sessions::condition::ga:region==Americas;sessions::condition::ga:language==en-u

2.行為:具有超過 100 個工作階段、過去 7 天內未曾造訪、每個工作階段完成 2 次以上交易,且在每個工作階段中停留超過 100 秒的使用者。

users::condition::ga:sessions>100;ga:daysSinceLastSession>=7; perSession::ga:transactions>2;perSession::ga:sessionDuration>100

3.工作階段:選取瀏覽器做為 Chrome 的工作階段, 國家/地區為「美國」,以及單次命中的例外情況 > 1「且」選取單次工作階段離開的使用者。

sessions::condition::ga:browser==Chrome;ga:country==US;perHit::ga:exceptions>1; users::condition::perSession::ga:exits<2

4.包含序列的工作階段:選取含有「步驟」的工作階段: Chrome 和單次命中的總事件數 > 5,「然後」根據「步驟:在桌機上按步驟:在行動裝置上」選取使用者。

sessions::sequence::ga:browser==Chrome;condition::perHit::ga:totalEvents>5;users::sequence::ga:deviceCategory==desktop->>ga:deviceCategory=mobile

5. 工作階段日期:選取在 2014 年 5 月 20 日至 2014 年 5 月 30 日之間,首次工作階段,且在網站上停留超過 600 秒的使用者。

users::sequence::^ga:sessionCount==1;dateOfSession<>2014-05-20_2014-05-30;->>ga:sessionDurationBucket>600

指標:主要範圍參考資料

指標 主要範圍
ga:adClicks拿下
ga:adCost拿下
ga:adsenseAdsClicks拿下
ga:adsenseAdsViewed拿下
ga:adsenseAdUnitsViewed拿下
ga:adsenseCTR拿下
ga:adsenseECPM拿下
ga:adsensePageImpressions拿下
ga:adsenseRevenue拿下
ga:avgDomainLookupTime拿下
ga:avgDomContentLoadedTime拿下
ga:avgDomInteractiveTime拿下
ga:avgEventValue拿下
ga:avgPageDownloadTime拿下
ga:avgPageLoadTime拿下
ga:avgRedirectionTime拿下
ga:avgScreenviewDuration拿下
ga:avgSearchDepth拿下
ga:avgSearchDuration拿下
ga:avgSearchResultViews拿下
ga:avgServerConnectionTime拿下
ga:avgServerResponseTime拿下
ga:avgUserTimingValue拿下
ga:costPerConversion拿下
ga:costPerGoalConversion拿下
ga:costPerTransaction拿下
ga:CPC拿下
ga:CPM拿下
ga:CTR拿下
ga:domainLookupTime拿下
ga:domContentLoadedTime拿下
ga:domInteractiveTime拿下
ga:domLatencyMetricsSample拿下
ga:eventValue拿下
ga:exceptions拿下
ga:exceptionsPerScreenview拿下
ga:fatalExceptions拿下
ga:fatalExceptionsPerScreenview拿下
ga:goalAbandonRateAll拿下
ga:goalAbandonsAll拿下
ga:goalCompletionsAll拿下
ga:goalStartsAll拿下
ga:goalValueAll拿下
ga:goalValueAllPerSearch拿下
ga:goalXXAbandonRate拿下
ga:goalXXAbandons拿下
ga:goalXXCompletions拿下
ga:goalXXStarts拿下
ga:goalXXValue拿下
ga:impressions拿下
ga:itemQuantity拿下
ga:itemRevenue拿下
ga:itemsPerPurchase拿下
ga:localItemRevenue拿下
ga:localTransactionRevenue拿下
ga:localTransactionShipping拿下
ga:localTransactionTax拿下
ga:margin拿下
ga:metricXX拿下
ga:pageDownloadTime拿下
ga:pageLoadSample拿下
ga:pageLoadTime拿下
ga:pageValue拿下
ga:pageviews拿下
ga:percentSearchRefinements拿下
ga:redirectionTime拿下
ga:revenuePerItem拿下
ga:revenuePerTransaction拿下
ga:ROI拿下
ga:RPC拿下
ga:screenviews拿下
ga:searchDepth拿下
ga:searchDuration拿下
ga:searchGoalConversionRateAll拿下
ga:searchGoalXXConversionRate拿下
ga:searchRefinements拿下
ga:searchResultViews拿下
ga:searchUniques拿下
ga:serverConnectionTime拿下
ga:serverResponseTime拿下
ga:socialActivities拿下
ga:socialInteractions拿下
ga:socialInteractionsPerSession拿下
ga:speedMetricsSample拿下
ga:timeOnScreen拿下
ga:totalEvents拿下
ga:totalValue拿下
ga:transactionRevenue拿下
ga:transactions拿下
ga:transactionShipping拿下
ga:transactionTax拿下
ga:uniqueAppviews拿下
ga:uniqueEvents拿下
ga:uniquePageviews拿下
ga:uniquePurchases拿下
ga:uniqueScreenviews拿下
ga:uniqueSocialInteractions拿下
ga:userTimingSample拿下
ga:userTimingValue拿下
ga:adsenseExits課程
ga:avgTimeOnPage課程
ga:avgSessionDuration課程
ga:bounces課程
ga:entranceBounceRate課程
ga:entranceRate課程
ga:entrances課程
ga:eventsPerSessionWithEvent課程
ga:exitRate課程
ga:exits課程
ga:goalConversionRateAll課程
ga:goalValuePerSession課程
ga:goalXXConversionRate課程
ga:organicSearches課程
ga:pageviewsPerSession課程
ga:percentSessionsWithSearch課程
ga:screenviewsPerSession課程
ga:searchExitRate課程
ga:searchExits課程
ga:searchSessions課程
ga:sessionDuration課程
ga:transactionRevenuePerSession課程
ga:transactionsPerSession課程
ga:bounceRate課程
ga:sessions課程
ga:sessionsWithEvent課程
ga:newSessions使用者
ga:percentNewSessions使用者
ga:users使用者