Method: properties.runFunnelReport

傳回 Google Analytics 事件資料的自訂漏斗報表。API 傳回的資料是表格,當中含有所要求維度和指標的欄。

「程序探索」會以視覺化方式呈現使用者完成某件事所採取的步驟,讓您迅速瞭解使用者完成或不完成各個步驟的情況,(比方說潛在客戶選購產品/服務及結帳的過程,以及光顧過一次的新客戶如何成為常客),接下來,您就能根據這些資料來改善效率不佳或遭客戶放棄的流程。詳情請參閱「GA4 漏斗探索」一文。

這種方法在 Alpha 版穩定性階段推出,用意是在進入 Beta 版前,先收集有關語法和功能的意見回饋。歡迎填寫 Google Analytics Data API 漏斗報表意見回饋,提出您對這個 API 的寶貴意見。

HTTP 要求

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

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

路徑參數

參數
property

string

選用設定。要追蹤事件的 Google Analytics GA4 資源 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_startclick) 建立資料列,並加總總數。

下一步僅支援「eventName」和大部分的網頁 / 畫面維度 (例如 pageTitlepagePath)。

funnelVisualizationType

enum (FunnelVisualizationType)

選用設定。漏斗視覺化類型會控制漏斗視覺呈現子報表回應中的維度。如未指定,則會使用 STANDARD_FUNNEL

segments[]

object (Segment)

選用設定。區隔的設定。區隔是資源資料的一部分。在包含區隔的漏斗報表中,系統會評估每個區隔中的漏斗。

此要求中指定的每個區段在回應中都會產生單獨的一列。回應中,每個區段皆以其名稱識別。

區隔參數為選用參數。請求最多可加入 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 表示法
{

  // Union field expr can be only one of the following:
  "andGroup": {
    object (FunnelFilterExpressionList)
  },
  "orGroup": {
    object (FunnelFilterExpressionList)
  },
  "notExpression": {
    object (FunnelFilterExpression)
  },
  "funnelFieldFilter": {
    object (FunnelFieldFilter)
  },
  "funnelEventFilter": {
    object (FunnelEventFilter)
  }
  // End of list of possible types for union field expr.
}
欄位
聯集欄位 expr。為 FunnelFilterExpression 指定一種篩選器類型。expr 只能採用下列其中一種設定:
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,

  // Union field one_filter can be only one of the following:
  "stringFilter": {
    object (StringFilter)
  },
  "inListFilter": {
    object (InListFilter)
  },
  "numericFilter": {
    object (NumericFilter)
  },
  "betweenFilter": {
    object (BetweenFilter)
  }
  // End of list of possible types for union field one_filter.
}
欄位
fieldName

string

維度名稱或指標名稱。

聯集欄位 one_filter。請指定一種篩選器類型。one_filter 只能是下列其中一項:
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 表示法
{

  // Union field expr can be only one of the following:
  "andGroup": {
    object (FunnelParameterFilterExpressionList)
  },
  "orGroup": {
    object (FunnelParameterFilterExpressionList)
  },
  "notExpression": {
    object (FunnelParameterFilterExpression)
  },
  "funnelParameterFilter": {
    object (FunnelParameterFilter)
  }
  // End of list of possible types for union field expr.
}
欄位
聯集欄位 expr。為 FunnelParameterFilterExpression 指定一種篩選器類型。expr 只能採用下列其中一種設定:
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 表示法
{

  // Union field one_parameter can be only one of the following:
  "eventParameterName": string,
  "itemParameterName": string
  // End of list of possible types for union field one_parameter.

  // Union field one_filter can be only one of the following:
  "stringFilter": {
    object (StringFilter)
  },
  "inListFilter": {
    object (InListFilter)
  },
  "numericFilter": {
    object (NumericFilter)
  },
  "betweenFilter": {
    object (BetweenFilter)
  }
  // End of list of possible types for union field one_filter.
}
欄位
聯集欄位 one_parameter。要篩選的欄位。one_parameter 只能是下列其中一項:
eventParameterName

string

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

事件參數只能用於區隔和程序,且只能用於 EventFilter 中的子系篩選器。在 EventFilter 的子系篩選器中,應使用事件或項目參數。

itemParameterName

string

這個篩選器會根據指定的項目參數評估。項目參數會在項目陣列中記錄為參數。項目參數包含「item_name」等欄位和「item_category」。

項目參數只能用於區隔和程序,且只能用於 EventFilter 中的子系篩選器。在 EventFilter 的子系篩選器中,應使用事件或項目參數。

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

聯集欄位 one_filter。請指定一種篩選器類型。one_filter 只能是下列其中一項:
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)

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

FunnelNextAction

下一個動作會在使用者完成步驟,但同一位使用者完成下一個步驟前,顯示某個維度的值。舉例來說,如果 nextActionDimensioneventName,則 i 漏斗步驟列中的 nextActionDimension 會在使用者完成第 i 個漏斗步驟、但在完成第 i+1 個漏斗步驟前完成的事件發生後,傳回第一個事件。

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

object (Dimension)

