Method: properties.runFunnelReport

傳回 Google Analytics 事件資料的自訂漏斗報表。API 傳回的資料會以表格形式呈現,其中包含所要求維度和指標的資料欄。

您可以透過「漏斗探索」將使用者完成某件事時採取的步驟化為圖表,迅速瞭解使用者完成或不完成各個步驟的情況。(比方說潛在客戶選購產品/服務及結帳的過程,以及光顧過一次的新客戶如何成為常客),然後根據這些資料來改善曾有顧客放棄或成效不佳的顧客歷程。詳情請參閱「GA4 漏斗探索」。

這種方法在 Alpha 版穩定性階段推出,用意是在進入 Beta 版前,先收集有關語法和功能的意見回饋。如要對這個 API 提供意見,請填寫 Google Analytics Data API 程序報表意見回饋表。

HTTP 要求

POST https://analyticsdata.googleapis.com/v1alpha/{property=properties/*}:runFunnelReport

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
property

string

(選用步驟) 要追蹤事件的 Google Analytics 資源 ID。指定於網址路徑中,而非主體。如要瞭解詳情,請參閱「如何找出資源 ID」。在批次要求中,這個屬性應未指定或與批次層級屬性一致。

範例:properties/1234

要求主體

要求主體會包含結構如下的資料:

JSON 表示法
{
  "dateRanges": [
    {
      object (DateRange)
    }
  ],
  "funnel": {
    object (Funnel)
  },
  "funnelBreakdown": {
    object (FunnelBreakdown)
  },
  "funnelNextAction": {
    object (FunnelNextAction)
  },
  "funnelVisualizationType": enum (FunnelVisualizationType),
  "segments": [
    {
      object (Segment)
    }
  ],
  "limit": string,
  "dimensionFilter": {
    object (FilterExpression)
  },
  "returnPropertyQuota": boolean
}
欄位
dateRanges[]

object (DateRange)

(選用步驟) 要讀取資料的日期範圍。如果要求多個日期範圍,每個回應列都會包含以零為基準的日期範圍索引。如果兩個日期範圍重疊,重疊日期的事件資料會同時納入兩個日期範圍的回應列。

funnel

object (Funnel)

(選用步驟) 這項要求漏斗的設定。必須設定漏斗。

funnelBreakdown

object (FunnelBreakdown)

(選用步驟) 如果指定,這項細分會將維度新增至漏斗表格子報表回應。這個細分維度會將每個漏斗步驟展開為細分維度的不重複值。舉例來說,如果依 deviceCategory 維度細分,系統會為 mobile、tablet、desktop 和總計建立資料列。

funnelNextAction

object (FunnelNextAction)

(選用步驟) 如果指定,下一個動作會在漏斗視覺化子報表回應中新增維度。這個下一個動作維度會將每個漏斗步驟,擴展至下一個動作的不重複值。舉例來說,eventName 維度的下一個動作會為多個事件 (例如 session_start 和 click) 建立資料列,以及總計。

後續操作僅支援 eventName,以及「網頁路徑」pageTitle和「網頁標題」pagePath 等大多數網頁 / 畫面維度。

funnelVisualizationType

enum (FunnelVisualizationType)

(選用步驟) 漏斗視覺化類型會控管漏斗視覺化子報表回應中顯示的維度。如未指定,會使用 STANDARD_FUNNEL。

segments[]

object (Segment)

(選用步驟) 區隔的設定。區隔是資源資料的子集。在含有區隔的漏斗報表中,系統會評估每個區隔的漏斗。

這項要求中指定的每個區隔都會在回應中產生獨立資料列;在回應中,每個區隔都會以名稱識別。

segments 參數為選用參數。要求最多只能包含 4 個區隔。

limit

string (int64 format)

(選用步驟) 要傳回的列數。如未指定,系統會傳回 10,000 個資料列。無論您要求多少資料列,API 每次最多只會傳回 250,000 列。limit 必須為正數。

如果維度值的數量少於要求的 limit,API 也可能會傳回少於 limit 的資料列。

dimensionFilter

object (FilterExpression)

(選用步驟) 維度篩選器可讓您只要求報表中的特定維度值。如要瞭解詳情,請參閱「建立報表:維度篩選器」一文中的範例。這個篩選條件無法使用指標。

returnPropertyQuota

boolean

(選用步驟) 切換是否傳回這個 Analytics 資源配額的目前狀態。配額會以 PropertyQuota 形式傳回。

回應主體

漏斗報表回應包含兩個子報表。這兩份子報表是維度和指標的不同組合。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "funnelTable": {
    object (FunnelSubReport)
  },
  "funnelVisualization": {
    object (FunnelSubReport)
  },
  "propertyQuota": {
    object (PropertyQuota)
  },
  "kind": string
}
欄位
funnelTable

object (FunnelSubReport)

漏斗表格是一份報表,包含漏斗步驟、區隔、細分維度、活躍使用者、完成率、放棄次數和放棄率。

只有在要求區隔時,這個回應才會顯示區隔維度。只有在要求細目維度時,這個回應才會包含該維度。

funnelVisualization

object (FunnelSubReport)

漏斗視覺化報表會顯示漏斗步驟、區隔、日期、下一個動作維度,以及活躍使用者。

只有在要求區隔時,這個回應才會顯示區隔維度。只有透過 TRENDED_FUNNEL 漏斗類型要求時,此回應才會包含日期維度。只有在要求時,回應中才會顯示「後續動作」維度。

