這份文件說明在 Core Reporting API 中使用區隔的語法,以及相關的注意事項。
簡介
使用 Core Reporting API 的區隔功能時,您可以透過兩種方式在 Core Reporting API 中要求區隔:
按 ID 劃分的區隔
您可以使用內建或自訂區隔的 ID,在 Core Reporting API 中要求區隔。使用 Google Analytics Management API 中
區隔收集的 list
方法,就能擷取使用者的所有可用區隔。各個區隔的 ID 可在
區隔資源的 id
屬性中找到。
如要進一步瞭解如何在 API 要求中使用區隔 ID,請參閱 Core Reporting API 參考資料。
動態區隔
您也可以在提出 API 要求時動態建立並使用區隔。通常在建立動態區隔時,應考慮以下事項:
以下概略說明建立動態區隔的每個考量事項。如要查看動態區隔的完整語法,請參閱動態區隔語法參考資料。
區隔中允許的維度和指標。
只有部分維度和指標可用於區隔。如要查看區隔中可使用的維度和指標,請前往
Dimensions and Metrics Explorer。
1. 選取使用者與工作階段
指定您是否要選取使用者或工作階段 (或同時選取兩者)。
- 使用
users::
選取使用者。 - 使用
sessions::
選取工作階段。 - 如果同時指定
users::
和sessions::
的條件:- 系統會先套用使用者條件,以便輸出相符使用者的工作階段。
- 工作階段條件只會套用至 #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:pageviews
和 ga:transactions
是在命中中發生,因此屬於 HIT 層級指標,而 ga:sessionDuration
和 ga:bounces
則是 SESSION 層級指標,因為每個工作階段都有一個值。就概念上來說,USER 是最高層級,而 HIT 是最低層級的範圍。
指標值也可以使用大於主要範圍的範圍回報。
例如:如要在 SESSION 和 USER 層級回報 ga:pageviews
和 ga:transactions
,只要加總這些工作階段內發生或這些使用者的每次命中數即可。
您可以為每個指標條件指定範圍,以決定套用該條件的層級。您可以使用 perUser::
、perSession::
或 perHit::
前置字串指定指標範圍。
例如:
- 選取在特定網站上消費至少 $10 美元的使用者 (例如:
使用者的生命週期價值至少為 $10 美元)。
users::condition::perUser::ga:transactionRevenue>=10
- 選取在單次工作階段中消費至少 $10 美元的使用者。
users::condition::perSession::ga:transactionRevenue>=10
範圍限制
Core Reporting API 會驗證指標範圍,確保指定查詢有效。範圍驗證的規則如下:
- 指定的指標範圍一律須等於或小於其父項條件範圍 (以
users::
或sessions::
前置字串表示)。 - 指定指標範圍必須等於或大於資料模型中定義的主要範圍。如需指標及其主要範圍的完整清單,請參閱指標:主要範圍參考資料。
舉例來說,以下是有效的指標範圍:
- 條件和指標範圍都相同 (亦即使用者層級)。
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 個步驟,在以序列為準的條件下發生。
簡易條件
簡易條件包含一或多個可合併的維度/指標條件。
簡易條件的有效條件運算子如下:
- 使用 AND 或 OR 運算子結合條件。
- 維度與指標運算子。
簡單條件的語法如下:
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::
前置字串。工作階段層級條件也是如此。
舉例來說,下列區隔是相等的。在這兩種情況下,系統會AND
將 condition1 和 condition2 用於特定使用者:
users::<condition1>;<condition2>
users::<condition1>users::<condition2>
順序條件
序列條件由一或多個步驟組成,步驟由一或多個維度/指標條件定義。您可以結合多個步驟和特殊序列運算子。
序列條件的有效序列運算子如下:
–>>
運算子表示上一個步驟「之前」是下一個步驟。–>
運算子表示上一個步驟「立即在」下一個步驟。
序列條件的語法如下:
sequence:: NOT? FIRST_HIT_MATCHES_FIRST_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 | 使用者 |