維度欄已新增至漏斗視覺呈現子報表回應。使用者完成第 i 個漏斗步驟後,下一個動作維度會傳回這個維度的下一個維度值。

nextActionDimension 目前只支援 eventName 和大多數的網頁 / 畫面維度,例如 pageTitlepagePathnextActionDimension 不能為維度運算式。

limit

string (int64 format)

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

FunnelVisualizationType

控制漏斗視覺呈現子報表回應中的維度。

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

區隔

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

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

JSON 表示法
{
  "name": string,

  // Union field one_segment_scope can be only one of the following:
  "userSegment": {
    object (UserSegment)
  },
  "sessionSegment": {
    object (SessionSegment)
  },
  "eventSegment": {
    object (EventSegment)
  }
  // End of list of possible types for union field one_segment_scope.
}
欄位
name

string

這個區隔的名稱。如果未指定,區隔將命名為「區隔」。這個名稱定義了 segment 維度傳回的字串值。segment 維度會在要求中以 1 為基礎的區隔索引號碼開頭 (例如「1.Segment", "2.區隔」等)。

聯集欄位 one_segment_scope。在單一範圍內指定區隔。one_segment_scope 只能是下列其中一項:
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,就符合這項條件。如果指定 andSequenceGroupsandConditionGroups 可以空白。

andSequenceGroups[]

object (UserSegmentSequenceGroup)

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

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 表示法
{

  // Union field expr can be only one of the following:
  "andGroup": {
    object (SegmentFilterExpressionList)
  },
  "orGroup": {
    object (SegmentFilterExpressionList)
  },
  "notExpression": {
    object (SegmentFilterExpression)
  },
  "segmentFilter": {
    object (SegmentFilter)
  },
  "segmentEventFilter": {
    object (SegmentEventFilter)
  }
  // End of list of possible types for union field expr.
}
欄位
聯集欄位 expr。為 SegmentFilterExpression 指定一種篩選器類型。expr 只能採用下列其中一種設定:
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)
  },

  // Union field one_filter can be only one of the following:
  "stringFilter": {
    object (StringFilter)
  },
  "inListFilter": {
    object (InListFilter)
  },
  "numericFilter": {
    object (NumericFilter)
  },
  "betweenFilter": {
    object (BetweenFilter)
  }
  // End of list of possible types for union field one_filter.
}
欄位
fieldName

string

維度名稱或指標名稱。

filterScoping

object (SegmentFilterScoping)

指定篩選器的範圍。

聯集欄位 one_filter。為 Filter 指定一種篩選器類型。one_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 表示法
{

  // Union field expr can be only one of the following:
  "andGroup": {
    object (SegmentParameterFilterExpressionList)
  },
  "orGroup": {
    object (SegmentParameterFilterExpressionList)
  },
  "notExpression": {
    object (SegmentParameterFilterExpression)
  },
  "segmentParameterFilter": {
    object (SegmentParameterFilter)
  }
  // End of list of possible types for union field expr.
}
欄位
聯集欄位 expr。為 SegmentParameterFilterExpression 指定一種篩選器類型。expr 只能採用下列其中一種設定:
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)
  },

  // Union field one_parameter can be only one of the following:
  "eventParameterName": string,
  "itemParameterName": string
  // End of list of possible types for union field one_parameter.

  // Union field one_filter can be only one of the following:
  "stringFilter": {
    object (StringFilter)
  },
  "inListFilter": {
    object (InListFilter)
  },
  "numericFilter": {
    object (NumericFilter)
  },
  "betweenFilter": {
    object (BetweenFilter)
  }
  // End of list of possible types for union field one_filter.
}
欄位
filterScoping

object (SegmentParameterFilterScoping)

指定篩選器的範圍。

聯集欄位 one_parameter。要篩選的欄位。one_parameter 只能是下列其中一項:
eventParameterName

string

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

事件參數只能用於區隔和程序,且只能用於 EventFilter 中的子系篩選器。在 EventFilter 的子系篩選器中,應使用事件或項目參數。

itemParameterName

string

這個篩選器會根據指定的項目參數評估。項目參數會在項目陣列中記錄為參數。項目參數包含「item_name」等欄位和「item_category」。

項目參數只能用於區隔和程序,且只能用於 EventFilter 中的子系篩選器。在 EventFilter 的子系篩選器中,應使用事件或項目參數。

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

聯集欄位 one_filter。請指定一種篩選器類型。one_filter 只能是下列其中一項:
stringFilter

object (StringFilter)

字串相關篩選器。

inListFilter

object (InListFilter)

清單值中的篩選器。

numericFilter

object (NumericFilter)

數字或日期值的篩選器。

betweenFilter

object (BetweenFilter)

用於兩個值的篩選器。

SegmentParameterFilterScoping

範圍指定在評估區隔參數篩選器時,應以何種方式考量多個事件。

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

string (int64 format)

請先在指定天數內完成參數,再套用篩選器。只有在條件範圍限定為 ACROSS_ALL_SESSIONSWITHIN_SAME_SESSION 時,系統才支援這個屬性。只有在參數是 event_count 時才會支援。