propertyQuota

object (PropertyQuota)

這項 Analytics 資源的配額狀態,包括這項要求。

kind

string

表示訊息的資源種類。這個 kind 一律是固定字串「analyticsData#runFunnelReport」。有助於區分 JSON 中的回應類型。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/analytics.readonly
  • https://www.googleapis.com/auth/analytics

漏斗

在漏斗報表要求中設定漏斗。程序會追蹤使用者完成一連串步驟的過程。

您可以透過「漏斗探索」將使用者完成某件事時採取的步驟化為圖表,迅速瞭解使用者完成或不完成各個步驟的情況。(比方說潛在客戶選購產品/服務及結帳的過程,以及光顧過一次的新客戶如何成為常客),然後根據這些資料來改善曾有顧客放棄或成效不佳的顧客歷程。

JSON 表示法
{
  "isOpenFunnel": boolean,
  "steps": [
    {
      object (FunnelStep)
    }
  ]
}
欄位
isOpenFunnel

boolean

在開放式漏斗中,使用者可以在任何步驟進入漏斗;在封閉式漏斗中,使用者只能在第一個步驟中進入漏斗。(選用步驟) 如未指定,則會使用封閉式漏斗。

steps[]

object (FunnelStep)

這個漏斗的連續步驟。

FunnelStep

步驟用來定義您要評估的使用者歷程。步驟包含一或多個條件,使用者必須符合指定條件,才會納入漏斗流程的步驟。

JSON 表示法
{
  "name": string,
  "isDirectlyFollowedBy": boolean,
  "filterExpression": {
    object (FunnelFilterExpression)
  },
  "withinDurationFromPriorStep": string
}
欄位
name

string

這個步驟的專屬名稱。如未指定,步驟會以 1 為索引的名稱命名 (例如「0. ", "1. " 等等)。這個名稱會定義 funnelStepName 維度傳回的字串值。舉例來說,如果在要求的第三個漏斗步驟中指定 name = Purchase,漏斗報表回應就會產生 3. Purchase。

isDirectlyFollowedBy

boolean

如果為 true,這個步驟必須緊接在上一個步驟之後。如果為 false,前一個步驟和這個步驟之間可能會有事件。如未指定,isDirectlyFollowedBy 會視為 false。

filterExpression

object (FunnelFilterExpression)

使用者必須符合指定條件,才會納入漏斗流程的步驟。

withinDurationFromPriorStep

string (Duration format)

如果指定,這個步驟必須在完成前一個步驟的這段時間內完成。withinDurationFromPriorStep 包含微秒精細度的端點。舉例來說,5 秒的持續時間可以在 4.9 或 5.0 秒完成,但不能是 5 秒和 1 微秒。

withinDurationFromPriorStep 為選用項目,如未指定,步驟之間可間隔任何時間長度。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"。

FunnelFilterExpression

表示漏斗篩選條件的組合。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "andGroup": {
    object (FunnelFilterExpressionList)
  },
  "orGroup": {
    object (FunnelFilterExpressionList)
  },
  "notExpression": {
    object (FunnelFilterExpression)
  },
  "funnelFieldFilter": {
    object (FunnelFieldFilter)
  },
  "funnelEventFilter": {
    object (FunnelEventFilter)
  }
  // End of mutually exclusive fields.
}
欄位
為 FunnelFilterExpression 指定一種篩選條件類型。以下列出互斥的欄位。回應中最多只會設定一個欄位:
andGroup

object (FunnelFilterExpressionList)

andGroup 中的 FunnelFilterExpression 具有 AND 關係。

orGroup

object (FunnelFilterExpressionList)

orGroup 中的 FunnelFilterExpression 具有 OR 關係。

notExpression

object (FunnelFilterExpression)

FunnelFilterExpression 不是 notExpression。

funnelFieldFilter

object (FunnelFieldFilter)

維度或指標的漏斗篩選器。

funnelEventFilter

object (FunnelEventFilter)

建立篩選器,比對單一事件名稱的事件。如果指定參數篩選運算式,只有符合單一事件名稱和參數篩選運算式的事件子集,才會符合這個事件篩選器。

互斥欄位的結尾。

FunnelFilterExpressionList

漏斗篩選器運算式清單。

JSON 表示法
{
  "expressions": [
    {
      object (FunnelFilterExpression)
    }
  ]
}
欄位
expressions[]

object (FunnelFilterExpression)

漏斗篩選器運算式清單。

FunnelFieldFilter

用來篩選維度或指標值的運算式。

JSON 表示法
{
  "fieldName": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "stringFilter": {
    object (StringFilter)
  },
  "inListFilter": {
    object (InListFilter)
  },
  "numericFilter": {
    object (NumericFilter)
  },
  "betweenFilter": {
    object (BetweenFilter)
  }
  // End of mutually exclusive fields.
}
欄位
fieldName

string

維度名稱或指標名稱。

指定一種篩選條件。以下列出互斥的欄位。回應中最多只會設定一個欄位:
stringFilter

object (StringFilter)

與字串相關的篩選器。

inListFilter

object (InListFilter)

用於篩選清單中值的篩選器。

numericFilter

object (NumericFilter)

數字或日期值的篩選條件。

betweenFilter

object (BetweenFilter)

篩選介於兩個值之間的值。

互斥欄位的結尾。

FunnelEventFilter

