Enum value maps for RunFunnelReportRequest_FunnelVisualizationType.
var ( RunFunnelReportRequest_FunnelVisualizationType_name = map[int32]string{ 0: "FUNNEL_VISUALIZATION_TYPE_UNSPECIFIED", 1: "STANDARD_FUNNEL", 2: "TRENDED_FUNNEL", } RunFunnelReportRequest_FunnelVisualizationType_value = map[string]int32{ "FUNNEL_VISUALIZATION_TYPE_UNSPECIFIED": 0, "STANDARD_FUNNEL": 1, "TRENDED_FUNNEL": 2, } )
Enum value maps for UserCriteriaScoping.
var ( UserCriteriaScoping_name = map[int32]string{ 0: "USER_CRITERIA_SCOPING_UNSPECIFIED", 1: "USER_CRITERIA_WITHIN_SAME_EVENT", 2: "USER_CRITERIA_WITHIN_SAME_SESSION", 3: "USER_CRITERIA_ACROSS_ALL_SESSIONS", } UserCriteriaScoping_value = map[string]int32{ "USER_CRITERIA_SCOPING_UNSPECIFIED": 0, "USER_CRITERIA_WITHIN_SAME_EVENT": 1, "USER_CRITERIA_WITHIN_SAME_SESSION": 2, "USER_CRITERIA_ACROSS_ALL_SESSIONS": 3, } )
Enum value maps for UserExclusionDuration.
var ( UserExclusionDuration_name = map[int32]string{ 0: "USER_EXCLUSION_DURATION_UNSPECIFIED", 1: "USER_EXCLUSION_TEMPORARY", 2: "USER_EXCLUSION_PERMANENT", } UserExclusionDuration_value = map[string]int32{ "USER_EXCLUSION_DURATION_UNSPECIFIED": 0, "USER_EXCLUSION_TEMPORARY": 1, "USER_EXCLUSION_PERMANENT": 2, } )
Enum value maps for SessionCriteriaScoping.
var ( SessionCriteriaScoping_name = map[int32]string{ 0: "SESSION_CRITERIA_SCOPING_UNSPECIFIED", 1: "SESSION_CRITERIA_WITHIN_SAME_EVENT", 2: "SESSION_CRITERIA_WITHIN_SAME_SESSION", } SessionCriteriaScoping_value = map[string]int32{ "SESSION_CRITERIA_SCOPING_UNSPECIFIED": 0, "SESSION_CRITERIA_WITHIN_SAME_EVENT": 1, "SESSION_CRITERIA_WITHIN_SAME_SESSION": 2, } )
Enum value maps for SessionExclusionDuration.
var ( SessionExclusionDuration_name = map[int32]string{ 0: "SESSION_EXCLUSION_DURATION_UNSPECIFIED", 1: "SESSION_EXCLUSION_TEMPORARY", 2: "SESSION_EXCLUSION_PERMANENT", } SessionExclusionDuration_value = map[string]int32{ "SESSION_EXCLUSION_DURATION_UNSPECIFIED": 0, "SESSION_EXCLUSION_TEMPORARY": 1, "SESSION_EXCLUSION_PERMANENT": 2, } )
Enum value maps for EventCriteriaScoping.
var ( EventCriteriaScoping_name = map[int32]string{ 0: "EVENT_CRITERIA_SCOPING_UNSPECIFIED", 1: "EVENT_CRITERIA_WITHIN_SAME_EVENT", } EventCriteriaScoping_value = map[string]int32{ "EVENT_CRITERIA_SCOPING_UNSPECIFIED": 0, "EVENT_CRITERIA_WITHIN_SAME_EVENT": 1, } )
Enum value maps for EventExclusionDuration.
var ( EventExclusionDuration_name = map[int32]string{ 0: "EVENT_EXCLUSION_DURATION_UNSPECIFIED", 1: "EVENT_EXCLUSION_PERMANENT", } EventExclusionDuration_value = map[string]int32{ "EVENT_EXCLUSION_DURATION_UNSPECIFIED": 0, "EVENT_EXCLUSION_PERMANENT": 1, } )
Enum value maps for MetricType.
var ( MetricType_name = map[int32]string{ 0: "METRIC_TYPE_UNSPECIFIED", 1: "TYPE_INTEGER", 2: "TYPE_FLOAT", 4: "TYPE_SECONDS", 5: "TYPE_MILLISECONDS", 6: "TYPE_MINUTES", 7: "TYPE_HOURS", 8: "TYPE_STANDARD", 9: "TYPE_CURRENCY", 10: "TYPE_FEET", 11: "TYPE_MILES", 12: "TYPE_METERS", 13: "TYPE_KILOMETERS", } MetricType_value = map[string]int32{ "METRIC_TYPE_UNSPECIFIED": 0, "TYPE_INTEGER": 1, "TYPE_FLOAT": 2, "TYPE_SECONDS": 4, "TYPE_MILLISECONDS": 5, "TYPE_MINUTES": 6, "TYPE_HOURS": 7, "TYPE_STANDARD": 8, "TYPE_CURRENCY": 9, "TYPE_FEET": 10, "TYPE_MILES": 11, "TYPE_METERS": 12, "TYPE_KILOMETERS": 13, } )
Enum value maps for StringFilter_MatchType.
var ( StringFilter_MatchType_name = map[int32]string{ 0: "MATCH_TYPE_UNSPECIFIED", 1: "EXACT", 2: "BEGINS_WITH", 3: "ENDS_WITH", 4: "CONTAINS", 5: "FULL_REGEXP", 6: "PARTIAL_REGEXP", } StringFilter_MatchType_value = map[string]int32{ "MATCH_TYPE_UNSPECIFIED": 0, "EXACT": 1, "BEGINS_WITH": 2, "ENDS_WITH": 3, "CONTAINS": 4, "FULL_REGEXP": 5, "PARTIAL_REGEXP": 6, } )
Enum value maps for NumericFilter_Operation.
var ( NumericFilter_Operation_name = map[int32]string{ 0: "OPERATION_UNSPECIFIED", 1: "EQUAL", 2: "LESS_THAN", 3: "LESS_THAN_OR_EQUAL", 4: "GREATER_THAN", 5: "GREATER_THAN_OR_EQUAL", } NumericFilter_Operation_value = map[string]int32{ "OPERATION_UNSPECIFIED": 0, "EQUAL": 1, "LESS_THAN": 2, "LESS_THAN_OR_EQUAL": 3, "GREATER_THAN": 4, "GREATER_THAN_OR_EQUAL": 5, } )
var File_google_analytics_data_v1alpha_analytics_data_api_proto protoreflect.FileDescriptor
var File_google_analytics_data_v1alpha_data_proto protoreflect.FileDescriptor
func RegisterAlphaAnalyticsDataServer(s *grpc.Server, srv AlphaAnalyticsDataServer)
AlphaAnalyticsDataClient is the client API for AlphaAnalyticsData service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type AlphaAnalyticsDataClient interface { // Returns a customized funnel report of your Google Analytics event data. The // data returned from the API is as a table with columns for the requested // dimensions and metrics. // // Funnel exploration lets you visualize the steps your users take to complete // a task and quickly see how well they are succeeding or failing at each // step. For example, how do prospects become shoppers and then become buyers? // How do one time buyers become repeat buyers? With this information, you can // improve inefficient or abandoned customer journeys. To learn more, see [GA4 // Funnel Explorations](https://support.google.com/analytics/answer/9327974). RunFunnelReport(ctx context.Context, in *RunFunnelReportRequest, opts ...grpc.CallOption) (*RunFunnelReportResponse, error) }
func NewAlphaAnalyticsDataClient(cc grpc.ClientConnInterface) AlphaAnalyticsDataClient
AlphaAnalyticsDataServer is the server API for AlphaAnalyticsData service.
type AlphaAnalyticsDataServer interface { // Returns a customized funnel report of your Google Analytics event data. The // data returned from the API is as a table with columns for the requested // dimensions and metrics. // // Funnel exploration lets you visualize the steps your users take to complete // a task and quickly see how well they are succeeding or failing at each // step. For example, how do prospects become shoppers and then become buyers? // How do one time buyers become repeat buyers? With this information, you can // improve inefficient or abandoned customer journeys. To learn more, see [GA4 // Funnel Explorations](https://support.google.com/analytics/answer/9327974). RunFunnelReport(context.Context, *RunFunnelReportRequest) (*RunFunnelReportResponse, error) }
To express that the result needs to be between two numbers (inclusive).
type BetweenFilter struct { // Begins with this number. FromValue *NumericValue `protobuf:"bytes,1,opt,name=from_value,json=fromValue,proto3" json:"from_value,omitempty"` // Ends with this number. ToValue *NumericValue `protobuf:"bytes,2,opt,name=to_value,json=toValue,proto3" json:"to_value,omitempty"` // contains filtered or unexported fields }
func (*BetweenFilter) Descriptor() ([]byte, []int)
Deprecated: Use BetweenFilter.ProtoReflect.Descriptor instead.
func (x *BetweenFilter) GetFromValue() *NumericValue
func (x *BetweenFilter) GetToValue() *NumericValue
func (*BetweenFilter) ProtoMessage()
func (x *BetweenFilter) ProtoReflect() protoreflect.Message
func (x *BetweenFilter) Reset()
func (x *BetweenFilter) String() string
A contiguous set of days: startDate, startDate + 1, ..., endDate. Requests are allowed up to 4 date ranges.
type DateRange struct { // The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot // be after `end_date`. The format `NdaysAgo`, `yesterday`, or `today` is also // accepted, and in that case, the date is inferred based on the property's // reporting time zone. StartDate string `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` // The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot // be before `start_date`. The format `NdaysAgo`, `yesterday`, or `today` is // also accepted, and in that case, the date is inferred based on the // property's reporting time zone. EndDate string `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` // Assigns a name to this date range. The dimension `dateRange` is valued to // this name in a report response. If set, cannot begin with `date_range_` or // `RESERVED_`. If not set, date ranges are named by their zero based index in // the request: `date_range_0`, `date_range_1`, etc. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // contains filtered or unexported fields }
func (*DateRange) Descriptor() ([]byte, []int)
Deprecated: Use DateRange.ProtoReflect.Descriptor instead.
func (x *DateRange) GetEndDate() string
func (x *DateRange) GetName() string
func (x *DateRange) GetStartDate() string
func (*DateRange) ProtoMessage()
func (x *DateRange) ProtoReflect() protoreflect.Message
func (x *DateRange) Reset()
func (x *DateRange) String() string
Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be "Paris" or "New York".
type Dimension struct { // The name of the dimension. See the [API // Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) // for the list of dimension names. // // If `dimensionExpression` is specified, `name` can be any string that you // would like within the allowed character set. For example if a // `dimensionExpression` concatenates `country` and `city`, you could call // that dimension `countryAndCity`. Dimension names that you choose must match // the regular expression `^[a-zA-Z0-9_]$`. // // Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`, // `dimensionExpression`, and `pivots`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // One dimension can be the result of an expression of multiple dimensions. // For example, dimension "country, city": concatenate(country, ", ", city). DimensionExpression *DimensionExpression `protobuf:"bytes,2,opt,name=dimension_expression,json=dimensionExpression,proto3" json:"dimension_expression,omitempty"` // contains filtered or unexported fields }
func (*Dimension) Descriptor() ([]byte, []int)
Deprecated: Use Dimension.ProtoReflect.Descriptor instead.
func (x *Dimension) GetDimensionExpression() *DimensionExpression
func (x *Dimension) GetName() string
func (*Dimension) ProtoMessage()
func (x *Dimension) ProtoReflect() protoreflect.Message
func (x *Dimension) Reset()
func (x *Dimension) String() string
Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2).
type DimensionExpression struct { // Specify one type of dimension expression for `DimensionExpression`. // // Types that are assignable to OneExpression: // *DimensionExpression_LowerCase // *DimensionExpression_UpperCase // *DimensionExpression_Concatenate OneExpression isDimensionExpression_OneExpression `protobuf_oneof:"one_expression"` // contains filtered or unexported fields }
func (*DimensionExpression) Descriptor() ([]byte, []int)
Deprecated: Use DimensionExpression.ProtoReflect.Descriptor instead.
func (x *DimensionExpression) GetConcatenate() *DimensionExpression_ConcatenateExpression
func (x *DimensionExpression) GetLowerCase() *DimensionExpression_CaseExpression
func (m *DimensionExpression) GetOneExpression() isDimensionExpression_OneExpression
func (x *DimensionExpression) GetUpperCase() *DimensionExpression_CaseExpression
func (*DimensionExpression) ProtoMessage()
func (x *DimensionExpression) ProtoReflect() protoreflect.Message
func (x *DimensionExpression) Reset()
func (x *DimensionExpression) String() string
Used to convert a dimension value to a single case.
type DimensionExpression_CaseExpression struct { // Name of a dimension. The name must refer back to a name in dimensions // field of the request. DimensionName string `protobuf:"bytes,1,opt,name=dimension_name,json=dimensionName,proto3" json:"dimension_name,omitempty"` // contains filtered or unexported fields }
func (*DimensionExpression_CaseExpression) Descriptor() ([]byte, []int)
Deprecated: Use DimensionExpression_CaseExpression.ProtoReflect.Descriptor instead.
func (x *DimensionExpression_CaseExpression) GetDimensionName() string
func (*DimensionExpression_CaseExpression) ProtoMessage()
func (x *DimensionExpression_CaseExpression) ProtoReflect() protoreflect.Message
func (x *DimensionExpression_CaseExpression) Reset()
func (x *DimensionExpression_CaseExpression) String() string
type DimensionExpression_Concatenate struct { // Used to combine dimension values to a single dimension. // For example, dimension "country, city": concatenate(country, ", ", city). Concatenate *DimensionExpression_ConcatenateExpression `protobuf:"bytes,6,opt,name=concatenate,proto3,oneof"` }
Used to combine dimension values to a single dimension.
type DimensionExpression_ConcatenateExpression struct { // Names of dimensions. The names must refer back to names in the dimensions // field of the request. DimensionNames []string `protobuf:"bytes,1,rep,name=dimension_names,json=dimensionNames,proto3" json:"dimension_names,omitempty"` // The delimiter placed between dimension names. // // Delimiters are often single characters such as "|" or "," but can be // longer strings. If a dimension value contains the delimiter, both will be // present in response with no distinction. For example if dimension 1 value // = "US,FR", dimension 2 value = "JP", and delimiter = ",", then the // response will contain "US,FR,JP". Delimiter string `protobuf:"bytes,2,opt,name=delimiter,proto3" json:"delimiter,omitempty"` // contains filtered or unexported fields }
func (*DimensionExpression_ConcatenateExpression) Descriptor() ([]byte, []int)
Deprecated: Use DimensionExpression_ConcatenateExpression.ProtoReflect.Descriptor instead.
func (x *DimensionExpression_ConcatenateExpression) GetDelimiter() string
func (x *DimensionExpression_ConcatenateExpression) GetDimensionNames() []string
func (*DimensionExpression_ConcatenateExpression) ProtoMessage()
func (x *DimensionExpression_ConcatenateExpression) ProtoReflect() protoreflect.Message
func (x *DimensionExpression_ConcatenateExpression) Reset()
func (x *DimensionExpression_ConcatenateExpression) String() string
type DimensionExpression_LowerCase struct { // Used to convert a dimension value to lower case. LowerCase *DimensionExpression_CaseExpression `protobuf:"bytes,4,opt,name=lower_case,json=lowerCase,proto3,oneof"` }
type DimensionExpression_UpperCase struct { // Used to convert a dimension value to upper case. UpperCase *DimensionExpression_CaseExpression `protobuf:"bytes,5,opt,name=upper_case,json=upperCase,proto3,oneof"` }
Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns in a report; correspondingly, those dimensions do not produce headers.
type DimensionHeader struct { // The dimension's name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // contains filtered or unexported fields }
func (*DimensionHeader) Descriptor() ([]byte, []int)
Deprecated: Use DimensionHeader.ProtoReflect.Descriptor instead.
func (x *DimensionHeader) GetName() string
func (*DimensionHeader) ProtoMessage()
func (x *DimensionHeader) ProtoReflect() protoreflect.Message
func (x *DimensionHeader) Reset()
func (x *DimensionHeader) String() string
The value of a dimension.
type DimensionValue struct { // One kind of dimension value // // Types that are assignable to OneValue: // *DimensionValue_Value OneValue isDimensionValue_OneValue `protobuf_oneof:"one_value"` // contains filtered or unexported fields }
func (*DimensionValue) Descriptor() ([]byte, []int)
Deprecated: Use DimensionValue.ProtoReflect.Descriptor instead.
func (m *DimensionValue) GetOneValue() isDimensionValue_OneValue
func (x *DimensionValue) GetValue() string
func (*DimensionValue) ProtoMessage()
func (x *DimensionValue) ProtoReflect() protoreflect.Message
func (x *DimensionValue) Reset()
func (x *DimensionValue) String() string
type DimensionValue_Value struct { // Value as a string if the dimension type is a string. Value string `protobuf:"bytes,1,opt,name=value,proto3,oneof"` }
Scoping specifies which events are considered when evaluating if an event meets a criteria.
type EventCriteriaScoping int32
const ( // Unspecified criteria scoping. Do not specify. EventCriteriaScoping_EVENT_CRITERIA_SCOPING_UNSPECIFIED EventCriteriaScoping = 0 // If the criteria is satisfied within one event, the event matches the // criteria. EventCriteriaScoping_EVENT_CRITERIA_WITHIN_SAME_EVENT EventCriteriaScoping = 1 )
func (EventCriteriaScoping) Descriptor() protoreflect.EnumDescriptor
func (x EventCriteriaScoping) Enum() *EventCriteriaScoping
func (EventCriteriaScoping) EnumDescriptor() ([]byte, []int)
Deprecated: Use EventCriteriaScoping.Descriptor instead.
func (x EventCriteriaScoping) Number() protoreflect.EnumNumber
func (x EventCriteriaScoping) String() string
func (EventCriteriaScoping) Type() protoreflect.EnumType
Enumerates options for how long an exclusion will last if an event matches the `eventExclusionCriteria`.
type EventExclusionDuration int32
const ( // Unspecified exclusion duration. Do not specify. EventExclusionDuration_EVENT_EXCLUSION_DURATION_UNSPECIFIED EventExclusionDuration = 0 // Permanently exclude events from the segment if the event ever meets // the `eventExclusionCriteria` condition. EventExclusionDuration_EVENT_EXCLUSION_PERMANENT EventExclusionDuration = 1 )
func (EventExclusionDuration) Descriptor() protoreflect.EnumDescriptor
func (x EventExclusionDuration) Enum() *EventExclusionDuration
func (EventExclusionDuration) EnumDescriptor() ([]byte, []int)
Deprecated: Use EventExclusionDuration.Descriptor instead.
func (x EventExclusionDuration) Number() protoreflect.EnumNumber
func (x EventExclusionDuration) String() string
func (EventExclusionDuration) Type() protoreflect.EnumType
Event segments are subsets of events that were triggered on your site or app. for example, all purchase events made in a particular location; app_exception events that occurred on a specific operating system.
type EventSegment struct { // Defines which events are included in this segment. Optional. EventInclusionCriteria *EventSegmentCriteria `protobuf:"bytes,1,opt,name=event_inclusion_criteria,json=eventInclusionCriteria,proto3" json:"event_inclusion_criteria,omitempty"` // Defines which events are excluded in this segment. Optional. Exclusion *EventSegmentExclusion `protobuf:"bytes,2,opt,name=exclusion,proto3" json:"exclusion,omitempty"` // contains filtered or unexported fields }
func (*EventSegment) Descriptor() ([]byte, []int)
Deprecated: Use EventSegment.ProtoReflect.Descriptor instead.
func (x *EventSegment) GetEventInclusionCriteria() *EventSegmentCriteria
func (x *EventSegment) GetExclusion() *EventSegmentExclusion
func (*EventSegment) ProtoMessage()
func (x *EventSegment) ProtoReflect() protoreflect.Message
func (x *EventSegment) Reset()
func (x *EventSegment) String() string
Conditions tell Analytics what data to include in or exclude from the segment.
type EventSegmentConditionGroup struct { // `conditionScoping` should always be `EVENT_CRITERIA_WITHIN_SAME_EVENT`. // // Optional. If unspecified, a `conditionScoping` of // `EVENT_CRITERIA_WITHIN_SAME_EVENT` is used. ConditionScoping EventCriteriaScoping `protobuf:"varint,1,opt,name=condition_scoping,json=conditionScoping,proto3,enum=google.analytics.data.v1alpha.EventCriteriaScoping" json:"condition_scoping,omitempty"` // Data is included or excluded from the segment based on if it matches // this expression. Expressions express criteria on dimension, metrics, // and/or parameters. SegmentFilterExpression *SegmentFilterExpression `protobuf:"bytes,2,opt,name=segment_filter_expression,json=segmentFilterExpression,proto3" json:"segment_filter_expression,omitempty"` // contains filtered or unexported fields }
func (*EventSegmentConditionGroup) Descriptor() ([]byte, []int)
Deprecated: Use EventSegmentConditionGroup.ProtoReflect.Descriptor instead.
func (x *EventSegmentConditionGroup) GetConditionScoping() EventCriteriaScoping
func (x *EventSegmentConditionGroup) GetSegmentFilterExpression() *SegmentFilterExpression
func (*EventSegmentConditionGroup) ProtoMessage()
func (x *EventSegmentConditionGroup) ProtoReflect() protoreflect.Message
func (x *EventSegmentConditionGroup) Reset()
func (x *EventSegmentConditionGroup) String() string
An event matches a criteria if the event meet the conditions in the criteria.
type EventSegmentCriteria struct { // An event matches this criteria if the event matches each of these // `andConditionGroups`. AndConditionGroups []*EventSegmentConditionGroup `protobuf:"bytes,1,rep,name=and_condition_groups,json=andConditionGroups,proto3" json:"and_condition_groups,omitempty"` // contains filtered or unexported fields }
func (*EventSegmentCriteria) Descriptor() ([]byte, []int)
Deprecated: Use EventSegmentCriteria.ProtoReflect.Descriptor instead.
func (x *EventSegmentCriteria) GetAndConditionGroups() []*EventSegmentConditionGroup
func (*EventSegmentCriteria) ProtoMessage()
func (x *EventSegmentCriteria) ProtoReflect() protoreflect.Message
func (x *EventSegmentCriteria) Reset()
func (x *EventSegmentCriteria) String() string
Specifies which events are excluded in this segment.
type EventSegmentExclusion struct { // `eventExclusionDuration` should always be `PERMANENTLY_EXCLUDE`. // // Optional. If unspecified, an `eventExclusionDuration` of // `EVENT_EXCLUSION_PERMANENT` is used. EventExclusionDuration EventExclusionDuration `protobuf:"varint,1,opt,name=event_exclusion_duration,json=eventExclusionDuration,proto3,enum=google.analytics.data.v1alpha.EventExclusionDuration" json:"event_exclusion_duration,omitempty"` // If an event meets this condition, the event is excluded from membership // in the segment for the `eventExclusionDuration`. EventExclusionCriteria *EventSegmentCriteria `protobuf:"bytes,2,opt,name=event_exclusion_criteria,json=eventExclusionCriteria,proto3" json:"event_exclusion_criteria,omitempty"` // contains filtered or unexported fields }
func (*EventSegmentExclusion) Descriptor() ([]byte, []int)
Deprecated: Use EventSegmentExclusion.ProtoReflect.Descriptor instead.
func (x *EventSegmentExclusion) GetEventExclusionCriteria() *EventSegmentCriteria
func (x *EventSegmentExclusion) GetEventExclusionDuration() EventExclusionDuration
func (*EventSegmentExclusion) ProtoMessage()
func (x *EventSegmentExclusion) ProtoReflect() protoreflect.Message
func (x *EventSegmentExclusion) Reset()
func (x *EventSegmentExclusion) String() string
An expression to filter dimension or metric values.
type Filter struct { // The dimension name or metric name. Must be a name defined in dimensions // or metrics. FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` // Specify one type of filter for `Filter`. // // Types that are assignable to OneFilter: // *Filter_StringFilter // *Filter_InListFilter // *Filter_NumericFilter // *Filter_BetweenFilter OneFilter isFilter_OneFilter `protobuf_oneof:"one_filter"` // contains filtered or unexported fields }
func (*Filter) Descriptor() ([]byte, []int)
Deprecated: Use Filter.ProtoReflect.Descriptor instead.
func (x *Filter) GetBetweenFilter() *BetweenFilter
func (x *Filter) GetFieldName() string
func (x *Filter) GetInListFilter() *InListFilter
func (x *Filter) GetNumericFilter() *NumericFilter
func (m *Filter) GetOneFilter() isFilter_OneFilter
func (x *Filter) GetStringFilter() *StringFilter
func (*Filter) ProtoMessage()
func (x *Filter) ProtoReflect() protoreflect.Message
func (x *Filter) Reset()
func (x *Filter) String() string
To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics.
type FilterExpression struct { // Specify one type of filter expression for `FilterExpression`. // // Types that are assignable to Expr: // *FilterExpression_AndGroup // *FilterExpression_OrGroup // *FilterExpression_NotExpression // *FilterExpression_Filter Expr isFilterExpression_Expr `protobuf_oneof:"expr"` // contains filtered or unexported fields }
func (*FilterExpression) Descriptor() ([]byte, []int)
Deprecated: Use FilterExpression.ProtoReflect.Descriptor instead.
func (x *FilterExpression) GetAndGroup() *FilterExpressionList
func (m *FilterExpression) GetExpr() isFilterExpression_Expr
func (x *FilterExpression) GetFilter() *Filter
func (x *FilterExpression) GetNotExpression() *FilterExpression
func (x *FilterExpression) GetOrGroup() *FilterExpressionList
func (*FilterExpression) ProtoMessage()
func (x *FilterExpression) ProtoReflect() protoreflect.Message
func (x *FilterExpression) Reset()
func (x *FilterExpression) String() string
A list of filter expressions.
type FilterExpressionList struct { // A list of filter expressions. Expressions []*FilterExpression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"` // contains filtered or unexported fields }
func (*FilterExpressionList) Descriptor() ([]byte, []int)
Deprecated: Use FilterExpressionList.ProtoReflect.Descriptor instead.
func (x *FilterExpressionList) GetExpressions() []*FilterExpression
func (*FilterExpressionList) ProtoMessage()
func (x *FilterExpressionList) ProtoReflect() protoreflect.Message
func (x *FilterExpressionList) Reset()
func (x *FilterExpressionList) String() string
type FilterExpression_AndGroup struct { // The FilterExpressions in and_group have an AND relationship. AndGroup *FilterExpressionList `protobuf:"bytes,1,opt,name=and_group,json=andGroup,proto3,oneof"` }
type FilterExpression_Filter struct { // A primitive filter. In the same FilterExpression, all of the filter's // field names need to be either all dimensions or all metrics. Filter *Filter `protobuf:"bytes,4,opt,name=filter,proto3,oneof"` }
type FilterExpression_NotExpression struct { // The FilterExpression is NOT of not_expression. NotExpression *FilterExpression `protobuf:"bytes,3,opt,name=not_expression,json=notExpression,proto3,oneof"` }
type FilterExpression_OrGroup struct { // The FilterExpressions in or_group have an OR relationship. OrGroup *FilterExpressionList `protobuf:"bytes,2,opt,name=or_group,json=orGroup,proto3,oneof"` }
type Filter_BetweenFilter struct { // A filter for between two values. BetweenFilter *BetweenFilter `protobuf:"bytes,5,opt,name=between_filter,json=betweenFilter,proto3,oneof"` }
type Filter_InListFilter struct { // A filter for in list values. InListFilter *InListFilter `protobuf:"bytes,3,opt,name=in_list_filter,json=inListFilter,proto3,oneof"` }
type Filter_NumericFilter struct { // A filter for numeric or date values. NumericFilter *NumericFilter `protobuf:"bytes,4,opt,name=numeric_filter,json=numericFilter,proto3,oneof"` }
type Filter_StringFilter struct { // Strings related filter. StringFilter *StringFilter `protobuf:"bytes,2,opt,name=string_filter,json=stringFilter,proto3,oneof"` }
Configures the funnel in a funnel report request. A funnel reports on users as they pass through a sequence of steps.
Funnel exploration lets you visualize the steps your users take to complete a task and quickly see how well they are succeeding or failing at each step. For example, how do prospects become shoppers and then become buyers? How do one time buyers become repeat buyers? With this information, you can improve inefficient or abandoned customer journeys.
type Funnel struct { // In an open funnel, users can enter the funnel in any step, and in a closed // funnel, users must enter the funnel in the first step. Optional. If // unspecified, a closed funnel is used. IsOpenFunnel bool `protobuf:"varint,1,opt,name=is_open_funnel,json=isOpenFunnel,proto3" json:"is_open_funnel,omitempty"` // The sequential steps of this funnel. Steps []*FunnelStep `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"` // contains filtered or unexported fields }
func (*Funnel) Descriptor() ([]byte, []int)
Deprecated: Use Funnel.ProtoReflect.Descriptor instead.
func (x *Funnel) GetIsOpenFunnel() bool
func (x *Funnel) GetSteps() []*FunnelStep
func (*Funnel) ProtoMessage()
func (x *Funnel) ProtoReflect() protoreflect.Message
func (x *Funnel) Reset()
func (x *Funnel) String() string
Breakdowns add a dimension to the funnel table sub report response.
type FunnelBreakdown struct { // The dimension column added to the funnel table sub report response. The // breakdown dimension breaks down each funnel step. A valid // `breakdownDimension` is required if `funnelBreakdown` is specified. BreakdownDimension *Dimension `protobuf:"bytes,1,opt,name=breakdown_dimension,json=breakdownDimension,proto3" json:"breakdown_dimension,omitempty"` // The maximum number of distinct values of the breakdown dimension to return // in the response. A `limit` of `5` is used if limit is not specified. Limit // must exceed zero and cannot exceed 15. Limit *int64 `protobuf:"varint,2,opt,name=limit,proto3,oneof" json:"limit,omitempty"` // contains filtered or unexported fields }
func (*FunnelBreakdown) Descriptor() ([]byte, []int)
Deprecated: Use FunnelBreakdown.ProtoReflect.Descriptor instead.
func (x *FunnelBreakdown) GetBreakdownDimension() *Dimension
func (x *FunnelBreakdown) GetLimit() int64
func (*FunnelBreakdown) ProtoMessage()
func (x *FunnelBreakdown) ProtoReflect() protoreflect.Message
func (x *FunnelBreakdown) Reset()
func (x *FunnelBreakdown) String() string
Creates a filter that matches events of a single event name. If a parameter filter expression is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter.
type FunnelEventFilter struct { // This filter matches events of this single event name. Event name is // required. EventName *string `protobuf:"bytes,1,opt,name=event_name,json=eventName,proto3,oneof" json:"event_name,omitempty"` // If specified, this filter matches events that match both the single event // name and the parameter filter expressions. // // Inside the parameter filter expression, only parameter filters are // available. FunnelParameterFilterExpression *FunnelParameterFilterExpression `protobuf:"bytes,2,opt,name=funnel_parameter_filter_expression,json=funnelParameterFilterExpression,proto3,oneof" json:"funnel_parameter_filter_expression,omitempty"` // contains filtered or unexported fields }
func (*FunnelEventFilter) Descriptor() ([]byte, []int)
Deprecated: Use FunnelEventFilter.ProtoReflect.Descriptor instead.
func (x *FunnelEventFilter) GetEventName() string
func (x *FunnelEventFilter) GetFunnelParameterFilterExpression() *FunnelParameterFilterExpression
func (*FunnelEventFilter) ProtoMessage()
func (x *FunnelEventFilter) ProtoReflect() protoreflect.Message
func (x *FunnelEventFilter) Reset()
func (x *FunnelEventFilter) String() string
An expression to filter dimension or metric values.
type FunnelFieldFilter struct { // The dimension name or metric name. FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` // Specify one type of filter. // // Types that are assignable to OneFilter: // *FunnelFieldFilter_StringFilter // *FunnelFieldFilter_InListFilter // *FunnelFieldFilter_NumericFilter // *FunnelFieldFilter_BetweenFilter OneFilter isFunnelFieldFilter_OneFilter `protobuf_oneof:"one_filter"` // contains filtered or unexported fields }
func (*FunnelFieldFilter) Descriptor() ([]byte, []int)
Deprecated: Use FunnelFieldFilter.ProtoReflect.Descriptor instead.
func (x *FunnelFieldFilter) GetBetweenFilter() *BetweenFilter
func (x *FunnelFieldFilter) GetFieldName() string
func (x *FunnelFieldFilter) GetInListFilter() *InListFilter
func (x *FunnelFieldFilter) GetNumericFilter() *NumericFilter
func (m *FunnelFieldFilter) GetOneFilter() isFunnelFieldFilter_OneFilter
func (x *FunnelFieldFilter) GetStringFilter() *StringFilter
func (*FunnelFieldFilter) ProtoMessage()
func (x *FunnelFieldFilter) ProtoReflect() protoreflect.Message
func (x *FunnelFieldFilter) Reset()
func (x *FunnelFieldFilter) String() string
type FunnelFieldFilter_BetweenFilter struct { // A filter for between two values. BetweenFilter *BetweenFilter `protobuf:"bytes,7,opt,name=between_filter,json=betweenFilter,proto3,oneof"` }
type FunnelFieldFilter_InListFilter struct { // A filter for in list values. InListFilter *InListFilter `protobuf:"bytes,5,opt,name=in_list_filter,json=inListFilter,proto3,oneof"` }
type FunnelFieldFilter_NumericFilter struct { // A filter for numeric or date values. NumericFilter *NumericFilter `protobuf:"bytes,6,opt,name=numeric_filter,json=numericFilter,proto3,oneof"` }
type FunnelFieldFilter_StringFilter struct { // Strings related filter. StringFilter *StringFilter `protobuf:"bytes,4,opt,name=string_filter,json=stringFilter,proto3,oneof"` }
Expresses combinations of funnel filters.
type FunnelFilterExpression struct { // Specify one type of filter for `FunnelFilterExpression`. // // Types that are assignable to Expr: // *FunnelFilterExpression_AndGroup // *FunnelFilterExpression_OrGroup // *FunnelFilterExpression_NotExpression // *FunnelFilterExpression_FunnelFieldFilter // *FunnelFilterExpression_FunnelEventFilter Expr isFunnelFilterExpression_Expr `protobuf_oneof:"expr"` // contains filtered or unexported fields }
func (*FunnelFilterExpression) Descriptor() ([]byte, []int)
Deprecated: Use FunnelFilterExpression.ProtoReflect.Descriptor instead.
func (x *FunnelFilterExpression) GetAndGroup() *FunnelFilterExpressionList
func (m *FunnelFilterExpression) GetExpr() isFunnelFilterExpression_Expr
func (x *FunnelFilterExpression) GetFunnelEventFilter() *FunnelEventFilter
func (x *FunnelFilterExpression) GetFunnelFieldFilter() *FunnelFieldFilter
func (x *FunnelFilterExpression) GetNotExpression() *FunnelFilterExpression
func (x *FunnelFilterExpression) GetOrGroup() *FunnelFilterExpressionList
func (*FunnelFilterExpression) ProtoMessage()
func (x *FunnelFilterExpression) ProtoReflect() protoreflect.Message
func (x *FunnelFilterExpression) Reset()
func (x *FunnelFilterExpression) String() string
A list of funnel filter expressions.
type FunnelFilterExpressionList struct { // The list of funnel filter expressions. Expressions []*FunnelFilterExpression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"` // contains filtered or unexported fields }
func (*FunnelFilterExpressionList) Descriptor() ([]byte, []int)
Deprecated: Use FunnelFilterExpressionList.ProtoReflect.Descriptor instead.
func (x *FunnelFilterExpressionList) GetExpressions() []*FunnelFilterExpression
func (*FunnelFilterExpressionList) ProtoMessage()
func (x *FunnelFilterExpressionList) ProtoReflect() protoreflect.Message
func (x *FunnelFilterExpressionList) Reset()
func (x *FunnelFilterExpressionList) String() string
type FunnelFilterExpression_AndGroup struct { // The FunnelFilterExpression in `andGroup` have an AND relationship. AndGroup *FunnelFilterExpressionList `protobuf:"bytes,1,opt,name=and_group,json=andGroup,proto3,oneof"` }
type FunnelFilterExpression_FunnelEventFilter struct { // Creates a filter that matches events of a single event name. If a // parameter filter expression is specified, only the subset of events that // match both the single event name and the parameter filter expressions // match this event filter. FunnelEventFilter *FunnelEventFilter `protobuf:"bytes,5,opt,name=funnel_event_filter,json=funnelEventFilter,proto3,oneof"` }
type FunnelFilterExpression_FunnelFieldFilter struct { // A funnel filter for a dimension or metric. FunnelFieldFilter *FunnelFieldFilter `protobuf:"bytes,4,opt,name=funnel_field_filter,json=funnelFieldFilter,proto3,oneof"` }
type FunnelFilterExpression_NotExpression struct { // The FunnelFilterExpression is NOT of `notExpression`. NotExpression *FunnelFilterExpression `protobuf:"bytes,3,opt,name=not_expression,json=notExpression,proto3,oneof"` }
type FunnelFilterExpression_OrGroup struct { // The FunnelFilterExpression in `orGroup` have an OR relationship. OrGroup *FunnelFilterExpressionList `protobuf:"bytes,2,opt,name=or_group,json=orGroup,proto3,oneof"` }
Next actions state the value for a dimension after the user has achieved a step but before the same user has achieved the next step. For example if the `nextActionDimension` is `eventName`, then `nextActionDimension` in the `i`th funnel step row will return first event after the event that qualified the user into the `i`th funnel step but before the user achieved the `i+1`th funnel step.
type FunnelNextAction struct { // The dimension column added to the funnel visualization sub report response. // The next action dimension returns the next dimension value of this // dimension after the user has attained the `i`th funnel step. // // `nextActionDimension` currently only supports `eventName` and most Page / // Screen dimensions like `pageTitle` and `pagePath`. `nextActionDimension` // cannot be a dimension expression. NextActionDimension *Dimension `protobuf:"bytes,1,opt,name=next_action_dimension,json=nextActionDimension,proto3" json:"next_action_dimension,omitempty"` // The maximum number of distinct values of the breakdown dimension to return // in the response. A `limit` of `5` is used if limit is not specified. Limit // must exceed zero and cannot exceed 5. Limit *int64 `protobuf:"varint,2,opt,name=limit,proto3,oneof" json:"limit,omitempty"` // contains filtered or unexported fields }
func (*FunnelNextAction) Descriptor() ([]byte, []int)
Deprecated: Use FunnelNextAction.ProtoReflect.Descriptor instead.
func (x *FunnelNextAction) GetLimit() int64
func (x *FunnelNextAction) GetNextActionDimension() *Dimension
func (*FunnelNextAction) ProtoMessage()
func (x *FunnelNextAction) ProtoReflect() protoreflect.Message
func (x *FunnelNextAction) Reset()
func (x *FunnelNextAction) String() string
An expression to filter parameter values in a funnel.
type FunnelParameterFilter struct { // The field that is being filtered. // // Types that are assignable to OneParameter: // *FunnelParameterFilter_EventParameterName // *FunnelParameterFilter_ItemParameterName OneParameter isFunnelParameterFilter_OneParameter `protobuf_oneof:"one_parameter"` // Specify one type of filter. // // Types that are assignable to OneFilter: // *FunnelParameterFilter_StringFilter // *FunnelParameterFilter_InListFilter // *FunnelParameterFilter_NumericFilter // *FunnelParameterFilter_BetweenFilter OneFilter isFunnelParameterFilter_OneFilter `protobuf_oneof:"one_filter"` // contains filtered or unexported fields }
func (*FunnelParameterFilter) Descriptor() ([]byte, []int)
Deprecated: Use FunnelParameterFilter.ProtoReflect.Descriptor instead.
func (x *FunnelParameterFilter) GetBetweenFilter() *BetweenFilter
func (x *FunnelParameterFilter) GetEventParameterName() string
func (x *FunnelParameterFilter) GetInListFilter() *InListFilter
func (x *FunnelParameterFilter) GetItemParameterName() string
func (x *FunnelParameterFilter) GetNumericFilter() *NumericFilter
func (m *FunnelParameterFilter) GetOneFilter() isFunnelParameterFilter_OneFilter
func (m *FunnelParameterFilter) GetOneParameter() isFunnelParameterFilter_OneParameter
func (x *FunnelParameterFilter) GetStringFilter() *StringFilter
func (*FunnelParameterFilter) ProtoMessage()
func (x *FunnelParameterFilter) ProtoReflect() protoreflect.Message
func (x *FunnelParameterFilter) Reset()
func (x *FunnelParameterFilter) String() string
Expresses combinations of funnel filters on parameters.
type FunnelParameterFilterExpression struct { // Specify one type of filter for `FunnelParameterFilterExpression`. // // Types that are assignable to Expr: // *FunnelParameterFilterExpression_AndGroup // *FunnelParameterFilterExpression_OrGroup // *FunnelParameterFilterExpression_NotExpression // *FunnelParameterFilterExpression_FunnelParameterFilter Expr isFunnelParameterFilterExpression_Expr `protobuf_oneof:"expr"` // contains filtered or unexported fields }
func (*FunnelParameterFilterExpression) Descriptor() ([]byte, []int)
Deprecated: Use FunnelParameterFilterExpression.ProtoReflect.Descriptor instead.
func (x *FunnelParameterFilterExpression) GetAndGroup() *FunnelParameterFilterExpressionList
func (m *FunnelParameterFilterExpression) GetExpr() isFunnelParameterFilterExpression_Expr
func (x *FunnelParameterFilterExpression) GetFunnelParameterFilter() *FunnelParameterFilter
func (x *FunnelParameterFilterExpression) GetNotExpression() *FunnelParameterFilterExpression
func (x *FunnelParameterFilterExpression) GetOrGroup() *FunnelParameterFilterExpressionList
func (*FunnelParameterFilterExpression) ProtoMessage()
func (x *FunnelParameterFilterExpression) ProtoReflect() protoreflect.Message
func (x *FunnelParameterFilterExpression) Reset()
func (x *FunnelParameterFilterExpression) String() string
A list of funnel parameter filter expressions.
type FunnelParameterFilterExpressionList struct { // The list of funnel parameter filter expressions. Expressions []*FunnelParameterFilterExpression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"` // contains filtered or unexported fields }
func (*FunnelParameterFilterExpressionList) Descriptor() ([]byte, []int)
Deprecated: Use FunnelParameterFilterExpressionList.ProtoReflect.Descriptor instead.
func (x *FunnelParameterFilterExpressionList) GetExpressions() []*FunnelParameterFilterExpression
func (*FunnelParameterFilterExpressionList) ProtoMessage()
func (x *FunnelParameterFilterExpressionList) ProtoReflect() protoreflect.Message
func (x *FunnelParameterFilterExpressionList) Reset()
func (x *FunnelParameterFilterExpressionList) String() string
type FunnelParameterFilterExpression_AndGroup struct { // The FunnelParameterFilterExpression in `andGroup` have an AND // relationship. AndGroup *FunnelParameterFilterExpressionList `protobuf:"bytes,1,opt,name=and_group,json=andGroup,proto3,oneof"` }
type FunnelParameterFilterExpression_FunnelParameterFilter struct { // A primitive funnel parameter filter. FunnelParameterFilter *FunnelParameterFilter `protobuf:"bytes,4,opt,name=funnel_parameter_filter,json=funnelParameterFilter,proto3,oneof"` }
type FunnelParameterFilterExpression_NotExpression struct { // The FunnelParameterFilterExpression is NOT of `notExpression`. NotExpression *FunnelParameterFilterExpression `protobuf:"bytes,3,opt,name=not_expression,json=notExpression,proto3,oneof"` }
type FunnelParameterFilterExpression_OrGroup struct { // The FunnelParameterFilterExpression in `orGroup` have an OR // relationship. OrGroup *FunnelParameterFilterExpressionList `protobuf:"bytes,2,opt,name=or_group,json=orGroup,proto3,oneof"` }
type FunnelParameterFilter_BetweenFilter struct { // A filter for between two values. BetweenFilter *BetweenFilter `protobuf:"bytes,7,opt,name=between_filter,json=betweenFilter,proto3,oneof"` }
type FunnelParameterFilter_EventParameterName struct { // This filter will be evaluated on the specified event parameter. Event // parameters are logged as parameters of the event. Event parameters // include fields like "firebase_screen" & "currency". // // Event parameters can only be used in segments & funnels and can only be // used in a descendent filter from an EventFilter. In a descendent filter // from an EventFilter either event or item parameters should be used. EventParameterName string `protobuf:"bytes,1,opt,name=event_parameter_name,json=eventParameterName,proto3,oneof"` }
type FunnelParameterFilter_InListFilter struct { // A filter for in list values. InListFilter *InListFilter `protobuf:"bytes,5,opt,name=in_list_filter,json=inListFilter,proto3,oneof"` }
type FunnelParameterFilter_ItemParameterName struct { // This filter will be evaluated on the specified item parameter. Item // parameters are logged as parameters in the item array. Item parameters // include fields like "item_name" & "item_category". // // Item parameters can only be used in segments & funnels and can only be // used in a descendent filter from an EventFilter. In a descendent filter // from an EventFilter either event or item parameters should be used. // // Item parameters are only available in ecommerce events. To learn more // about ecommerce events, see the [Measure ecommerce] // (https://developers.google.com/analytics/devguides/collection/ga4/ecommerce) // guide. ItemParameterName string `protobuf:"bytes,2,opt,name=item_parameter_name,json=itemParameterName,proto3,oneof"` }
type FunnelParameterFilter_NumericFilter struct { // A filter for numeric or date values. NumericFilter *NumericFilter `protobuf:"bytes,6,opt,name=numeric_filter,json=numericFilter,proto3,oneof"` }
type FunnelParameterFilter_StringFilter struct { // Strings related filter. StringFilter *StringFilter `protobuf:"bytes,4,opt,name=string_filter,json=stringFilter,proto3,oneof"` }
The funnel report's response metadata carries additional information about the funnel report.
type FunnelResponseMetadata struct { // If funnel report results are // [sampled](https://support.google.com/analytics/answer/2637192), this // describes what percentage of events were used in this funnel report. One // `samplingMetadatas` is populated for each date range. Each // `samplingMetadatas` corresponds to a date range in order that date ranges // were specified in the request. // // However if the results are not sampled, this field will not be defined. SamplingMetadatas []*SamplingMetadata `protobuf:"bytes,1,rep,name=sampling_metadatas,json=samplingMetadatas,proto3" json:"sampling_metadatas,omitempty"` // contains filtered or unexported fields }
func (*FunnelResponseMetadata) Descriptor() ([]byte, []int)
Deprecated: Use FunnelResponseMetadata.ProtoReflect.Descriptor instead.
func (x *FunnelResponseMetadata) GetSamplingMetadatas() []*SamplingMetadata
func (*FunnelResponseMetadata) ProtoMessage()
func (x *FunnelResponseMetadata) ProtoReflect() protoreflect.Message
func (x *FunnelResponseMetadata) Reset()
func (x *FunnelResponseMetadata) String() string
Steps define the user journey you want to measure. Steps contain one or more conditions that your users must meet to be included in that step of the funnel journey.
type FunnelStep struct { // The distinctive name for this step. If unspecified, steps will be named // by a 1 based indexed name (i.e. "0. ", "1. ", etc.). This name defines // string value returned by the `funnelStepName` dimension. For example, // specifying `name = Purchase` in the request's third funnel step will // produce `3. Purchase` in the funnel report response. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // If true, this step must directly follow the previous step. If false, // there can be events between the previous step and this step. If // unspecified, `isDirectlyFollowedBy` is treated as false. IsDirectlyFollowedBy bool `protobuf:"varint,2,opt,name=is_directly_followed_by,json=isDirectlyFollowedBy,proto3" json:"is_directly_followed_by,omitempty"` // If specified, this step must complete within this duration of the // completion of the prior step. `withinDurationFromPriorStep` is inclusive // of the endpoint at the microsecond granularity. For example a duration of // 5 seconds can be completed at 4.9 or 5.0 seconds, but not 5 seconds and 1 // microsecond. // // `withinDurationFromPriorStep` is optional, and if unspecified, steps may // be separated by any time duration. WithinDurationFromPriorStep *durationpb.Duration `protobuf:"bytes,3,opt,name=within_duration_from_prior_step,json=withinDurationFromPriorStep,proto3,oneof" json:"within_duration_from_prior_step,omitempty"` // The condition that your users must meet to be included in this step of // the funnel journey. FilterExpression *FunnelFilterExpression `protobuf:"bytes,4,opt,name=filter_expression,json=filterExpression,proto3" json:"filter_expression,omitempty"` // contains filtered or unexported fields }
func (*FunnelStep) Descriptor() ([]byte, []int)
Deprecated: Use FunnelStep.ProtoReflect.Descriptor instead.
func (x *FunnelStep) GetFilterExpression() *FunnelFilterExpression
func (x *FunnelStep) GetIsDirectlyFollowedBy() bool
func (x *FunnelStep) GetName() string
func (x *FunnelStep) GetWithinDurationFromPriorStep() *durationpb.Duration
func (*FunnelStep) ProtoMessage()
func (x *FunnelStep) ProtoReflect() protoreflect.Message
func (x *FunnelStep) Reset()
func (x *FunnelStep) String() string
Funnel sub reports contain the dimension and metric data values. For example, 12 users reached the second step of the funnel.
type FunnelSubReport struct { // Describes dimension columns. Funnel reports always include the funnel step // dimension in sub report responses. Additional dimensions like breakdowns, // dates, and next actions may be present in the response if requested. DimensionHeaders []*DimensionHeader `protobuf:"bytes,1,rep,name=dimension_headers,json=dimensionHeaders,proto3" json:"dimension_headers,omitempty"` // Describes metric columns. Funnel reports always include active users in sub // report responses. The funnel table includes additional metrics like // completion rate, abandonments, and abandonments rate. MetricHeaders []*MetricHeader `protobuf:"bytes,2,rep,name=metric_headers,json=metricHeaders,proto3" json:"metric_headers,omitempty"` // Rows of dimension value combinations and metric values in the report. Rows []*Row `protobuf:"bytes,3,rep,name=rows,proto3" json:"rows,omitempty"` // Metadata for the funnel report. Metadata *FunnelResponseMetadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` // contains filtered or unexported fields }
func (*FunnelSubReport) Descriptor() ([]byte, []int)
Deprecated: Use FunnelSubReport.ProtoReflect.Descriptor instead.
func (x *FunnelSubReport) GetDimensionHeaders() []*DimensionHeader
func (x *FunnelSubReport) GetMetadata() *FunnelResponseMetadata
func (x *FunnelSubReport) GetMetricHeaders() []*MetricHeader
func (x *FunnelSubReport) GetRows() []*Row
func (*FunnelSubReport) ProtoMessage()
func (x *FunnelSubReport) ProtoReflect() protoreflect.Message
func (x *FunnelSubReport) Reset()
func (x *FunnelSubReport) String() string
The result needs to be in a list of string values.
type InListFilter struct { // The list of string values. // Must be non-empty. Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` // If true, the string value is case sensitive. CaseSensitive bool `protobuf:"varint,2,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` // contains filtered or unexported fields }
func (*InListFilter) Descriptor() ([]byte, []int)
Deprecated: Use InListFilter.ProtoReflect.Descriptor instead.
func (x *InListFilter) GetCaseSensitive() bool
func (x *InListFilter) GetValues() []string
func (*InListFilter) ProtoMessage()
func (x *InListFilter) ProtoReflect() protoreflect.Message
func (x *InListFilter) Reset()
func (x *InListFilter) String() string
Describes a metric column in the report. Visible metrics requested in a report produce column entries within rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns in a report; correspondingly, those metrics do not produce headers.
type MetricHeader struct { // The metric's name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The metric's data type. Type MetricType `protobuf:"varint,2,opt,name=type,proto3,enum=google.analytics.data.v1alpha.MetricType" json:"type,omitempty"` // contains filtered or unexported fields }
func (*MetricHeader) Descriptor() ([]byte, []int)
Deprecated: Use MetricHeader.ProtoReflect.Descriptor instead.
func (x *MetricHeader) GetName() string
func (x *MetricHeader) GetType() MetricType
func (*MetricHeader) ProtoMessage()
func (x *MetricHeader) ProtoReflect() protoreflect.Message
func (x *MetricHeader) Reset()
func (x *MetricHeader) String() string
A metric's value type.
type MetricType int32
const ( // Unspecified type. MetricType_METRIC_TYPE_UNSPECIFIED MetricType = 0 // Integer type. MetricType_TYPE_INTEGER MetricType = 1 // Floating point type. MetricType_TYPE_FLOAT MetricType = 2 // A duration of seconds; a special floating point type. MetricType_TYPE_SECONDS MetricType = 4 // A duration in milliseconds; a special floating point type. MetricType_TYPE_MILLISECONDS MetricType = 5 // A duration in minutes; a special floating point type. MetricType_TYPE_MINUTES MetricType = 6 // A duration in hours; a special floating point type. MetricType_TYPE_HOURS MetricType = 7 // A custom metric of standard type; a special floating point type. MetricType_TYPE_STANDARD MetricType = 8 // An amount of money; a special floating point type. MetricType_TYPE_CURRENCY MetricType = 9 // A length in feet; a special floating point type. MetricType_TYPE_FEET MetricType = 10 // A length in miles; a special floating point type. MetricType_TYPE_MILES MetricType = 11 // A length in meters; a special floating point type. MetricType_TYPE_METERS MetricType = 12 // A length in kilometers; a special floating point type. MetricType_TYPE_KILOMETERS MetricType = 13 )
func (MetricType) Descriptor() protoreflect.EnumDescriptor
func (x MetricType) Enum() *MetricType
func (MetricType) EnumDescriptor() ([]byte, []int)
Deprecated: Use MetricType.Descriptor instead.
func (x MetricType) Number() protoreflect.EnumNumber
func (x MetricType) String() string
func (MetricType) Type() protoreflect.EnumType
The value of a metric.
type MetricValue struct { // One of metric value // // Types that are assignable to OneValue: // *MetricValue_Value OneValue isMetricValue_OneValue `protobuf_oneof:"one_value"` // contains filtered or unexported fields }
func (*MetricValue) Descriptor() ([]byte, []int)
Deprecated: Use MetricValue.ProtoReflect.Descriptor instead.
func (m *MetricValue) GetOneValue() isMetricValue_OneValue
func (x *MetricValue) GetValue() string
func (*MetricValue) ProtoMessage()
func (x *MetricValue) ProtoReflect() protoreflect.Message
func (x *MetricValue) Reset()
func (x *MetricValue) String() string
type MetricValue_Value struct { // Measurement value. See MetricHeader for type. Value string `protobuf:"bytes,4,opt,name=value,proto3,oneof"` }
Filters for numeric or date values.
type NumericFilter struct { // The operation type for this filter. Operation NumericFilter_Operation `protobuf:"varint,1,opt,name=operation,proto3,enum=google.analytics.data.v1alpha.NumericFilter_Operation" json:"operation,omitempty"` // A numeric value or a date value. Value *NumericValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
func (*NumericFilter) Descriptor() ([]byte, []int)
Deprecated: Use NumericFilter.ProtoReflect.Descriptor instead.
func (x *NumericFilter) GetOperation() NumericFilter_Operation
func (x *NumericFilter) GetValue() *NumericValue
func (*NumericFilter) ProtoMessage()
func (x *NumericFilter) ProtoReflect() protoreflect.Message
func (x *NumericFilter) Reset()
func (x *NumericFilter) String() string
The operation applied to a numeric filter
type NumericFilter_Operation int32
const ( // Unspecified. NumericFilter_OPERATION_UNSPECIFIED NumericFilter_Operation = 0 // Equal NumericFilter_EQUAL NumericFilter_Operation = 1 // Less than NumericFilter_LESS_THAN NumericFilter_Operation = 2 // Less than or equal NumericFilter_LESS_THAN_OR_EQUAL NumericFilter_Operation = 3 // Greater than NumericFilter_GREATER_THAN NumericFilter_Operation = 4 // Greater than or equal NumericFilter_GREATER_THAN_OR_EQUAL NumericFilter_Operation = 5 )
func (NumericFilter_Operation) Descriptor() protoreflect.EnumDescriptor
func (x NumericFilter_Operation) Enum() *NumericFilter_Operation
func (NumericFilter_Operation) EnumDescriptor() ([]byte, []int)
Deprecated: Use NumericFilter_Operation.Descriptor instead.
func (x NumericFilter_Operation) Number() protoreflect.EnumNumber
func (x NumericFilter_Operation) String() string
func (NumericFilter_Operation) Type() protoreflect.EnumType
To represent a number.
type NumericValue struct { // One of a numeric value // // Types that are assignable to OneValue: // *NumericValue_Int64Value // *NumericValue_DoubleValue OneValue isNumericValue_OneValue `protobuf_oneof:"one_value"` // contains filtered or unexported fields }
func (*NumericValue) Descriptor() ([]byte, []int)
Deprecated: Use NumericValue.ProtoReflect.Descriptor instead.
func (x *NumericValue) GetDoubleValue() float64
func (x *NumericValue) GetInt64Value() int64
func (m *NumericValue) GetOneValue() isNumericValue_OneValue
func (*NumericValue) ProtoMessage()
func (x *NumericValue) ProtoReflect() protoreflect.Message
func (x *NumericValue) Reset()
func (x *NumericValue) String() string
type NumericValue_DoubleValue struct { // Double value DoubleValue float64 `protobuf:"fixed64,2,opt,name=double_value,json=doubleValue,proto3,oneof"` }
type NumericValue_Int64Value struct { // Integer value Int64Value int64 `protobuf:"varint,1,opt,name=int64_value,json=int64Value,proto3,oneof"` }
Current state of all quotas for this Analytics Property. If any quota for a property is exhausted, all requests to that property will return Resource Exhausted errors.
type PropertyQuota struct { // Standard Analytics Properties can use up to 25,000 tokens per day; // Analytics 360 Properties can use 250,000 tokens per day. Most requests // consume fewer than 10 tokens. TokensPerDay *QuotaStatus `protobuf:"bytes,1,opt,name=tokens_per_day,json=tokensPerDay,proto3" json:"tokens_per_day,omitempty"` // Standard Analytics Properties can use up to 5,000 tokens per hour; // Analytics 360 Properties can use 50,000 tokens per hour. An API request // consumes a single number of tokens, and that number is deducted from both // the hourly and daily quotas. TokensPerHour *QuotaStatus `protobuf:"bytes,2,opt,name=tokens_per_hour,json=tokensPerHour,proto3" json:"tokens_per_hour,omitempty"` // Standard Analytics Properties can send up to 10 concurrent requests; // Analytics 360 Properties can use up to 50 concurrent requests. ConcurrentRequests *QuotaStatus `protobuf:"bytes,3,opt,name=concurrent_requests,json=concurrentRequests,proto3" json:"concurrent_requests,omitempty"` // Standard Analytics Properties and cloud project pairs can have up to 10 // server errors per hour; Analytics 360 Properties and cloud project pairs // can have up to 50 server errors per hour. ServerErrorsPerProjectPerHour *QuotaStatus `protobuf:"bytes,4,opt,name=server_errors_per_project_per_hour,json=serverErrorsPerProjectPerHour,proto3" json:"server_errors_per_project_per_hour,omitempty"` // Analytics Properties can send up to 120 requests with potentially // thresholded dimensions per hour. In a batch request, each report request // is individually counted for this quota if the request contains potentially // thresholded dimensions. PotentiallyThresholdedRequestsPerHour *QuotaStatus `protobuf:"bytes,5,opt,name=potentially_thresholded_requests_per_hour,json=potentiallyThresholdedRequestsPerHour,proto3" json:"potentially_thresholded_requests_per_hour,omitempty"` // contains filtered or unexported fields }
func (*PropertyQuota) Descriptor() ([]byte, []int)
Deprecated: Use PropertyQuota.ProtoReflect.Descriptor instead.
func (x *PropertyQuota) GetConcurrentRequests() *QuotaStatus
func (x *PropertyQuota) GetPotentiallyThresholdedRequestsPerHour() *QuotaStatus
func (x *PropertyQuota) GetServerErrorsPerProjectPerHour() *QuotaStatus
func (x *PropertyQuota) GetTokensPerDay() *QuotaStatus
func (x *PropertyQuota) GetTokensPerHour() *QuotaStatus
func (*PropertyQuota) ProtoMessage()
func (x *PropertyQuota) ProtoReflect() protoreflect.Message
func (x *PropertyQuota) Reset()
func (x *PropertyQuota) String() string
Current state for a particular quota group.
type QuotaStatus struct { // Quota consumed by this request. Consumed int32 `protobuf:"varint,1,opt,name=consumed,proto3" json:"consumed,omitempty"` // Quota remaining after this request. Remaining int32 `protobuf:"varint,2,opt,name=remaining,proto3" json:"remaining,omitempty"` // contains filtered or unexported fields }
func (*QuotaStatus) Descriptor() ([]byte, []int)
Deprecated: Use QuotaStatus.ProtoReflect.Descriptor instead.
func (x *QuotaStatus) GetConsumed() int32
func (x *QuotaStatus) GetRemaining() int32
func (*QuotaStatus) ProtoMessage()
func (x *QuotaStatus) ProtoReflect() protoreflect.Message
func (x *QuotaStatus) Reset()
func (x *QuotaStatus) String() string
Report data for each row. For example if RunReportRequest contains:
```none "dimensions": [
{ "name": "eventName" }, { "name": "countryId" }
], "metrics": [
{ "name": "eventCount" }
] ```
One row with 'in_app_purchase' as the eventName, 'JP' as the countryId, and 15 as the eventCount, would be:
```none "dimensionValues": [
{ "value": "in_app_purchase" }, { "value": "JP" }
], "metricValues": [
{ "value": "15" }
] ```
type Row struct { // List of requested dimension values. In a PivotReport, dimension_values // are only listed for dimensions included in a pivot. DimensionValues []*DimensionValue `protobuf:"bytes,1,rep,name=dimension_values,json=dimensionValues,proto3" json:"dimension_values,omitempty"` // List of requested visible metric values. MetricValues []*MetricValue `protobuf:"bytes,2,rep,name=metric_values,json=metricValues,proto3" json:"metric_values,omitempty"` // contains filtered or unexported fields }
func (*Row) Descriptor() ([]byte, []int)
Deprecated: Use Row.ProtoReflect.Descriptor instead.
func (x *Row) GetDimensionValues() []*DimensionValue
func (x *Row) GetMetricValues() []*MetricValue
func (*Row) ProtoMessage()
func (x *Row) ProtoReflect() protoreflect.Message
func (x *Row) Reset()
func (x *Row) String() string
The request for a funnel report.
type RunFunnelReportRequest struct { // A Google Analytics GA4 property identifier whose events are tracked. // Specified in the URL path and not the body. To learn more, see [where to // find your Property // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). // Within a batch request, this property should either be unspecified or // consistent with the batch-level property. // // Example: properties/1234 Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` // Date ranges of data to read. If multiple date ranges are requested, each // response row will contain a zero based date range index. If two date // ranges overlap, the event data for the overlapping days is included in the // response rows for both date ranges. DateRanges []*DateRange `protobuf:"bytes,2,rep,name=date_ranges,json=dateRanges,proto3" json:"date_ranges,omitempty"` // The configuration of this request's funnel. This funnel configuration is // required. Funnel *Funnel `protobuf:"bytes,3,opt,name=funnel,proto3" json:"funnel,omitempty"` // If specified, this breakdown adds a dimension to the funnel table sub // report response. This breakdown dimension expands each funnel step to the // unique values of the breakdown dimension. For example, a breakdown by the // `deviceCategory` dimension will create rows for `mobile`, `tablet`, // `desktop`, and the total. FunnelBreakdown *FunnelBreakdown `protobuf:"bytes,4,opt,name=funnel_breakdown,json=funnelBreakdown,proto3" json:"funnel_breakdown,omitempty"` // If specified, next action adds a dimension to the funnel visualization sub // report response. This next action dimension expands each funnel step to the // unique values of the next action. For example a next action of the // `eventName` dimension will create rows for several events (i.e. // `session_start` & `click`) and the total. // // Next action only supports `eventName` and most Page / Screen dimensions // like `pageTitle` and `pagePath`. FunnelNextAction *FunnelNextAction `protobuf:"bytes,5,opt,name=funnel_next_action,json=funnelNextAction,proto3" json:"funnel_next_action,omitempty"` // The funnel visualization type controls the dimensions present in the funnel // visualization sub report response. If not specified, `STANDARD_FUNNEL` is // used. FunnelVisualizationType RunFunnelReportRequest_FunnelVisualizationType `protobuf:"varint,6,opt,name=funnel_visualization_type,json=funnelVisualizationType,proto3,enum=google.analytics.data.v1alpha.RunFunnelReportRequest_FunnelVisualizationType" json:"funnel_visualization_type,omitempty"` // The configurations of segments. Segments are subsets of a property's data. // In a funnel report with segments, the funnel is evaluated in each segment. // // Each segment specified in this request // produces a separate row in the response; in the response, each segment // identified by its name. // // The segments parameter is optional. Requests are limited to 4 segments. Segments []*Segment `protobuf:"bytes,7,rep,name=segments,proto3" json:"segments,omitempty"` // The number of rows to return. If unspecified, 10,000 rows are returned. The // API returns a maximum of 100,000 rows per request, no matter how many you // ask for. `limit` must be positive. // // The API can also return fewer rows than the requested `limit`, if there // aren't as many dimension values as the `limit`. Limit int64 `protobuf:"varint,9,opt,name=limit,proto3" json:"limit,omitempty"` // Dimension filters allow you to ask for only specific dimension values in // the report. To learn more, see [Creating a Report: Dimension // Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) // for examples. Metrics cannot be used in this filter. DimensionFilter *FilterExpression `protobuf:"bytes,10,opt,name=dimension_filter,json=dimensionFilter,proto3" json:"dimension_filter,omitempty"` // Toggles whether to return the current state of this Analytics Property's // quota. Quota is returned in [PropertyQuota](#PropertyQuota). ReturnPropertyQuota bool `protobuf:"varint,12,opt,name=return_property_quota,json=returnPropertyQuota,proto3" json:"return_property_quota,omitempty"` // contains filtered or unexported fields }
func (*RunFunnelReportRequest) Descriptor() ([]byte, []int)
Deprecated: Use RunFunnelReportRequest.ProtoReflect.Descriptor instead.
func (x *RunFunnelReportRequest) GetDateRanges() []*DateRange
func (x *RunFunnelReportRequest) GetDimensionFilter() *FilterExpression
func (x *RunFunnelReportRequest) GetFunnel() *Funnel
func (x *RunFunnelReportRequest) GetFunnelBreakdown() *FunnelBreakdown
func (x *RunFunnelReportRequest) GetFunnelNextAction() *FunnelNextAction
func (x *RunFunnelReportRequest) GetFunnelVisualizationType() RunFunnelReportRequest_FunnelVisualizationType
func (x *RunFunnelReportRequest) GetLimit() int64
func (x *RunFunnelReportRequest) GetProperty() string
func (x *RunFunnelReportRequest) GetReturnPropertyQuota() bool
func (x *RunFunnelReportRequest) GetSegments() []*Segment
func (*RunFunnelReportRequest) ProtoMessage()
func (x *RunFunnelReportRequest) ProtoReflect() protoreflect.Message
func (x *RunFunnelReportRequest) Reset()
func (x *RunFunnelReportRequest) String() string
Controls the dimensions present in the funnel visualization sub report response.
type RunFunnelReportRequest_FunnelVisualizationType int32
const ( // Unspecified type. RunFunnelReportRequest_FUNNEL_VISUALIZATION_TYPE_UNSPECIFIED RunFunnelReportRequest_FunnelVisualizationType = 0 // A standard (stepped) funnel. The funnel visualization sub report in the // response will not contain date. RunFunnelReportRequest_STANDARD_FUNNEL RunFunnelReportRequest_FunnelVisualizationType = 1 // A trended (line chart) funnel. The funnel visualization sub report in the // response will contain the date dimension. RunFunnelReportRequest_TRENDED_FUNNEL RunFunnelReportRequest_FunnelVisualizationType = 2 )
func (RunFunnelReportRequest_FunnelVisualizationType) Descriptor() protoreflect.EnumDescriptor
func (x RunFunnelReportRequest_FunnelVisualizationType) Enum() *RunFunnelReportRequest_FunnelVisualizationType
func (RunFunnelReportRequest_FunnelVisualizationType) EnumDescriptor() ([]byte, []int)
Deprecated: Use RunFunnelReportRequest_FunnelVisualizationType.Descriptor instead.
func (x RunFunnelReportRequest_FunnelVisualizationType) Number() protoreflect.EnumNumber
func (x RunFunnelReportRequest_FunnelVisualizationType) String() string
func (RunFunnelReportRequest_FunnelVisualizationType) Type() protoreflect.EnumType
The funnel report response contains two sub reports. The two sub reports are different combinations of dimensions and metrics.
type RunFunnelReportResponse struct { // The funnel table is a report with the funnel step, segment, breakdown // dimension, active users, completion rate, abandonments, and abandonments // rate. // // The segment dimension is only present in this response if a segment was // requested. The breakdown dimension is only present in this response if it // was requested. FunnelTable *FunnelSubReport `protobuf:"bytes,1,opt,name=funnel_table,json=funnelTable,proto3" json:"funnel_table,omitempty"` // The funnel visualization is a report with the funnel step, segment, date, // next action dimension, and active users. // // The segment dimension is only present in this response if a segment was // requested. The date dimension is only present in this response if it was // requested via the `TRENDED_FUNNEL` funnel type. The next action dimension // is only present in the response if it was requested. FunnelVisualization *FunnelSubReport `protobuf:"bytes,2,opt,name=funnel_visualization,json=funnelVisualization,proto3" json:"funnel_visualization,omitempty"` // This Analytics Property's quota state including this request. PropertyQuota *PropertyQuota `protobuf:"bytes,3,opt,name=property_quota,json=propertyQuota,proto3" json:"property_quota,omitempty"` // Identifies what kind of resource this message is. This `kind` is always the // fixed string "analyticsData#runFunnelReport". Useful to distinguish between // response types in JSON. Kind string `protobuf:"bytes,4,opt,name=kind,proto3" json:"kind,omitempty"` // contains filtered or unexported fields }
func (*RunFunnelReportResponse) Descriptor() ([]byte, []int)
Deprecated: Use RunFunnelReportResponse.ProtoReflect.Descriptor instead.
func (x *RunFunnelReportResponse) GetFunnelTable() *FunnelSubReport
func (x *RunFunnelReportResponse) GetFunnelVisualization() *FunnelSubReport
func (x *RunFunnelReportResponse) GetKind() string
func (x *RunFunnelReportResponse) GetPropertyQuota() *PropertyQuota
func (*RunFunnelReportResponse) ProtoMessage()
func (x *RunFunnelReportResponse) ProtoReflect() protoreflect.Message
func (x *RunFunnelReportResponse) Reset()
func (x *RunFunnelReportResponse) String() string
If funnel report results are [sampled](https://support.google.com/analytics/answer/2637192), this metadata describes what percentage of events were used in this funnel report for a date range. Sampling is the practice of analyzing a subset of all data in order to uncover the meaningful information in the larger data set.
type SamplingMetadata struct { // The total number of events read in this sampled report for a date range. // This is the size of the subset this property's data that was analyzed in // this funnel report. SamplesReadCount int64 `protobuf:"varint,1,opt,name=samples_read_count,json=samplesReadCount,proto3" json:"samples_read_count,omitempty"` // The total number of events present in this property's data that could // have been analyzed in this funnel report for a date range. Sampling // uncovers the meaningful information about the larger data set, and this // is the size of the larger data set. // // To calculate the percentage of available data that was used in this // funnel report, compute `samplesReadCount/samplingSpaceSize`. SamplingSpaceSize int64 `protobuf:"varint,2,opt,name=sampling_space_size,json=samplingSpaceSize,proto3" json:"sampling_space_size,omitempty"` // contains filtered or unexported fields }
func (*SamplingMetadata) Descriptor() ([]byte, []int)
Deprecated: Use SamplingMetadata.ProtoReflect.Descriptor instead.
func (x *SamplingMetadata) GetSamplesReadCount() int64
func (x *SamplingMetadata) GetSamplingSpaceSize() int64
func (*SamplingMetadata) ProtoMessage()
func (x *SamplingMetadata) ProtoReflect() protoreflect.Message
func (x *SamplingMetadata) Reset()
func (x *SamplingMetadata) String() string
A segment is a subset of your Analytics data. For example, of your entire set of users, one segment might be users from a particular country or city. Another segment might be users who purchase a particular line of products or who visit a specific part of your site or trigger certain events in your app.
To learn more, see [GA4 Segment Builder](https://support.google.com/analytics/answer/9304353).
type Segment struct { // The name for this segment. If unspecified, segments are named "Segment". // This name defines string value returned by the `segment` dimension. The // `segment` dimension prefixes segment names by the 1-based index number of // the segment in the request (i.e. "1. Segment", "2. Segment", etc.). Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A segment is specified in one scope. // // Types that are assignable to OneSegmentScope: // *Segment_UserSegment // *Segment_SessionSegment // *Segment_EventSegment OneSegmentScope isSegment_OneSegmentScope `protobuf_oneof:"one_segment_scope"` // contains filtered or unexported fields }
func (*Segment) Descriptor() ([]byte, []int)
Deprecated: Use Segment.ProtoReflect.Descriptor instead.
func (x *Segment) GetEventSegment() *EventSegment
func (x *Segment) GetName() string
func (m *Segment) GetOneSegmentScope() isSegment_OneSegmentScope
func (x *Segment) GetSessionSegment() *SessionSegment
func (x *Segment) GetUserSegment() *UserSegment
func (*Segment) ProtoMessage()
func (x *Segment) ProtoReflect() protoreflect.Message
func (x *Segment) Reset()
func (x *Segment) String() string
Creates a filter that matches events of a single event name. If a parameter filter expression is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter.
type SegmentEventFilter struct { // This filter matches events of this single event name. Event name is // required. EventName *string `protobuf:"bytes,1,opt,name=event_name,json=eventName,proto3,oneof" json:"event_name,omitempty"` // If specified, this filter matches events that match both the single event // name and the parameter filter expressions. // // Inside the parameter filter expression, only parameter filters are // available. SegmentParameterFilterExpression *SegmentParameterFilterExpression `protobuf:"bytes,2,opt,name=segment_parameter_filter_expression,json=segmentParameterFilterExpression,proto3,oneof" json:"segment_parameter_filter_expression,omitempty"` // contains filtered or unexported fields }
func (*SegmentEventFilter) Descriptor() ([]byte, []int)
Deprecated: Use SegmentEventFilter.ProtoReflect.Descriptor instead.
func (x *SegmentEventFilter) GetEventName() string
func (x *SegmentEventFilter) GetSegmentParameterFilterExpression() *SegmentParameterFilterExpression
func (*SegmentEventFilter) ProtoMessage()
func (x *SegmentEventFilter) ProtoReflect() protoreflect.Message
func (x *SegmentEventFilter) Reset()
func (x *SegmentEventFilter) String() string
An expression to filter dimension or metric values.
type SegmentFilter struct { // The dimension name or metric name. FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` // Specify one type of filter for `Filter`. // // Types that are assignable to OneFilter: // *SegmentFilter_StringFilter // *SegmentFilter_InListFilter // *SegmentFilter_NumericFilter // *SegmentFilter_BetweenFilter OneFilter isSegmentFilter_OneFilter `protobuf_oneof:"one_filter"` // Specifies the scope for the filter. FilterScoping *SegmentFilterScoping `protobuf:"bytes,8,opt,name=filter_scoping,json=filterScoping,proto3" json:"filter_scoping,omitempty"` // contains filtered or unexported fields }
func (*SegmentFilter) Descriptor() ([]byte, []int)
Deprecated: Use SegmentFilter.ProtoReflect.Descriptor instead.
func (x *SegmentFilter) GetBetweenFilter() *BetweenFilter
func (x *SegmentFilter) GetFieldName() string
func (x *SegmentFilter) GetFilterScoping() *SegmentFilterScoping
func (x *SegmentFilter) GetInListFilter() *InListFilter
func (x *SegmentFilter) GetNumericFilter() *NumericFilter
func (m *SegmentFilter) GetOneFilter() isSegmentFilter_OneFilter
func (x *SegmentFilter) GetStringFilter() *StringFilter
func (*SegmentFilter) ProtoMessage()
func (x *SegmentFilter) ProtoReflect() protoreflect.Message
func (x *SegmentFilter) Reset()
func (x *SegmentFilter) String() string
Expresses combinations of segment filters.
type SegmentFilterExpression struct { // Specify one type of filter for `SegmentFilterExpression`. // // Types that are assignable to Expr: // *SegmentFilterExpression_AndGroup // *SegmentFilterExpression_OrGroup // *SegmentFilterExpression_NotExpression // *SegmentFilterExpression_SegmentFilter // *SegmentFilterExpression_SegmentEventFilter Expr isSegmentFilterExpression_Expr `protobuf_oneof:"expr"` // contains filtered or unexported fields }
func (*SegmentFilterExpression) Descriptor() ([]byte, []int)
Deprecated: Use SegmentFilterExpression.ProtoReflect.Descriptor instead.
func (x *SegmentFilterExpression) GetAndGroup() *SegmentFilterExpressionList
func (m *SegmentFilterExpression) GetExpr() isSegmentFilterExpression_Expr
func (x *SegmentFilterExpression) GetNotExpression() *SegmentFilterExpression
func (x *SegmentFilterExpression) GetOrGroup() *SegmentFilterExpressionList
func (x *SegmentFilterExpression) GetSegmentEventFilter() *SegmentEventFilter
func (x *SegmentFilterExpression) GetSegmentFilter() *SegmentFilter
func (*SegmentFilterExpression) ProtoMessage()
func (x *SegmentFilterExpression) ProtoReflect() protoreflect.Message
func (x *SegmentFilterExpression) Reset()
func (x *SegmentFilterExpression) String() string
A list of segment filter expressions.
type SegmentFilterExpressionList struct { // The list of segment filter expressions Expressions []*SegmentFilterExpression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"` // contains filtered or unexported fields }
func (*SegmentFilterExpressionList) Descriptor() ([]byte, []int)
Deprecated: Use SegmentFilterExpressionList.ProtoReflect.Descriptor instead.
func (x *SegmentFilterExpressionList) GetExpressions() []*SegmentFilterExpression
func (*SegmentFilterExpressionList) ProtoMessage()
func (x *SegmentFilterExpressionList) ProtoReflect() protoreflect.Message
func (x *SegmentFilterExpressionList) Reset()
func (x *SegmentFilterExpressionList) String() string
type SegmentFilterExpression_AndGroup struct { // The SegmentFilterExpression in `andGroup` have an AND relationship. AndGroup *SegmentFilterExpressionList `protobuf:"bytes,1,opt,name=and_group,json=andGroup,proto3,oneof"` }
type SegmentFilterExpression_NotExpression struct { // The SegmentFilterExpression is NOT of `notExpression`. NotExpression *SegmentFilterExpression `protobuf:"bytes,3,opt,name=not_expression,json=notExpression,proto3,oneof"` }
type SegmentFilterExpression_OrGroup struct { // The SegmentFilterExpression in `orGroup` have an OR relationship. OrGroup *SegmentFilterExpressionList `protobuf:"bytes,2,opt,name=or_group,json=orGroup,proto3,oneof"` }
type SegmentFilterExpression_SegmentEventFilter struct { // Creates a filter that matches events of a single event name. If a // parameter filter expression is specified, only the subset of events that // match both the single event name and the parameter filter expressions // match this event filter. SegmentEventFilter *SegmentEventFilter `protobuf:"bytes,5,opt,name=segment_event_filter,json=segmentEventFilter,proto3,oneof"` }
type SegmentFilterExpression_SegmentFilter struct { // A primitive segment filter. SegmentFilter *SegmentFilter `protobuf:"bytes,4,opt,name=segment_filter,json=segmentFilter,proto3,oneof"` }
Scopings specify how the dimensions & metrics of multiple events should be considered when evaluating a segment filter.
type SegmentFilterScoping struct { // If `atAnyPointInTime` is true, this filter evaluates to true for all // events if it evaluates to true for any event in the date range of the // request. // // This `atAnyPointInTime` parameter does not extend the date range of // events in the report. If `atAnyPointInTime` is true, only events within // the report's date range are considered when evaluating this filter. // // This `atAnyPointInTime` is only able to be specified if the criteria // scoping is `ACROSS_ALL_SESSIONS` and is not able to be specified in // sequences. // // If the criteria scoping is `ACROSS_ALL_SESSIONS`, `atAnyPointInTime` = // false is used if unspecified. AtAnyPointInTime *bool `protobuf:"varint,1,opt,name=at_any_point_in_time,json=atAnyPointInTime,proto3,oneof" json:"at_any_point_in_time,omitempty"` // contains filtered or unexported fields }
func (*SegmentFilterScoping) Descriptor() ([]byte, []int)
Deprecated: Use SegmentFilterScoping.ProtoReflect.Descriptor instead.
func (x *SegmentFilterScoping) GetAtAnyPointInTime() bool
func (*SegmentFilterScoping) ProtoMessage()
func (x *SegmentFilterScoping) ProtoReflect() protoreflect.Message
func (x *SegmentFilterScoping) Reset()
func (x *SegmentFilterScoping) String() string
type SegmentFilter_BetweenFilter struct { // A filter for between two values. BetweenFilter *BetweenFilter `protobuf:"bytes,7,opt,name=between_filter,json=betweenFilter,proto3,oneof"` }
type SegmentFilter_InListFilter struct { // A filter for in list values. InListFilter *InListFilter `protobuf:"bytes,5,opt,name=in_list_filter,json=inListFilter,proto3,oneof"` }
type SegmentFilter_NumericFilter struct { // A filter for numeric or date values. NumericFilter *NumericFilter `protobuf:"bytes,6,opt,name=numeric_filter,json=numericFilter,proto3,oneof"` }
type SegmentFilter_StringFilter struct { // Strings related filter. StringFilter *StringFilter `protobuf:"bytes,4,opt,name=string_filter,json=stringFilter,proto3,oneof"` }
An expression to filter parameter values in a segment.
type SegmentParameterFilter struct { // The field that is being filtered. // // Types that are assignable to OneParameter: // *SegmentParameterFilter_EventParameterName // *SegmentParameterFilter_ItemParameterName OneParameter isSegmentParameterFilter_OneParameter `protobuf_oneof:"one_parameter"` // Specify one type of filter. // // Types that are assignable to OneFilter: // *SegmentParameterFilter_StringFilter // *SegmentParameterFilter_InListFilter // *SegmentParameterFilter_NumericFilter // *SegmentParameterFilter_BetweenFilter OneFilter isSegmentParameterFilter_OneFilter `protobuf_oneof:"one_filter"` // Specifies the scope for the filter. FilterScoping *SegmentParameterFilterScoping `protobuf:"bytes,8,opt,name=filter_scoping,json=filterScoping,proto3" json:"filter_scoping,omitempty"` // contains filtered or unexported fields }
func (*SegmentParameterFilter) Descriptor() ([]byte, []int)
Deprecated: Use SegmentParameterFilter.ProtoReflect.Descriptor instead.
func (x *SegmentParameterFilter) GetBetweenFilter() *BetweenFilter
func (x *SegmentParameterFilter) GetEventParameterName() string
func (x *SegmentParameterFilter) GetFilterScoping() *SegmentParameterFilterScoping
func (x *SegmentParameterFilter) GetInListFilter() *InListFilter
func (x *SegmentParameterFilter) GetItemParameterName() string
func (x *SegmentParameterFilter) GetNumericFilter() *NumericFilter
func (m *SegmentParameterFilter) GetOneFilter() isSegmentParameterFilter_OneFilter
func (m *SegmentParameterFilter) GetOneParameter() isSegmentParameterFilter_OneParameter
func (x *SegmentParameterFilter) GetStringFilter() *StringFilter
func (*SegmentParameterFilter) ProtoMessage()
func (x *SegmentParameterFilter) ProtoReflect() protoreflect.Message
func (x *SegmentParameterFilter) Reset()
func (x *SegmentParameterFilter) String() string
Expresses combinations of segment filter on parameters.
type SegmentParameterFilterExpression struct { // Specify one type of filter for `SegmentParameterFilterExpression`. // // Types that are assignable to Expr: // *SegmentParameterFilterExpression_AndGroup // *SegmentParameterFilterExpression_OrGroup // *SegmentParameterFilterExpression_NotExpression // *SegmentParameterFilterExpression_SegmentParameterFilter Expr isSegmentParameterFilterExpression_Expr `protobuf_oneof:"expr"` // contains filtered or unexported fields }
func (*SegmentParameterFilterExpression) Descriptor() ([]byte, []int)
Deprecated: Use SegmentParameterFilterExpression.ProtoReflect.Descriptor instead.
func (x *SegmentParameterFilterExpression) GetAndGroup() *SegmentParameterFilterExpressionList
func (m *SegmentParameterFilterExpression) GetExpr() isSegmentParameterFilterExpression_Expr
func (x *SegmentParameterFilterExpression) GetNotExpression() *SegmentParameterFilterExpression
func (x *SegmentParameterFilterExpression) GetOrGroup() *SegmentParameterFilterExpressionList
func (x *SegmentParameterFilterExpression) GetSegmentParameterFilter() *SegmentParameterFilter
func (*SegmentParameterFilterExpression) ProtoMessage()
func (x *SegmentParameterFilterExpression) ProtoReflect() protoreflect.Message
func (x *SegmentParameterFilterExpression) Reset()
func (x *SegmentParameterFilterExpression) String() string
A list of segment parameter filter expressions.
type SegmentParameterFilterExpressionList struct { // The list of segment parameter filter expressions. Expressions []*SegmentParameterFilterExpression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"` // contains filtered or unexported fields }
func (*SegmentParameterFilterExpressionList) Descriptor() ([]byte, []int)
Deprecated: Use SegmentParameterFilterExpressionList.ProtoReflect.Descriptor instead.
func (x *SegmentParameterFilterExpressionList) GetExpressions() []*SegmentParameterFilterExpression
func (*SegmentParameterFilterExpressionList) ProtoMessage()
func (x *SegmentParameterFilterExpressionList) ProtoReflect() protoreflect.Message
func (x *SegmentParameterFilterExpressionList) Reset()
func (x *SegmentParameterFilterExpressionList) String() string
type SegmentParameterFilterExpression_AndGroup struct { // The SegmentParameterFilterExpression in `andGroup` have an AND // relationship. AndGroup *SegmentParameterFilterExpressionList `protobuf:"bytes,1,opt,name=and_group,json=andGroup,proto3,oneof"` }
type SegmentParameterFilterExpression_NotExpression struct { // The SegmentParameterFilterExpression is NOT of `notExpression`. NotExpression *SegmentParameterFilterExpression `protobuf:"bytes,3,opt,name=not_expression,json=notExpression,proto3,oneof"` }
type SegmentParameterFilterExpression_OrGroup struct { // The SegmentParameterFilterExpression in `orGroup` have an OR // relationship. OrGroup *SegmentParameterFilterExpressionList `protobuf:"bytes,2,opt,name=or_group,json=orGroup,proto3,oneof"` }
type SegmentParameterFilterExpression_SegmentParameterFilter struct { // A primitive segment parameter filter. SegmentParameterFilter *SegmentParameterFilter `protobuf:"bytes,4,opt,name=segment_parameter_filter,json=segmentParameterFilter,proto3,oneof"` }
Scopings specify how multiple events should be considered when evaluating a segment parameter filter.
type SegmentParameterFilterScoping struct { // Accumulates the parameter over the specified period of days before // applying the filter. Only supported if criteria scoping is // `ACROSS_ALL_SESSIONS` or `WITHIN_SAME_SESSION`. Only supported if the // parameter is `event_count`. // // For example if `inAnyNDayPeriod` is 3, the event_name is "purchase", // the event parameter is "event_count", and the Filter's criteria is // greater than 5, this filter will accumulate the event count of purchase // events over every 3 consecutive day period in the report's date range; a // user will pass this Filter's criteria to be included in this segment if // their count of purchase events exceeds 5 in any 3 consecutive day period. // For example, the periods 2021-11-01 to 2021-11-03, 2021-11-02 to // 2021-11-04, 2021-11-03 to 2021-11-05, and etc. will be considered. // // The date range is not extended for the purpose of having a full N day // window near the start of the date range. For example if a report is for // 2021-11-01 to 2021-11-10 and `inAnyNDayPeriod` = 3, the first two day // period will be effectively shortened because no event data outside the // report's date range will be read. For example, the first four periods // will effectively be: 2021-11-01 to 2021-11-01, 2021-11-01 to 2021-11-02, // 2021-11-01 to 2021-11-03, and 2021-11-02 to 2021-11-04. // // `inAnyNDayPeriod` is optional. If not specified, the // `segmentParameterFilter` is applied to each event individually. InAnyNDayPeriod *int64 `protobuf:"varint,1,opt,name=in_any_n_day_period,json=inAnyNDayPeriod,proto3,oneof" json:"in_any_n_day_period,omitempty"` // contains filtered or unexported fields }
func (*SegmentParameterFilterScoping) Descriptor() ([]byte, []int)
Deprecated: Use SegmentParameterFilterScoping.ProtoReflect.Descriptor instead.
func (x *SegmentParameterFilterScoping) GetInAnyNDayPeriod() int64
func (*SegmentParameterFilterScoping) ProtoMessage()
func (x *SegmentParameterFilterScoping) ProtoReflect() protoreflect.Message
func (x *SegmentParameterFilterScoping) Reset()
func (x *SegmentParameterFilterScoping) String() string
type SegmentParameterFilter_BetweenFilter struct { // A filter for between two values. BetweenFilter *BetweenFilter `protobuf:"bytes,7,opt,name=between_filter,json=betweenFilter,proto3,oneof"` }
type SegmentParameterFilter_EventParameterName struct { // This filter will be evaluated on the specified event parameter. Event // parameters are logged as parameters of the event. Event parameters // include fields like "firebase_screen" & "currency". // // Event parameters can only be used in segments & funnels and can only be // used in a descendent filter from an EventFilter. In a descendent filter // from an EventFilter either event or item parameters should be used. EventParameterName string `protobuf:"bytes,1,opt,name=event_parameter_name,json=eventParameterName,proto3,oneof"` }
type SegmentParameterFilter_InListFilter struct { // A filter for in list values. InListFilter *InListFilter `protobuf:"bytes,5,opt,name=in_list_filter,json=inListFilter,proto3,oneof"` }
type SegmentParameterFilter_ItemParameterName struct { // This filter will be evaluated on the specified item parameter. Item // parameters are logged as parameters in the item array. Item parameters // include fields like "item_name" & "item_category". // // Item parameters can only be used in segments & funnels and can only be // used in a descendent filter from an EventFilter. In a descendent filter // from an EventFilter either event or item parameters should be used. // // Item parameters are only available in ecommerce events. To learn more // about ecommerce events, see the [Measure ecommerce] // (https://developers.google.com/analytics/devguides/collection/ga4/ecommerce) // guide. ItemParameterName string `protobuf:"bytes,2,opt,name=item_parameter_name,json=itemParameterName,proto3,oneof"` }
type SegmentParameterFilter_NumericFilter struct { // A filter for numeric or date values. NumericFilter *NumericFilter `protobuf:"bytes,6,opt,name=numeric_filter,json=numericFilter,proto3,oneof"` }
type SegmentParameterFilter_StringFilter struct { // Strings related filter. StringFilter *StringFilter `protobuf:"bytes,4,opt,name=string_filter,json=stringFilter,proto3,oneof"` }
type Segment_EventSegment struct { // Event segments are subsets of events that were triggered on your site or // app. EventSegment *EventSegment `protobuf:"bytes,4,opt,name=event_segment,json=eventSegment,proto3,oneof"` }
type Segment_SessionSegment struct { // Session segments are subsets of the sessions that occurred on your site // or app. SessionSegment *SessionSegment `protobuf:"bytes,3,opt,name=session_segment,json=sessionSegment,proto3,oneof"` }
type Segment_UserSegment struct { // User segments are subsets of users who engaged with your site or app. UserSegment *UserSegment `protobuf:"bytes,2,opt,name=user_segment,json=userSegment,proto3,oneof"` }
Scoping specifies which events are considered when evaluating if a session meets a criteria.
type SessionCriteriaScoping int32
const ( // Unspecified criteria scoping. Do not specify. SessionCriteriaScoping_SESSION_CRITERIA_SCOPING_UNSPECIFIED SessionCriteriaScoping = 0 // If the criteria is satisfied within one event, the session matches the // criteria. SessionCriteriaScoping_SESSION_CRITERIA_WITHIN_SAME_EVENT SessionCriteriaScoping = 1 // If the criteria is satisfied within one session, the session matches // the criteria. SessionCriteriaScoping_SESSION_CRITERIA_WITHIN_SAME_SESSION SessionCriteriaScoping = 2 )
func (SessionCriteriaScoping) Descriptor() protoreflect.EnumDescriptor
func (x SessionCriteriaScoping) Enum() *SessionCriteriaScoping
func (SessionCriteriaScoping) EnumDescriptor() ([]byte, []int)
Deprecated: Use SessionCriteriaScoping.Descriptor instead.
func (x SessionCriteriaScoping) Number() protoreflect.EnumNumber
func (x SessionCriteriaScoping) String() string
func (SessionCriteriaScoping) Type() protoreflect.EnumType
Enumerates options for how long an exclusion will last if a session matches the `sessionExclusionCriteria`.
type SessionExclusionDuration int32
const ( // Unspecified exclusion duration. Do not specify. SessionExclusionDuration_SESSION_EXCLUSION_DURATION_UNSPECIFIED SessionExclusionDuration = 0 // Temporarily exclude sessions from the segment during periods when the // session meets the `sessionExclusionCriteria` condition. SessionExclusionDuration_SESSION_EXCLUSION_TEMPORARY SessionExclusionDuration = 1 // Permanently exclude sessions from the segment if the session ever meets // the `sessionExclusionCriteria` condition. SessionExclusionDuration_SESSION_EXCLUSION_PERMANENT SessionExclusionDuration = 2 )
func (SessionExclusionDuration) Descriptor() protoreflect.EnumDescriptor
func (x SessionExclusionDuration) Enum() *SessionExclusionDuration
func (SessionExclusionDuration) EnumDescriptor() ([]byte, []int)
Deprecated: Use SessionExclusionDuration.Descriptor instead.
func (x SessionExclusionDuration) Number() protoreflect.EnumNumber
func (x SessionExclusionDuration) String() string
func (SessionExclusionDuration) Type() protoreflect.EnumType
Session segments are subsets of the sessions that occurred on your site or app: for example, all the sessions that originated from a particular advertising campaign.
type SessionSegment struct { // Defines which sessions are included in this segment. Optional. SessionInclusionCriteria *SessionSegmentCriteria `protobuf:"bytes,1,opt,name=session_inclusion_criteria,json=sessionInclusionCriteria,proto3" json:"session_inclusion_criteria,omitempty"` // Defines which sessions are excluded in this segment. Optional. Exclusion *SessionSegmentExclusion `protobuf:"bytes,2,opt,name=exclusion,proto3" json:"exclusion,omitempty"` // contains filtered or unexported fields }
func (*SessionSegment) Descriptor() ([]byte, []int)
Deprecated: Use SessionSegment.ProtoReflect.Descriptor instead.
func (x *SessionSegment) GetExclusion() *SessionSegmentExclusion
func (x *SessionSegment) GetSessionInclusionCriteria() *SessionSegmentCriteria
func (*SessionSegment) ProtoMessage()
func (x *SessionSegment) ProtoReflect() protoreflect.Message
func (x *SessionSegment) Reset()
func (x *SessionSegment) String() string
Conditions tell Analytics what data to include in or exclude from the segment.
type SessionSegmentConditionGroup struct { // Data is included or excluded from the segment based on if it matches // the condition group. This scoping defines how many events the // `segmentFilterExpression` is evaluated on before the condition group // is determined to be matched or not. For example if `conditionScoping = // SESSION_CRITERIA_WITHIN_SAME_SESSION`, the expression is evaluated on all // events in a session, and then, the condition group is determined to be // matched or not for this session. For example if `conditionScoping = // SESSION_CRITERIA_WITHIN_SAME_EVENT`, the expression is evaluated on a // single event, and then, the condition group is determined to be matched or // not for this session. // // Optional. If unspecified, a `conditionScoping` of `WITHIN_SAME_SESSION` // is used. ConditionScoping SessionCriteriaScoping `protobuf:"varint,1,opt,name=condition_scoping,json=conditionScoping,proto3,enum=google.analytics.data.v1alpha.SessionCriteriaScoping" json:"condition_scoping,omitempty"` // Data is included or excluded from the segment based on if it matches // this expression. Expressions express criteria on dimension, metrics, // and/or parameters. SegmentFilterExpression *SegmentFilterExpression `protobuf:"bytes,2,opt,name=segment_filter_expression,json=segmentFilterExpression,proto3" json:"segment_filter_expression,omitempty"` // contains filtered or unexported fields }
func (*SessionSegmentConditionGroup) Descriptor() ([]byte, []int)
Deprecated: Use SessionSegmentConditionGroup.ProtoReflect.Descriptor instead.
func (x *SessionSegmentConditionGroup) GetConditionScoping() SessionCriteriaScoping
func (x *SessionSegmentConditionGroup) GetSegmentFilterExpression() *SegmentFilterExpression
func (*SessionSegmentConditionGroup) ProtoMessage()
func (x *SessionSegmentConditionGroup) ProtoReflect() protoreflect.Message
func (x *SessionSegmentConditionGroup) Reset()
func (x *SessionSegmentConditionGroup) String() string
A session matches a criteria if the session's events meet the conditions in the criteria.
type SessionSegmentCriteria struct { // A session matches this criteria if the session matches each of these // `andConditionGroups`. AndConditionGroups []*SessionSegmentConditionGroup `protobuf:"bytes,1,rep,name=and_condition_groups,json=andConditionGroups,proto3" json:"and_condition_groups,omitempty"` // contains filtered or unexported fields }
func (*SessionSegmentCriteria) Descriptor() ([]byte, []int)
Deprecated: Use SessionSegmentCriteria.ProtoReflect.Descriptor instead.
func (x *SessionSegmentCriteria) GetAndConditionGroups() []*SessionSegmentConditionGroup
func (*SessionSegmentCriteria) ProtoMessage()
func (x *SessionSegmentCriteria) ProtoReflect() protoreflect.Message
func (x *SessionSegmentCriteria) Reset()
func (x *SessionSegmentCriteria) String() string
Specifies which sessions are excluded in this segment.
type SessionSegmentExclusion struct { // Specifies how long an exclusion will last if a session matches the // `sessionExclusionCriteria`. // // Optional. If unspecified, a `sessionExclusionDuration` of // `SESSION_EXCLUSION_TEMPORARY` is used. SessionExclusionDuration SessionExclusionDuration `protobuf:"varint,1,opt,name=session_exclusion_duration,json=sessionExclusionDuration,proto3,enum=google.analytics.data.v1alpha.SessionExclusionDuration" json:"session_exclusion_duration,omitempty"` // If a session meets this condition, the session is excluded from // membership in the segment for the `sessionExclusionDuration`. SessionExclusionCriteria *SessionSegmentCriteria `protobuf:"bytes,2,opt,name=session_exclusion_criteria,json=sessionExclusionCriteria,proto3" json:"session_exclusion_criteria,omitempty"` // contains filtered or unexported fields }
func (*SessionSegmentExclusion) Descriptor() ([]byte, []int)
Deprecated: Use SessionSegmentExclusion.ProtoReflect.Descriptor instead.
func (x *SessionSegmentExclusion) GetSessionExclusionCriteria() *SessionSegmentCriteria
func (x *SessionSegmentExclusion) GetSessionExclusionDuration() SessionExclusionDuration
func (*SessionSegmentExclusion) ProtoMessage()
func (x *SessionSegmentExclusion) ProtoReflect() protoreflect.Message
func (x *SessionSegmentExclusion) Reset()
func (x *SessionSegmentExclusion) String() string
The filter for string
type StringFilter struct { // The match type for this filter. MatchType StringFilter_MatchType `protobuf:"varint,1,opt,name=match_type,json=matchType,proto3,enum=google.analytics.data.v1alpha.StringFilter_MatchType" json:"match_type,omitempty"` // The string value used for the matching. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // If true, the string value is case sensitive. CaseSensitive bool `protobuf:"varint,3,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"` // contains filtered or unexported fields }
func (*StringFilter) Descriptor() ([]byte, []int)
Deprecated: Use StringFilter.ProtoReflect.Descriptor instead.
func (x *StringFilter) GetCaseSensitive() bool
func (x *StringFilter) GetMatchType() StringFilter_MatchType
func (x *StringFilter) GetValue() string
func (*StringFilter) ProtoMessage()
func (x *StringFilter) ProtoReflect() protoreflect.Message
func (x *StringFilter) Reset()
func (x *StringFilter) String() string
The match type of a string filter
type StringFilter_MatchType int32
const ( // Unspecified StringFilter_MATCH_TYPE_UNSPECIFIED StringFilter_MatchType = 0 // Exact match of the string value. StringFilter_EXACT StringFilter_MatchType = 1 // Begins with the string value. StringFilter_BEGINS_WITH StringFilter_MatchType = 2 // Ends with the string value. StringFilter_ENDS_WITH StringFilter_MatchType = 3 // Contains the string value. StringFilter_CONTAINS StringFilter_MatchType = 4 // Full match for the regular expression with the string value. StringFilter_FULL_REGEXP StringFilter_MatchType = 5 // Partial match for the regular expression with the string value. StringFilter_PARTIAL_REGEXP StringFilter_MatchType = 6 )
func (StringFilter_MatchType) Descriptor() protoreflect.EnumDescriptor
func (x StringFilter_MatchType) Enum() *StringFilter_MatchType
func (StringFilter_MatchType) EnumDescriptor() ([]byte, []int)
Deprecated: Use StringFilter_MatchType.Descriptor instead.
func (x StringFilter_MatchType) Number() protoreflect.EnumNumber
func (x StringFilter_MatchType) String() string
func (StringFilter_MatchType) Type() protoreflect.EnumType
UnimplementedAlphaAnalyticsDataServer can be embedded to have forward compatible implementations.
type UnimplementedAlphaAnalyticsDataServer struct { }
func (*UnimplementedAlphaAnalyticsDataServer) RunFunnelReport(context.Context, *RunFunnelReportRequest) (*RunFunnelReportResponse, error)
Scoping specifies which events are considered when evaluating if a user meets a criteria.
type UserCriteriaScoping int32
const ( // Unspecified criteria scoping. Do not specify. UserCriteriaScoping_USER_CRITERIA_SCOPING_UNSPECIFIED UserCriteriaScoping = 0 // If the criteria is satisfied within one event, the user matches the // criteria. UserCriteriaScoping_USER_CRITERIA_WITHIN_SAME_EVENT UserCriteriaScoping = 1 // If the criteria is satisfied within one session, the user matches the // criteria. UserCriteriaScoping_USER_CRITERIA_WITHIN_SAME_SESSION UserCriteriaScoping = 2 // If the criteria is satisfied by any events for the user, the user // matches the criteria. UserCriteriaScoping_USER_CRITERIA_ACROSS_ALL_SESSIONS UserCriteriaScoping = 3 )
func (UserCriteriaScoping) Descriptor() protoreflect.EnumDescriptor
func (x UserCriteriaScoping) Enum() *UserCriteriaScoping
func (UserCriteriaScoping) EnumDescriptor() ([]byte, []int)
Deprecated: Use UserCriteriaScoping.Descriptor instead.
func (x UserCriteriaScoping) Number() protoreflect.EnumNumber
func (x UserCriteriaScoping) String() string
func (UserCriteriaScoping) Type() protoreflect.EnumType
Enumerates options for how long an exclusion will last if a user matches the `userExclusionCriteria`.
type UserExclusionDuration int32
const ( // Unspecified exclusion duration. Do not specify. UserExclusionDuration_USER_EXCLUSION_DURATION_UNSPECIFIED UserExclusionDuration = 0 // Temporarily exclude users from the segment during periods when the // user meets the `userExclusionCriteria` condition. UserExclusionDuration_USER_EXCLUSION_TEMPORARY UserExclusionDuration = 1 // Permanently exclude users from the segment if the user ever meets the // `userExclusionCriteria` condition. UserExclusionDuration_USER_EXCLUSION_PERMANENT UserExclusionDuration = 2 )
func (UserExclusionDuration) Descriptor() protoreflect.EnumDescriptor
func (x UserExclusionDuration) Enum() *UserExclusionDuration
func (UserExclusionDuration) EnumDescriptor() ([]byte, []int)
Deprecated: Use UserExclusionDuration.Descriptor instead.
func (x UserExclusionDuration) Number() protoreflect.EnumNumber
func (x UserExclusionDuration) String() string
func (UserExclusionDuration) Type() protoreflect.EnumType
User segments are subsets of users who engaged with your site or app. For example, users who have previously purchased; users who added items to their shopping carts, but didn’t complete a purchase.
type UserSegment struct { // Defines which users are included in this segment. Optional. UserInclusionCriteria *UserSegmentCriteria `protobuf:"bytes,1,opt,name=user_inclusion_criteria,json=userInclusionCriteria,proto3" json:"user_inclusion_criteria,omitempty"` // Defines which users are excluded in this segment. Optional. Exclusion *UserSegmentExclusion `protobuf:"bytes,2,opt,name=exclusion,proto3" json:"exclusion,omitempty"` // contains filtered or unexported fields }
func (*UserSegment) Descriptor() ([]byte, []int)
Deprecated: Use UserSegment.ProtoReflect.Descriptor instead.
func (x *UserSegment) GetExclusion() *UserSegmentExclusion
func (x *UserSegment) GetUserInclusionCriteria() *UserSegmentCriteria
func (*UserSegment) ProtoMessage()
func (x *UserSegment) ProtoReflect() protoreflect.Message
func (x *UserSegment) Reset()
func (x *UserSegment) String() string
Conditions tell Analytics what data to include in or exclude from the segment.
type UserSegmentConditionGroup struct { // Data is included or excluded from the segment based on if it matches // the condition group. This scoping defines how many events the // `segmentFilterExpression` is evaluated on before the condition group // is determined to be matched or not. For example if `conditionScoping = // USER_CRITERIA_WITHIN_SAME_SESSION`, the expression is evaluated on all // events in a session, and then, the condition group is determined to be // matched or not for this user. For example if `conditionScoping = // USER_CRITERIA_WITHIN_SAME_EVENT`, the expression is evaluated on a single // event, and then, the condition group is determined to be matched or not for // this user. // // Optional. If unspecified, `conditionScoping = ACROSS_ALL_SESSIONS` is // used. ConditionScoping UserCriteriaScoping `protobuf:"varint,1,opt,name=condition_scoping,json=conditionScoping,proto3,enum=google.analytics.data.v1alpha.UserCriteriaScoping" json:"condition_scoping,omitempty"` // Data is included or excluded from the segment based on if it matches // this expression. Expressions express criteria on dimension, metrics, // and/or parameters. SegmentFilterExpression *SegmentFilterExpression `protobuf:"bytes,2,opt,name=segment_filter_expression,json=segmentFilterExpression,proto3" json:"segment_filter_expression,omitempty"` // contains filtered or unexported fields }
func (*UserSegmentConditionGroup) Descriptor() ([]byte, []int)
Deprecated: Use UserSegmentConditionGroup.ProtoReflect.Descriptor instead.
func (x *UserSegmentConditionGroup) GetConditionScoping() UserCriteriaScoping
func (x *UserSegmentConditionGroup) GetSegmentFilterExpression() *SegmentFilterExpression
func (*UserSegmentConditionGroup) ProtoMessage()
func (x *UserSegmentConditionGroup) ProtoReflect() protoreflect.Message
func (x *UserSegmentConditionGroup) Reset()
func (x *UserSegmentConditionGroup) String() string
A user matches a criteria if the user's events meet the conditions in the criteria.
type UserSegmentCriteria struct { // A user matches this criteria if the user matches each of these // `andConditionGroups` and each of the `andSequenceGroups`. // `andConditionGroups` may be empty if `andSequenceGroups` are specified. AndConditionGroups []*UserSegmentConditionGroup `protobuf:"bytes,1,rep,name=and_condition_groups,json=andConditionGroups,proto3" json:"and_condition_groups,omitempty"` // A user matches this criteria if the user matches each of these // `andSequenceGroups` and each of the `andConditionGroups`. // `andSequenceGroups` may be empty if `andConditionGroups` are specified. AndSequenceGroups []*UserSegmentSequenceGroup `protobuf:"bytes,2,rep,name=and_sequence_groups,json=andSequenceGroups,proto3" json:"and_sequence_groups,omitempty"` // contains filtered or unexported fields }
func (*UserSegmentCriteria) Descriptor() ([]byte, []int)
Deprecated: Use UserSegmentCriteria.ProtoReflect.Descriptor instead.
func (x *UserSegmentCriteria) GetAndConditionGroups() []*UserSegmentConditionGroup
func (x *UserSegmentCriteria) GetAndSequenceGroups() []*UserSegmentSequenceGroup
func (*UserSegmentCriteria) ProtoMessage()
func (x *UserSegmentCriteria) ProtoReflect() protoreflect.Message
func (x *UserSegmentCriteria) Reset()
func (x *UserSegmentCriteria) String() string
Specifies which users are excluded in this segment.
type UserSegmentExclusion struct { // Specifies how long an exclusion will last if a user matches the // `userExclusionCriteria`. // // Optional. If unspecified, `userExclusionDuration` of // `USER_EXCLUSION_TEMPORARY` is used. UserExclusionDuration UserExclusionDuration `protobuf:"varint,1,opt,name=user_exclusion_duration,json=userExclusionDuration,proto3,enum=google.analytics.data.v1alpha.UserExclusionDuration" json:"user_exclusion_duration,omitempty"` // If a user meets this condition, the user is excluded from membership in // the segment for the `userExclusionDuration`. UserExclusionCriteria *UserSegmentCriteria `protobuf:"bytes,2,opt,name=user_exclusion_criteria,json=userExclusionCriteria,proto3" json:"user_exclusion_criteria,omitempty"` // contains filtered or unexported fields }
func (*UserSegmentExclusion) Descriptor() ([]byte, []int)
Deprecated: Use UserSegmentExclusion.ProtoReflect.Descriptor instead.
func (x *UserSegmentExclusion) GetUserExclusionCriteria() *UserSegmentCriteria
func (x *UserSegmentExclusion) GetUserExclusionDuration() UserExclusionDuration
func (*UserSegmentExclusion) ProtoMessage()
func (x *UserSegmentExclusion) ProtoReflect() protoreflect.Message
func (x *UserSegmentExclusion) Reset()
func (x *UserSegmentExclusion) String() string
Define conditions that must occur in a specific order for the user to be a member of the segment.
type UserSegmentSequenceGroup struct { // All sequence steps must be satisfied in the scoping for the user to // match the sequence. For example if `sequenceScoping = // USER_CRITERIA_WITHIN_SAME_SESSION`, all sequence steps must complete within // one session for the user to match the sequence. `sequenceScoping = // USER_CRITERIA_WITHIN_SAME_EVENT` is not supported. // // Optional. If unspecified, `conditionScoping = ACROSS_ALL_SESSIONS` is // used. SequenceScoping UserCriteriaScoping `protobuf:"varint,1,opt,name=sequence_scoping,json=sequenceScoping,proto3,enum=google.analytics.data.v1alpha.UserCriteriaScoping" json:"sequence_scoping,omitempty"` // Defines the time period in which the whole sequence must occur; for // example, 30 Minutes. `sequenceMaximumDuration` is inclusive // of the endpoint at the microsecond granularity. For example a sequence // with a maximum duration of 5 seconds can be completed at 4.9 or 5.0 // seconds, but not 5 seconds and 1 microsecond. // // `sequenceMaximumDuration` is optional, and if unspecified, sequences can // be completed in any time duration. SequenceMaximumDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=sequence_maximum_duration,json=sequenceMaximumDuration,proto3" json:"sequence_maximum_duration,omitempty"` // An ordered sequence of condition steps. A user's events must complete // each step in order for the user to match the // `UserSegmentSequenceGroup`. UserSequenceSteps []*UserSequenceStep `protobuf:"bytes,3,rep,name=user_sequence_steps,json=userSequenceSteps,proto3" json:"user_sequence_steps,omitempty"` // contains filtered or unexported fields }
func (*UserSegmentSequenceGroup) Descriptor() ([]byte, []int)
Deprecated: Use UserSegmentSequenceGroup.ProtoReflect.Descriptor instead.
func (x *UserSegmentSequenceGroup) GetSequenceMaximumDuration() *durationpb.Duration
func (x *UserSegmentSequenceGroup) GetSequenceScoping() UserCriteriaScoping
func (x *UserSegmentSequenceGroup) GetUserSequenceSteps() []*UserSequenceStep
func (*UserSegmentSequenceGroup) ProtoMessage()
func (x *UserSegmentSequenceGroup) ProtoReflect() protoreflect.Message
func (x *UserSegmentSequenceGroup) Reset()
func (x *UserSegmentSequenceGroup) String() string
A condition that must occur in the specified step order for this user to match the sequence.
type UserSequenceStep struct { // If true, the event satisfying this step must be the very next event // after the event satifying the last step. If false, this step indirectly // follows the prior step; for example, there may be events between the // prior step and this step. `isDirectlyFollowedBy` must be false for // the first step. IsDirectlyFollowedBy bool `protobuf:"varint,1,opt,name=is_directly_followed_by,json=isDirectlyFollowedBy,proto3" json:"is_directly_followed_by,omitempty"` // This sequence step must be satisfied in the scoping for the user to // match the sequence. For example if `sequenceScoping = // WITHIN_SAME_SESSION`, this sequence steps must complete within one // session for the user to match the sequence. `stepScoping = // ACROSS_ALL_SESSIONS` is only allowed if the `sequenceScoping = // ACROSS_ALL_SESSIONS`. // // Optional. If unspecified, `stepScoping` uses the same // `UserCriteriaScoping` as the `sequenceScoping`. StepScoping UserCriteriaScoping `protobuf:"varint,2,opt,name=step_scoping,json=stepScoping,proto3,enum=google.analytics.data.v1alpha.UserCriteriaScoping" json:"step_scoping,omitempty"` // A user matches this sequence step if their events match this // expression. Expressions express criteria on dimension, metrics, // and/or parameters. SegmentFilterExpression *SegmentFilterExpression `protobuf:"bytes,3,opt,name=segment_filter_expression,json=segmentFilterExpression,proto3" json:"segment_filter_expression,omitempty"` // contains filtered or unexported fields }
func (*UserSequenceStep) Descriptor() ([]byte, []int)
Deprecated: Use UserSequenceStep.ProtoReflect.Descriptor instead.
func (x *UserSequenceStep) GetIsDirectlyFollowedBy() bool
func (x *UserSequenceStep) GetSegmentFilterExpression() *SegmentFilterExpression
func (x *UserSequenceStep) GetStepScoping() UserCriteriaScoping
func (*UserSequenceStep) ProtoMessage()
func (x *UserSequenceStep) ProtoReflect() protoreflect.Message
func (x *UserSequenceStep) Reset()
func (x *UserSequenceStep) String() string