舉例來說,如果 inAnyNDayPeriod 為 3,eventName 為「purchase」,事件參數是「event_count」,而篩選條件的條件大於 5,則此篩選器會在報表日期範圍內,連續 3 天累積的購買事件數量;使用者連續 3 天的購買事件計數超過 5 時,就會通過此篩選器的條件,必須列入這個區隔。例如 2021-11-01 至 2021-11-03、2021-11-02 至 2021-11-04、2021-11-03 至 2021-11-05 等。

若要讓日期範圍開始接近完整 N 天,請不要延長日期範圍。舉例來說,如果報表是介於 2021-11-01 至 2021-11-10 之間,inAnyNDayPeriod = 3,則前 2 天的期間會縮短,因為系統不會讀取報表日期範圍以外的事件資料。例如,前四個期間實際上為:2021-11-01 至 2021-11-01、2021-11-01 至 2021-11-02、2021-11-01 至 2021-11-03 以及 2021-11-4021

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_TEMPORARYuserExclusionDuration

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,運算式會先評估單一事件,然後判斷該條件群組是否與這個工作階段相符。

選用設定。如果未指定,系統會使用 WITHIN_SAME_SESSIONconditionScoping

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 相符的情況下,排除條件的持續時間。

選用設定。如果未指定,系統會使用 SESSION_EXCLUSION_TEMPORARYsessionExclusionDuration

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

選用設定。如果未指定,系統會使用 EVENT_CRITERIA_WITHIN_SAME_EVENTconditionScoping

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

選用設定。如未指定,系統會使用 EVENT_EXCLUSION_PERMANENTeventExclusionDuration

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 都會按照要求中所指定日期範圍的順序對應到日期範圍。

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

SamplingMetadata

如果漏斗報表結果是經過取樣,這份中繼資料會說明這份漏斗報表中在特定日期範圍內使用的事件百分比。取樣是指藉由分析整體資料中的部分資料,從龐大的資料集中發掘出實用資訊。

JSON 表示法
{
  "samplesReadCount": string,
  "samplingSpaceSize": string
}
欄位
samplesReadCount

string (int64 format)

這份取樣報表在特定日期範圍內讀取的事件總數。這是指在漏斗報表中分析的這項資源子集資料。

samplingSpaceSize

string (int64 format)

在這份漏斗報表中,可供在這份漏斗報表中分析的事件總數。取樣能夠揭露較大的資料集相關實用資訊,這也是大型資料集的大小。

如要計算這份報表中使用的可用資料百分比,請計算 samplesReadCount/samplingSpaceSize

PropertyQuota

這個 Analytics 資源所有配額的目前狀態。如果資源的任何配額用盡,對該資源發出的所有要求都會傳回「資源用盡」錯誤。

JSON 表示法
{
  "tokensPerDay": {
    object (QuotaStatus)
  },
  "tokensPerHour": {
    object (QuotaStatus)
  },
  "concurrentRequests": {
    object (QuotaStatus)
  },
  "serverErrorsPerProjectPerHour": {
    object (QuotaStatus)
  },
  "potentiallyThresholdedRequestsPerHour": {
    object (QuotaStatus)
  },
  "tokensPerProjectPerHour": {
    object (QuotaStatus)
  }
}
欄位
tokensPerDay

object (QuotaStatus)

標準 Analytics 資源每天最多可使用 200,000 個符記;Analytics 360 資源每天可使用 2,000,000 個符記。大多數要求使用的符記數量不到 10 個。

tokensPerHour

object (QuotaStatus)

標準 Analytics 資源每小時最多可使用 40,000 個符記;Analytics 360 資源每小時可使用 400,000 個符記。API 要求會耗用單一數量的權杖,這個數量會從所有每小時、每日和每項專案的每小時配額中扣除。

concurrentRequests

object (QuotaStatus)

標準 Analytics 資源最多可同時傳送 10 個要求;Analytics 360 資源最多可使用 50 個並行要求。

serverErrorsPerProjectPerHour

object (QuotaStatus)

標準 Analytics 資源和雲端專案組合每小時最多可能 10 個伺服器錯誤;Analytics 360 資源和雲端專案組合每小時最多可有 50 個伺服器錯誤。

potentiallyThresholdedRequestsPerHour

object (QuotaStatus)

Analytics 資源每小時最多可傳送 120 個要求,且維度可能有閾值。在批次要求中,如果要求包含可能設有閾值的維度,則每項報表要求都會分別計入這個配額。

tokensPerProjectPerHour

object (QuotaStatus)

Analytics 資源每小時最多可以使用每項專案 35% 的權杖。如果是標準 Analytics 資源,每項專案每小時最多可使用 14,000 個權杖,而 Analytics 360 資源每小時則可使用每項專案 140,000 個權杖。API 要求會耗用單一數量的權杖,這個數量會從所有每小時、每日和每項專案的每小時配額中扣除。

QuotaStatus

特定配額群組的目前狀態。

JSON 表示法
{
  "consumed": integer,
  "remaining": integer
}
欄位
consumed

integer

此要求耗用的配額。

remaining

integer

此要求後剩餘的配額。