建立篩選器,比對單一事件名稱的事件。如果指定參數篩選運算式,只有符合單一事件名稱和參數篩選運算式的事件子集,才會符合這個事件篩選器。

JSON 表示法
{
  "eventName": string,
  "funnelParameterFilterExpression": {
    object (FunnelParameterFilterExpression)
  }
}
欄位
eventName

string

這個篩選器會比對這個單一事件名稱的事件。必須輸入事件名稱。

funnelParameterFilterExpression

object (FunnelParameterFilterExpression)

如果指定了這項篩選器,系統會比對符合單一事件名稱和參數篩選器運算式的事件。

在參數篩選運算式中,只能使用參數篩選器。

FunnelParameterFilterExpression

在參數中表示漏斗篩選條件的組合。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "andGroup": {
    object (FunnelParameterFilterExpressionList)
  },
  "orGroup": {
    object (FunnelParameterFilterExpressionList)
  },
  "notExpression": {
    object (FunnelParameterFilterExpression)
  },
  "funnelParameterFilter": {
    object (FunnelParameterFilter)
  }
  // End of mutually exclusive fields.
}
欄位
為 FunnelParameterFilterExpression 指定一種篩選條件類型。以下列出互斥的欄位。回應中最多只會設定一個欄位:
andGroup

object (FunnelParameterFilterExpressionList)

andGroup 中的 FunnelParameterFilterExpression 具有 AND 關係。

orGroup

object (FunnelParameterFilterExpressionList)

orGroup 中的 FunnelParameterFilterExpression 具有 OR 關係。

notExpression

object (FunnelParameterFilterExpression)

FunnelParameterFilterExpression 不是 notExpression。

funnelParameterFilter

object (FunnelParameterFilter)

原始漏斗參數篩選器。

互斥欄位的結尾。

FunnelParameterFilterExpressionList

漏斗參數篩選運算式清單。

JSON 表示法
{
  "expressions": [
    {
      object (FunnelParameterFilterExpression)
    }
  ]
}
欄位
expressions[]

object (FunnelParameterFilterExpression)

漏斗參數篩選運算式清單。

FunnelParameterFilter

用來篩選漏斗中參數值的運算式。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "eventParameterName": string,
  "itemParameterName": string
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "stringFilter": {
    object (StringFilter)
  },
  "inListFilter": {
    object (InListFilter)
  },
  "numericFilter": {
    object (NumericFilter)
  },
  "betweenFilter": {
    object (BetweenFilter)
  }
  // End of mutually exclusive fields.
}
欄位
要篩選的欄位。以下列出互斥的欄位。回應中最多只會設定一個欄位:
eventParameterName

string

系統會根據指定的事件參數評估這個篩選器。系統會將事件參數記錄為事件的參數。事件參數包括「firebase_screen」和「currency」等欄位。

事件參數只能用於區隔和漏斗,且只能用於 EventFilter 的後代篩選器。在 EventFilter 的後代篩選器中,應使用事件或項目參數。

itemParameterName

string

這個篩選器會評估指定的商品參數。系統會將商品參數記錄為商品陣列中的參數。項目參數包括「item_name」和「item_category」等欄位。

項目參數只能用於區隔和漏斗,且只能用於 EventFilter 的後代篩選器。在 EventFilter 的後代篩選器中,應使用事件或項目參數。

項目參數僅適用於電子商務事件。如要進一步瞭解電子商務事件,請參閱「評估電子商務」指南。

互斥欄位的結尾。
指定一種篩選條件。以下列出互斥的欄位。回應中最多只會設定一個欄位:
stringFilter

object (StringFilter)

與字串相關的篩選器。

inListFilter

object (InListFilter)

用於篩選清單中值的篩選器。

numericFilter

object (NumericFilter)

數字或日期值的篩選條件。

betweenFilter

object (BetweenFilter)

篩選介於兩個值之間的值。

互斥欄位的結尾。

FunnelBreakdown

細分會將維度新增至漏斗表格子報表回應。

JSON 表示法
{
  "breakdownDimension": {
    object (Dimension)
  },
  "limit": string
}
欄位
breakdownDimension

object (Dimension)

新增至漏斗表格子報表回應的維度欄。細目維度會細分每個漏斗步驟。如果指定 funnelBreakdown,則必須提供有效的 breakdownDimension。

limit

string (int64 format)

要在回應中傳回的細分維度不重複值數量上限。如未指定限制,則會使用 limit 的 5。限制必須大於零,且不得超過 15。

FunnelNextAction

後續動作會指出使用者完成某個步驟後,但尚未完成下一個步驟前,維度的值。舉例來說,如果 nextActionDimension 是 eventName,則漏斗步驟 i 列中的 nextActionDimension 會傳回使用者符合漏斗步驟 i 資格後,但在達成漏斗步驟 i+1 前的第一個事件。

JSON 表示法
{
  "nextActionDimension": {
    object (Dimension)
  },
  "limit": string
}
欄位
nextActionDimension

object (Dimension)

新增至漏斗視覺化子報表回應的維度資料欄。使用者達到第 i 個漏斗步驟後,後續動作維度會傳回這個維度的下一個維度值。

nextActionDimension 目前僅支援 eventName,以及大部分的網頁 / 畫面維度,例如 pageTitle 和 pagePath。nextActionDimension 不得為維度運算式。

limit

string (int64 format)

要在回應中傳回的細分維度不重複值數量上限。如未指定限制,則會使用 limit 的 5。限制必須大於零,且不得超過 5。

