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 GA4 媒体资源标识符。在网址路径(而非正文)中指定。如需了解详情,请参阅在哪里可以找到您的媒体资源 ID。在批处理请求中,此属性应未指定或与批处理级属性一致。

示例:property/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 最多只能返回 25 万行。limit 必须为正数。

如果维度值没有 limit 那么多,API 返回的行数也可能少于所请求的 limit 行数。

dimensionFilter

object (FilterExpression)

可选。借助维度过滤条件,您可以只要求在报告中提供特定的维度值。如需了解详情,请参阅创建报告:维度过滤条件中的示例。此过滤条件中不能使用指标。

returnPropertyQuota

boolean

可选。切换是否返回此 Google 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)

此 Google 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 是可选的;如果未指定,则可以按任意时长来分隔各个步骤。

该时长以秒为单位,最多包含九个小数位,以“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 中的 FunnelFilter 表达式具有 AND 关系。

orGroup

object (FunnelFilterExpressionList)

orGroup 中的 FunnelFilter 表达式 为 OR 关系。

notExpression

object (FunnelFilterExpression)

FunnelFilter 表达式不是 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 中的 FunnelParametersFilter 表达式具有 AND 关系。

orGroup

object (FunnelParameterFilterExpressionList)

orGroup 中的 FunnelParametersFilter 表达式具有 OR 关系。

notExpression

object (FunnelParameterFilterExpression)

FunnelParametersFilter 表达式不是 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 参数评估此过滤条件。商品参数会作为参数记录在商品数组中。商品参数中包含“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 以及大多数网页 / 屏幕维度,例如 pageTitlepagePath。“nextActionDimension”不能为维度表达式。

limit

string (int64 format)

要在响应中返回的细分维度的最大不同值数量。如果未指定限制,则使用 5limit。限值必须大于 0 且不得超过 5。

FunnelVisualizationType

控制漏斗可视化图表子报告响应中显示的维度。

枚举
FUNNEL_VISUALIZATION_TYPE_UNSPECIFIED 未指定类型。
STANDARD_FUNNEL 标准(阶梯)漏斗。响应中的漏斗可视化子报告将不包含日期。
TRENDED_FUNNEL 显示趋势(折线图)的漏斗。响应中的漏斗可视化子报告将包含日期维度。

分割部分

“细分”是指您的一部分 Google 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.细分”、“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)

如果用户同时符合这些 andConditionGroupsandSequenceGroups,则也符合此条件。如果指定了 andSequenceGroups,则 andConditionGroups 可能为空。

andSequenceGroups[]

object (UserSegmentSequenceGroup)

如果用户同时符合这些 andSequenceGroupsandConditionGroups,则也符合此条件。如果指定了 andConditionGroups,则 andSequenceGroups 可能为空。

UserSegmentConditionGroup

条件用于指示 Google 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 中的 Segment 参数 Filter 表达式具有 AND 关系。

orGroup

object (SegmentParameterFilterExpressionList)

orGroup 中的 Segment 参数 Filter 表达式具有 OR 关系。

notExpression

object (SegmentParameterFilterExpression)

Segment 参数 Filter 表达式不是 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 参数评估此过滤条件。商品参数会作为参数记录在商品数组中。商品参数中包含“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 天发生的 purchase 事件数;如果用户在任意连续 3 天内的购买事件数超过 5,就符合此过滤器的条件,无法被包含在该细分受众群中。例如,将纳入 2021-11-01 至 2021-11-03、2021-11-02 至 2021-11-04、2021-11-03 至 2021-11-05 等时间段。

不为了让在日期范围的开始日期附近有整整 N 天的窗口期而扩展日期范围。例如,如果报告的日期范围为 2021 年 11 月 1 日至 2021 年 11 月 10 日,并且 inAnyNDayPeriod = 3,那么前两天的时间段将被有效缩短,因为系统不会读取报告日期范围以外的事件数据。例如,前四个时间段实际上将为:2021-11-01 至 2021-11-01、2021-11-01 至 2021-11-02、2021-11-01 至 2021-11-03 以及 2021-11-01-2021。

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 是可选的;如果未指定,则可以在任何时间段内完成序列。

该时长以秒为单位,最多包含九个小数位,以“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

条件用于指示 Google 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

条件用于指示 Google 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

此 Google Analytics 媒体资源所有配额的当前状态。如果某个媒体资源的任何配额已用尽,则向该媒体资源发出的所有请求都将返回“资源用尽”错误。

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

object (QuotaStatus)

标准 Google Analytics 媒体资源每天最多可以使用 20 万个令牌;Analytics 360 媒体资源每天可以使用 200 万个令牌。大部分请求消耗的令牌数都少于 10 个。

tokensPerHour

object (QuotaStatus)

标准 Google Analytics 媒体资源每小时最多可以使用 4 万个令牌;Analytics 360 媒体资源每小时可以使用 40 万个令牌。一个 API 请求消耗的令牌数量是固定的,系统会从所有每小时、每日和每个项目每小时的配额中扣除该数量。

concurrentRequests

object (QuotaStatus)

标准 Google Analytics 媒体资源最多可以发送 10 个并发请求;Analytics 360 媒体资源最多可以使用 50 个并发请求。

serverErrorsPerProjectPerHour

object (QuotaStatus)

标准 Analytics 媒体资源和云项目对每小时最多出现 10 个服务器错误;Analytics 360 媒体资源和云项目对每小时最多出现 50 个服务器错误。

potentiallyThresholdedRequestsPerHour

object (QuotaStatus)

Google Analytics 媒体资源每小时最多可以发送 120 个维度可能达到阈值的请求。在批量请求中,如果每个报告请求包含可能达到阈值的维度,则每个报告请求都会单独计入此配额。

tokensPerProjectPerHour

object (QuotaStatus)

每个项目每小时最多可使用 Google Analytics 媒体资源 35% 的令牌。标准 Google Analytics 媒体资源每小时最多可以使用 14,000 个令牌,而 Analytics 360 媒体资源每小时为每个项目可以使用 140,000 个令牌。一个 API 请求消耗的令牌数量是固定的,系统会从所有每小时、每日和每个项目每小时的配额中扣除该数量。

QuotaStatus

特定配额组的当前状态。

JSON 表示法
{
  "consumed": integer,
  "remaining": integer
}
字段
consumed

integer

此请求消耗的配额。

remaining

integer

此请求之后的剩余配额。