FunnelVisualizationType

控制漏斗視覺化子報表回應中顯示的維度。

列舉
FUNNEL_VISUALIZATION_TYPE_UNSPECIFIED 未指定類型。
STANDARD_FUNNEL 標準 (分階段) 漏斗。回應中的漏斗視覺化子報表不會包含日期。
TRENDED_FUNNEL 趨勢漏斗 (折線圖)。回應中的漏斗視覺化子報表會包含日期維度。

區隔

區隔是 Analytics 中的一小部分資料。以您的整個使用者群為例,某個區隔可能是來自特定國家/地區或城市的使用者,另一個區隔也許是購買特定產品、瀏覽網站某個部分或在應用程式中觸發特定事件的訪客。

詳情請參閱「區隔建立工具」。

JSON 表示法
{
  "name": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "userSegment": {
    object (UserSegment)
  },
  "sessionSegment": {
    object (SessionSegment)
  },
  "eventSegment": {
    object (EventSegment)
  }
  // End of mutually exclusive fields.
}
欄位
name

string

這個區隔的名稱。如未指定,區隔會命名為「區隔」。這個名稱會定義 segment 維度傳回的字串值。segment 維度會為區隔名稱加上前置字串,也就是要求中區隔的索引編號 (以 1 為基準),例如「1. 區隔」,「2. 區隔」等)。

一個範圍只能指定一個區隔。以下列出互斥的欄位。回應中最多只會設定一個欄位:
userSegment

object (UserSegment)

使用者區隔是指曾與您網站或應用程式互動的使用者子集。

sessionSegment

object (SessionSegment)

工作階段區隔是指在您網站/應用程式中發生的工作階段。

eventSegment

object (EventSegment)

事件區隔是在您網站/應用程式中觸發的事件。

互斥欄位的結尾。

UserSegment

使用者區隔是指曾與您網站或應用程式互動的使用者,例如曾經消費的老顧客,或將商品放進購物車但並未購買的使用者。

JSON 表示法
{
  "userInclusionCriteria": {
    object (UserSegmentCriteria)
  },
  "exclusion": {
    object (UserSegmentExclusion)
  }
}
欄位
userInclusionCriteria

object (UserSegmentCriteria)

定義要納入這個區隔的使用者。選填。

exclusion

object (UserSegmentExclusion)

定義要從這個區隔排除的使用者。選填。

UserSegmentCriteria

如果使用者的事件符合條件,即符合條件。

JSON 表示法
{
  "andConditionGroups": [
    {
      object (UserSegmentConditionGroup)
    }
  ],
  "andSequenceGroups": [
    {
      object (UserSegmentSequenceGroup)
    }
  ]
}
欄位
andConditionGroups[]

object (UserSegmentConditionGroup)

如果使用者符合每個 andConditionGroups 和每個 andSequenceGroups,即符合這項條件。如果指定 andSequenceGroups,andConditionGroups 可以為空白。

andSequenceGroups[]

object (UserSegmentSequenceGroup)

如果使用者符合每個 andSequenceGroups 和每個 andConditionGroups,即符合這項條件。如果指定 andConditionGroups,andSequenceGroups 可以為空白。

UserSegmentConditionGroup

條件可用來指定 Analytics 應納入或排除區隔中的哪些資料。

JSON 表示法
{
  "conditionScoping": enum (UserCriteriaScoping),
  "segmentFilterExpression": {
    object (SegmentFilterExpression)
  }
}
欄位
conditionScoping

enum (UserCriteriaScoping)

系統會根據資料是否符合條件群組,決定是否將資料納入區隔。這個範圍會定義 segmentFilterExpression 的評估事件數量,之後系統會判斷是否符合條件群組。舉例來說,如果 conditionScoping = USER_CRITERIA_WITHIN_SAME_SESSION,系統會評估工作階段中的所有事件,然後判斷使用者是否符合條件群組。舉例來說,如果為 conditionScoping = USER_CRITERIA_WITHIN_SAME_EVENT,系統會評估單一事件的運算式,然後判斷是否符合這個使用者的條件群組。

(選用步驟) 如未指定,則會使用 conditionScoping = ACROSS_ALL_SESSIONS。

segmentFilterExpression

object (SegmentFilterExpression)

系統會根據資料是否符合這個運算式,決定是否將資料納入區隔。運算式會根據維度、指標和/或參數表示條件。

UserCriteriaScoping

範圍會指定評估使用者是否符合條件時,要考量哪些事件。

列舉
USER_CRITERIA_SCOPING_UNSPECIFIED 未指定條件範圍。請勿指定。
USER_CRITERIA_WITHIN_SAME_EVENT 如果單一事件符合條件,使用者即符合條件。
USER_CRITERIA_WITHIN_SAME_SESSION 如果使用者在一個工作階段內滿足條件,即符合條件。
USER_CRITERIA_ACROSS_ALL_SESSIONS 如果使用者的任何事件符合條件,該使用者即符合條件。

SegmentFilterExpression

表示區隔篩選條件的組合。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "andGroup": {
    object (SegmentFilterExpressionList)
  },
  "orGroup": {
    object (SegmentFilterExpressionList)
  },
  "notExpression": {
    object (SegmentFilterExpression)
  },
  "segmentFilter": {
    object (SegmentFilter)
  },
  "segmentEventFilter": {
    object (SegmentEventFilter)
  }
  // End of mutually exclusive fields.
}
欄位
為 SegmentFilterExpression 指定一種篩選條件類型。以下列出互斥的欄位。回應中最多只會設定一個欄位:
andGroup

object (SegmentFilterExpressionList)

andGroup 中的 SegmentFilterExpression 具有 AND 關係。

orGroup

object (SegmentFilterExpressionList)

orGroup 中的 SegmentFilterExpression 具有 OR 關係。

notExpression

object (SegmentFilterExpression)

SegmentFilterExpression 不是 notExpression。

segmentFilter

object (SegmentFilter)

原始區隔篩選器。

segmentEventFilter

object (SegmentEventFilter)

建立篩選器,比對單一事件名稱的事件。如果指定參數篩選運算式,只有符合單一事件名稱和參數篩選運算式的事件子集,才會符合這個事件篩選器。

互斥欄位的結尾。

SegmentFilterExpressionList

區隔篩選運算式清單。

JSON 表示法
{
  "expressions": [
    {
      object (SegmentFilterExpression)
    }
  ]
}
欄位
expressions[]

object (SegmentFilterExpression)

區隔篩選器運算式清單

SegmentFilter

用來篩選維度或指標值的運算式。

JSON 表示法
{
  "fieldName": string,
  "filterScoping": {
    object (SegmentFilterScoping)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "stringFilter": {
    object (StringFilter)
  },
  "inListFilter": {
    object (InListFilter)
  },
  "numericFilter": {
    object (NumericFilter)
  },
  "betweenFilter": {
    object (BetweenFilter)
  }
  // End of mutually exclusive fields.
}
欄位
fieldName

string

維度名稱或指標名稱。

filterScoping

object (SegmentFilterScoping)

指定篩選器的範圍。

為 Filter 指定一種篩選條件類型。以下列出互斥的欄位。回應中最多只會設定一個欄位:
stringFilter

object (StringFilter)

與字串相關的篩選器。

inListFilter

object (InListFilter)

用於篩選清單中值的篩選器。

numericFilter

object (NumericFilter)

數字或日期值的篩選條件。

betweenFilter

object (BetweenFilter)

篩選介於兩個值之間的值。

互斥欄位的結尾。

SegmentFilterScoping

範圍會指定評估區隔篩選器時,應如何考量多個事件的維度和指標。

JSON 表示法
{
  "atAnyPointInTime": boolean
}
欄位
atAnyPointInTime

boolean

如果 atAnyPointInTime 為 true,且要求日期範圍內的任何事件評估結果為 true,則此篩選器對所有事件的評估結果都會是 true。

這個 atAnyPointInTime 參數不會延長報表中事件的日期範圍。如果 atAnyPointInTime 為 true,評估這項篩選條件時,系統只會考量報表日期範圍內的事件。

只有在條件範圍為 ACROSS_ALL_SESSIONS 時,才能指定 atAnyPointInTime,且無法在序列中指定。

如果條件範圍為 ACROSS_ALL_SESSIONS,則未指定時會使用 atAnyPointInTime = false。

SegmentEventFilter

建立篩選器,比對單一事件名稱的事件。如果指定參數篩選運算式,只有符合單一事件名稱和參數篩選運算式的事件子集,才會符合這個事件篩選器。

JSON 表示法
{
  "eventName": string,
  "segmentParameterFilterExpression": {
    object (SegmentParameterFilterExpression)
  }
}
欄位
eventName

string

這個篩選器會比對這個單一事件名稱的事件。必須輸入事件名稱。

segmentParameterFilterExpression

object (SegmentParameterFilterExpression)

如果指定了這項篩選器,系統會比對符合單一事件名稱和參數篩選器運算式的事件。

在參數篩選運算式中,只能使用參數篩選器。

SegmentParameterFilterExpression

表示參數的區隔篩選器組合。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "andGroup": {
    object (SegmentParameterFilterExpressionList)
  },
  "orGroup": {
    object (SegmentParameterFilterExpressionList)
  },
  "notExpression": {
    object (SegmentParameterFilterExpression)
  },
  "segmentParameterFilter": {
    object (SegmentParameterFilter)
  }
  // End of mutually exclusive fields.
}
欄位
為 SegmentParameterFilterExpression 指定一種篩選條件類型。以下列出互斥的欄位。回應中最多只會設定一個欄位:
andGroup

object (SegmentParameterFilterExpressionList)

andGroup 中的 SegmentParameterFilterExpression 具有 AND 關係。

orGroup

object (SegmentParameterFilterExpressionList)

orGroup 中的 SegmentParameterFilterExpression 具有 OR 關係。

notExpression

object (SegmentParameterFilterExpression)

SegmentParameterFilterExpression 不是 notExpression。

segmentParameterFilter

object (SegmentParameterFilter)

原始區隔參數篩選器。

互斥欄位的結尾。

SegmentParameterFilterExpressionList

區隔參數篩選運算式清單。

JSON 表示法
{
  "expressions": [
    {
      object (SegmentParameterFilterExpression)
    }
  ]
}
欄位
expressions[]

object (SegmentParameterFilterExpression)

區隔參數篩選運算式清單。

SegmentParameterFilter

用來篩選區隔中參數值的運算式。

JSON 表示法
{
  "filterScoping": {
    object (SegmentParameterFilterScoping)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "eventParameterName": string,
  "itemParameterName": string
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "stringFilter": {
    object (StringFilter)
  },
  "inListFilter": {
    object (InListFilter)
  },
  "numericFilter": {
    object (NumericFilter)
  },
  "betweenFilter": {
    object (BetweenFilter)
  }
  // End of mutually exclusive fields.
}
欄位
filterScoping

object (SegmentParameterFilterScoping)

指定篩選器的範圍。

要篩選的欄位。以下列出互斥的欄位。回應中最多只會設定一個欄位:
eventParameterName

string

系統會根據指定的事件參數評估這個篩選器。系統會將事件參數記錄為事件的參數。事件參數包括「firebase_screen」和「currency」等欄位。

事件參數只能用於區隔和漏斗,且只能用於 EventFilter 的後代篩選器。在 EventFilter 的後代篩選器中,應使用事件或項目參數。

itemParameterName

string

這個篩選器會評估指定的商品參數。系統會將商品參數記錄為商品陣列中的參數。項目參數包括「item_name」和「item_category」等欄位。

項目參數只能用於區隔和漏斗,且只能用於 EventFilter 的後代篩選器。在 EventFilter 的後代篩選器中,應使用事件或項目參數。

項目參數僅適用於電子商務事件。如要進一步瞭解電子商務事件,請參閱「評估電子商務」指南。

互斥欄位的結尾。
指定一種篩選條件。以下列出互斥的欄位。回應中最多只會設定一個欄位:
stringFilter

object (StringFilter)

與字串相關的篩選器。

inListFilter

object (InListFilter)

用於篩選清單中值的篩選器。

numericFilter

object (NumericFilter)

數字或日期值的篩選條件。

betweenFilter

object (BetweenFilter)

篩選介於兩個值之間的值。

互斥欄位的結尾。

SegmentParameterFilterScoping

範圍會指定評估區隔參數篩選器時,應如何考量多個事件。

JSON 表示法
{
  "inAnyNDayPeriod": string
}
欄位
inAnyNDayPeriod

string (int64 format)

在套用篩選器前,先在指定天數內累計參數。只有在條件範圍為 ACROSS_ALL_SESSIONS 或 WITHIN_SAME_SESSION 時才支援。僅在參數為 event_count 時支援。

舉例來說,如果 inAnyNDayPeriod 為 3,eventName 為「purchase」,事件參數為「event_count」,且篩選器的條件大於 5,這個篩選器就會在報表的日期範圍內,每隔 3 天累計購買事件的事件計數;如果使用者在任何 3 天內購買事件的計數超過 5,就會通過這個篩選器的條件,並納入這個區隔。例如:2021 年 11 月 1 日至 2021 年 11 月 3 日、2021 年 11 月 2 日至 2021 年 11 月 4 日、2021 年 11 月 3 日至 2021 年 11 月 5 日等。

日期範圍不會延長,目的是為了在日期範圍開始時,提供完整的 N 天時間範圍。舉例來說,如果報表的時間範圍是 2021 年 11 月 1 日至 2021 年 11 月 10 日,且 inAnyNDayPeriod = 3,則前兩天的時間範圍會縮短,因為系統不會讀取報表日期範圍以外的事件資料。舉例來說,前四個期間實際上會是:2021 年 11 月 1 日至 2021 年 11 月 1 日、2021 年 11 月 1 日至 2021 年 11 月 2 日、2021 年 11 月 1 日至 2021 年 11 月 3 日,以及 2021 年 11 月 2 日至 2021 年 11 月 4 日。

inAnyNDayPeriod 為選填欄位。如未指定,segmentParameterFilter系統會個別套用至每個事件。

UserSegmentSequenceGroup

定義使用者必須依特定順序符合的條件,才能成為區隔成員。

JSON 表示法
{
  "sequenceScoping": enum (UserCriteriaScoping),
  "sequenceMaximumDuration": string,
  "userSequenceSteps": [
    {
      object (UserSequenceStep)
    }
  ]
}
欄位
sequenceScoping

enum (UserCriteriaScoping)

使用者必須符合範圍內的所有序列步驟,才能與序列相符。舉例來說,如果 sequenceScoping = USER_CRITERIA_WITHIN_SAME_SESSION,使用者必須在一個工作階段內完成所有序列步驟,才能符合序列條件。我們不支援 sequenceScoping = USER_CRITERIA_WITHIN_SAME_EVENT。

(選用步驟) 如未指定,則會使用 conditionScoping = ACROSS_ALL_SESSIONS。

sequenceMaximumDuration

string (Duration format)

定義整個序列必須發生在哪個時間範圍內,例如 30 分鐘。sequenceMaximumDuration 包含微秒精細度的端點。舉例來說,如果序列長度上限為 5 秒,則可在 4.9 或 5.0 秒完成,但不能是 5 秒和 1 微秒。

sequenceMaximumDuration 為選用參數,如未指定,序列可在任何時間長度內完成。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"。

userSequenceSteps[]

object (UserSequenceStep)

條件步驟的排序序列。使用者的事件必須完成每個步驟,使用者才會符合 UserSegmentSequenceGroup。

UserSequenceStep

使用者必須符合的條件,且須按照指定步驟順序發生,才能符合序列。

JSON 表示法
{
  "isDirectlyFollowedBy": boolean,
  "stepScoping": enum (UserCriteriaScoping),
  "segmentFilterExpression": {
    object (SegmentFilterExpression)
  }
}
欄位
isDirectlyFollowedBy

boolean

如果為 true,則滿足這個步驟的事件必須是滿足上一個步驟的事件之後的下一個事件。如果為 false,表示這個步驟隨後間接跟著前一個步驟,例如前一個步驟和這個步驟之間可能還有其他事件。isDirectlyFollowedBy 在第一步必須為 false。

stepScoping

enum (UserCriteriaScoping)

使用者必須在範圍內滿足這個序列步驟,才能與序列相符。舉例來說,如果 sequenceScoping = WITHIN_SAME_SESSION,使用者必須在一個工作階段內完成這個序列的步驟,才能符合序列條件。只有在 sequenceScoping = ACROSS_ALL_SESSIONS 時,才能使用 stepScoping = ACROSS_ALL_SESSIONS。

(選用步驟) 如未指定,stepScoping 會使用與 sequenceScoping 相同的 UserCriteriaScoping。

segmentFilterExpression

object (SegmentFilterExpression)

如果使用者的事件符合這個運算式,就會符合這個序列步驟。運算式會根據維度、指標和/或參數表示條件。

UserSegmentExclusion

指定要從這個區隔排除的使用者。

JSON 表示法
{
  "userExclusionDuration": enum (UserExclusionDuration),
  "userExclusionCriteria": {
    object (UserSegmentCriteria)
  }
}
欄位
userExclusionDuration

enum (UserExclusionDuration)

指定使用者符合 userExclusionCriteria 時,排除條件的持續時間。

(選用步驟) 如未指定,則會使用 USER_EXCLUSION_TEMPORARY 的 userExclusionDuration。

userExclusionCriteria

object (UserSegmentCriteria)

如果使用者符合這項條件,系統就會在 userExclusionDuration內將該使用者從區隔成員中排除。

UserExclusionDuration

列舉使用者符合 userExclusionCriteria 時,排除時間長度的選項。

列舉
USER_EXCLUSION_DURATION_UNSPECIFIED 未指定排除時間長度。請勿指定。
USER_EXCLUSION_TEMPORARY 在使用者滿足userExclusionCriteria條件的期間,暫時將他們從區隔中排除。
USER_EXCLUSION_PERMANENT 如果使用者曾滿足userExclusionCriteria條件,則永久從區隔中排除。

SessionSegment

工作階段區隔是指在您網站/應用程式中發生的工作階段,例如來自特定廣告活動的所有工作階段。

JSON 表示法
{
  "sessionInclusionCriteria": {
    object (SessionSegmentCriteria)
  },
  "exclusion": {
    object (SessionSegmentExclusion)
  }
}
欄位
sessionInclusionCriteria

object (SessionSegmentCriteria)

定義這個區隔要納入哪些工作階段。選填。

exclusion

object (SessionSegmentExclusion)

定義要從這個區隔排除哪些工作階段。選填。

SessionSegmentCriteria

如果工作階段的事件符合條件中的條件,該工作階段就會符合條件。

JSON 表示法
{
  "andConditionGroups": [
    {
      object (SessionSegmentConditionGroup)
    }
  ]
}
欄位
andConditionGroups[]

object (SessionSegmentConditionGroup)

如果工作階段符合所有這些條件,即符合這項條件。andConditionGroups

SessionSegmentConditionGroup

條件可用來指定 Analytics 應納入或排除區隔中的哪些資料。

JSON 表示法
{
  "conditionScoping": enum (SessionCriteriaScoping),
  "segmentFilterExpression": {
    object (SegmentFilterExpression)
  }
}
欄位
conditionScoping

enum (SessionCriteriaScoping)

系統會根據資料是否符合條件群組,決定是否將資料納入區隔。這個範圍會定義 segmentFilterExpression 的評估事件數量,之後系統會判斷是否符合條件群組。舉例來說,如果 conditionScoping = SESSION_CRITERIA_WITHIN_SAME_SESSION,系統會評估工作階段中的所有事件,然後判斷這個工作階段是否符合條件群組。舉例來說,如果 conditionScoping = SESSION_CRITERIA_WITHIN_SAME_EVENT,系統會評估單一事件的運算式,然後判斷這個工作階段是否符合條件群組。

(選用步驟) 如未指定,則會使用 conditionScoping 的 WITHIN_SAME_SESSION。

segmentFilterExpression

object (SegmentFilterExpression)

系統會根據資料是否符合這個運算式,決定是否將資料納入區隔。運算式會根據維度、指標和/或參數表示條件。

SessionCriteriaScoping

範圍會指定評估工作階段是否符合條件時要考量的事件。

列舉
SESSION_CRITERIA_SCOPING_UNSPECIFIED 未指定條件範圍。請勿指定。
SESSION_CRITERIA_WITHIN_SAME_EVENT 如果單一事件符合條件,工作階段就會符合條件。
SESSION_CRITERIA_WITHIN_SAME_SESSION 如果工作階段內滿足條件,該工作階段即符合條件。

SessionSegmentExclusion

指定要從這個區隔排除哪些工作階段。

JSON 表示法
{
  "sessionExclusionDuration": enum (SessionExclusionDuration),
  "sessionExclusionCriteria": {
    object (SessionSegmentCriteria)
  }
}
欄位
sessionExclusionDuration

enum (SessionExclusionDuration)

指定工作階段與 sessionExclusionCriteria 相符時,排除條件的效期。

(選用步驟) 如未指定,則會使用 sessionExclusionDuration 的 SESSION_EXCLUSION_TEMPORARY。

sessionExclusionCriteria

object (SessionSegmentCriteria)

如果工作階段符合這項條件,系統會將該工作階段從 sessionExclusionDuration 的區隔成員資格中排除。

SessionExclusionDuration

列舉工作階段符合 sessionExclusionCriteria 時,排除條件的持續時間選項。

列舉
SESSION_EXCLUSION_DURATION_UNSPECIFIED 未指定排除時間長度。請勿指定。
SESSION_EXCLUSION_TEMPORARY 在工作階段符合sessionExclusionCriteria條件的期間,暫時將工作階段從區隔中排除。
SESSION_EXCLUSION_PERMANENT 如果工作階段曾滿足sessionExclusionCriteria條件,則永久從區隔中排除。

EventSegment

事件區隔是指在您網站/應用程式中觸發的事件,例如在特定位置進行的所有購買事件;或是在特定作業系統發生的 app_exception 事件。

JSON 表示法
{
  "eventInclusionCriteria": {
    object (EventSegmentCriteria)
  },
  "exclusion": {
    object (EventSegmentExclusion)
  }
}
欄位
eventInclusionCriteria

object (EventSegmentCriteria)

定義這個區隔包含哪些事件。選填。

exclusion

object (EventSegmentExclusion)

定義這個區隔中排除的事件。選填。

EventSegmentCriteria

如果事件符合條件中的條件,即符合條件。

JSON 表示法
{
  "andConditionGroups": [
    {
      object (EventSegmentConditionGroup)
    }
  ]
}
欄位
andConditionGroups[]

object (EventSegmentConditionGroup)

如果事件符合每個 andConditionGroups,就符合這項條件。

EventSegmentConditionGroup

條件可用來指定 Analytics 應納入或排除區隔中的哪些資料。

JSON 表示法
{
  "conditionScoping": enum (EventCriteriaScoping),
  "segmentFilterExpression": {
    object (SegmentFilterExpression)
  }
}
欄位
conditionScoping

enum (EventCriteriaScoping)

conditionScoping 應一律為 EVENT_CRITERIA_WITHIN_SAME_EVENT。

(選用步驟) 如未指定,則會使用 conditionScoping 的 EVENT_CRITERIA_WITHIN_SAME_EVENT。

segmentFilterExpression

object (SegmentFilterExpression)

系統會根據資料是否符合這個運算式,決定是否將資料納入區隔。運算式會根據維度、指標和/或參數表示條件。

EventCriteriaScoping

範圍會指定評估事件是否符合條件時要考量的事件。

列舉
EVENT_CRITERIA_SCOPING_UNSPECIFIED 未指定條件範圍。請勿指定。
EVENT_CRITERIA_WITHIN_SAME_EVENT 如果單一事件符合條件,該事件即符合條件。

EventSegmentExclusion

指定要從這個區隔排除哪些事件。

JSON 表示法
{
  "eventExclusionDuration": enum (EventExclusionDuration),
  "eventExclusionCriteria": {
    object (EventSegmentCriteria)
  }
}
欄位
eventExclusionDuration

enum (EventExclusionDuration)

eventExclusionDuration 應一律為 PERMANENTLY_EXCLUDE。

(選用步驟) 如未指定,則會使用 eventExclusionDuration 的 EVENT_EXCLUSION_PERMANENT。

eventExclusionCriteria

object (EventSegmentCriteria)

如果活動符合這項條件,系統會將活動從「eventExclusionDuration」的區隔成員中排除。

EventExclusionDuration

列舉事件符合 eventExclusionCriteria 時,排除時間長度的選項。

列舉
EVENT_EXCLUSION_DURATION_UNSPECIFIED 未指定排除時間長度。請勿指定。
EVENT_EXCLUSION_PERMANENT 如果事件曾滿足 eventExclusionCriteria 條件,則永久從區隔中排除。

FunnelSubReport

漏斗子報表包含維度和指標資料值。舉例來說,有 12 位使用者到達漏斗的第二個步驟。

JSON 表示法
{
  "dimensionHeaders": [
    {
      object (DimensionHeader)
    }
  ],
  "metricHeaders": [
    {
      object (MetricHeader)
    }
  ],
  "rows": [
    {
      object (Row)
    }
  ],
  "metadata": {
    object (FunnelResponseMetadata)
  }
}
欄位
dimensionHeaders[]

object (DimensionHeader)

說明維度資料欄。漏斗報表一律會在子報表回應中加入漏斗步驟維度。如果要求,回應中可能會提供其他維度,例如細目、日期和後續行動。

metricHeaders[]

object (MetricHeader)

說明指標資料欄。漏斗報表一律會在子報表回應中納入活躍使用者。漏斗表格包含其他指標,例如完成率、放棄次數和放棄率。

rows[]

object (Row)

報表中的維度值組合和指標值列。

metadata

object (FunnelResponseMetadata)

漏斗報表的中繼資料。

FunnelResponseMetadata

漏斗報表的回應中繼資料會提供漏斗報表的額外資訊。

JSON 表示法
{
  "samplingMetadatas": [
    {
      object (SamplingMetadata)
    }
  ]
}
欄位
samplingMetadatas[]

object (SamplingMetadata)

如果漏斗報表結果經過取樣,這項指標會說明漏斗報表使用的事件百分比。每個日期範圍都會填入一個 samplingMetadatas。每個 samplingMetadatas 都對應到要求中指定的日期範圍。

不過,如果結果未經過取樣,就不會定義這個欄位。