blob: a92aa2a2895fcb5ca5c3050839f6a7f759ce899a [file] [log] [blame]
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="analyticsreporting_v4.html">Analytics Reporting API</a> . <a href="analyticsreporting_v4.reports.html">reports</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#batchGet">batchGet(body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Returns the Analytics data.</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="batchGet">batchGet(body=None, x__xgafv=None)</code>
<pre>Returns the Analytics data.
Args:
body: object, The request body.
The object takes the form of:
{ # The batch request containing multiple report request.
&quot;useResourceQuotas&quot;: True or False, # Enables
# [resource based
# quotas](/analytics/devguides/reporting/core/v4/limits-quotas#analytics_reporting_api_v4),
# (defaults to `False`). If this field is set to `True` the
# per view (profile) quotas are governed by the computational
# cost of the request. Note that using cost based quotas will
# higher enable sampling rates. (10 Million for `SMALL`,
# 100M for `LARGE`. See the
# [limits and quotas
# documentation](/analytics/devguides/reporting/core/v4/limits-quotas#analytics_reporting_api_v4)
# for details.
&quot;reportRequests&quot;: [ # Requests, each request will have a separate response.
# There can be a maximum of 5 requests. All requests should have the same
# `dateRanges`, `viewId`, `segments`, `samplingLevel`, and `cohortGroup`.
{ # The main request class which specifies the Reporting API request.
&quot;orderBys&quot;: [ # Sort order on output rows. To compare two rows, the elements of the
# following are applied in order until a difference is found. All date
# ranges in the output get the same row order.
{ # Specifies the sorting options.
&quot;sortOrder&quot;: &quot;A String&quot;, # The sorting order for the field.
&quot;fieldName&quot;: &quot;A String&quot;, # The field which to sort by. The default sort order is ascending. Example:
# `ga:browser`.
# Note, that you can only specify one field for sort here. For example,
# `ga:browser, ga:city` is not valid.
&quot;orderType&quot;: &quot;A String&quot;, # The order type. The default orderType is `VALUE`.
},
],
&quot;pageSize&quot;: 42, # Page size is for paging and specifies the maximum number of returned rows.
# Page size should be &gt;= 0. A query returns the default of 1,000 rows.
# The Analytics Core Reporting API returns a maximum of 100,000 rows per
# request, no matter how many you ask for. It can also return fewer rows
# than requested, if there aren&#x27;t as many dimension segments as you expect.
# For instance, there are fewer than 300 possible values for `ga:country`,
# so when segmenting only by country, you can&#x27;t get more than 300 rows,
# even if you set `pageSize` to a higher value.
&quot;filtersExpression&quot;: &quot;A String&quot;, # Dimension or metric filters that restrict the data returned for your
# request. To use the `filtersExpression`, supply a dimension or metric on
# which to filter, followed by the filter expression. For example, the
# following expression selects `ga:browser` dimension which starts with
# Firefox; `ga:browser=~^Firefox`. For more information on dimensions
# and metric filters, see
# [Filters
# reference](https://developers.google.com/analytics/devguides/reporting/core/v3/reference#filters).
&quot;dimensions&quot;: [ # The dimensions requested.
# Requests can have a total of 9 dimensions.
{ # [Dimensions](https://support.google.com/analytics/answer/1033861)
# are attributes of your data. For example, the dimension `ga:city`
# indicates the city, for example, &quot;Paris&quot; or &quot;New York&quot;, from which
# a session originates.
&quot;histogramBuckets&quot;: [ # If non-empty, we place dimension values into buckets after string to
# int64. Dimension values that are not the string representation of an
# integral value will be converted to zero. The bucket values have to be in
# increasing order. Each bucket is closed on the lower end, and open on the
# upper end. The &quot;first&quot; bucket includes all values less than the first
# boundary, the &quot;last&quot; bucket includes all values up to infinity. Dimension
# values that fall in a bucket get transformed to a new dimension value. For
# example, if one gives a list of &quot;0, 1, 3, 4, 7&quot;, then we return the
# following buckets:
#
# - bucket #1: values &lt; 0, dimension value &quot;&lt;0&quot;
# - bucket #2: values in [0,1), dimension value &quot;0&quot;
# - bucket #3: values in [1,3), dimension value &quot;1-2&quot;
# - bucket #4: values in [3,4), dimension value &quot;3&quot;
# - bucket #5: values in [4,7), dimension value &quot;4-6&quot;
# - bucket #6: values &gt;= 7, dimension value &quot;7+&quot;
#
# NOTE: If you are applying histogram mutation on any dimension, and using
# that dimension in sort, you will want to use the sort type
# `HISTOGRAM_BUCKET` for that purpose. Without that the dimension values
# will be sorted according to dictionary
# (lexicographic) order. For example the ascending dictionary order is:
#
# &quot;&lt;50&quot;, &quot;1001+&quot;, &quot;121-1000&quot;, &quot;50-120&quot;
#
# And the ascending `HISTOGRAM_BUCKET` order is:
#
# &quot;&lt;50&quot;, &quot;50-120&quot;, &quot;121-1000&quot;, &quot;1001+&quot;
#
# The client has to explicitly request `&quot;orderType&quot;: &quot;HISTOGRAM_BUCKET&quot;`
# for a histogram-mutated dimension.
&quot;A String&quot;,
],
&quot;name&quot;: &quot;A String&quot;, # Name of the dimension to fetch, for example `ga:browser`.
},
],
&quot;dimensionFilterClauses&quot;: [ # The dimension filter clauses for filtering Dimension Values. They are
# logically combined with the `AND` operator. Note that filtering occurs
# before any dimensions are aggregated, so that the returned metrics
# represent the total for only the relevant dimensions.
{ # A group of dimension filters. Set the operator value to specify how
# the filters are logically combined.
&quot;operator&quot;: &quot;A String&quot;, # The operator for combining multiple dimension filters. If unspecified, it
# is treated as an `OR`.
&quot;filters&quot;: [ # The repeated set of filters. They are logically combined based on the
# operator specified.
{ # Dimension filter specifies the filtering options on a dimension.
&quot;not&quot;: True or False, # Logical `NOT` operator. If this boolean is set to true, then the matching
# dimension values will be excluded in the report. The default is false.
&quot;operator&quot;: &quot;A String&quot;, # How to match the dimension to the expression. The default is REGEXP.
&quot;caseSensitive&quot;: True or False, # Should the match be case sensitive? Default is false.
&quot;expressions&quot;: [ # Strings or regular expression to match against. Only the first value of
# the list is used for comparison unless the operator is `IN_LIST`.
# If `IN_LIST` operator, then the entire list is used to filter the
# dimensions as explained in the description of the `IN_LIST` operator.
&quot;A String&quot;,
],
&quot;dimensionName&quot;: &quot;A String&quot;, # The dimension to filter on. A DimensionFilter must contain a dimension.
},
],
},
],
&quot;cohortGroup&quot;: { # Defines a cohort group. # Cohort group associated with this request. If there is a cohort group
# in the request the `ga:cohort` dimension must be present.
# Every [ReportRequest](#ReportRequest) within a `batchGet` method must
# contain the same `cohortGroup` definition.
# For example:
#
# &quot;cohortGroup&quot;: {
# &quot;cohorts&quot;: [{
# &quot;name&quot;: &quot;cohort 1&quot;,
# &quot;type&quot;: &quot;FIRST_VISIT_DATE&quot;,
# &quot;dateRange&quot;: { &quot;startDate&quot;: &quot;2015-08-01&quot;, &quot;endDate&quot;: &quot;2015-08-01&quot; }
# },{
# &quot;name&quot;: &quot;cohort 2&quot;
# &quot;type&quot;: &quot;FIRST_VISIT_DATE&quot;
# &quot;dateRange&quot;: { &quot;startDate&quot;: &quot;2015-07-01&quot;, &quot;endDate&quot;: &quot;2015-07-01&quot; }
# }]
# }
&quot;lifetimeValue&quot;: True or False, # Enable Life Time Value (LTV). LTV measures lifetime value for users
# acquired through different channels.
# Please see:
# [Cohort Analysis](https://support.google.com/analytics/answer/6074676) and
# [Lifetime Value](https://support.google.com/analytics/answer/6182550)
# If the value of lifetimeValue is false:
#
# - The metric values are similar to the values in the web interface cohort
# report.
# - The cohort definition date ranges must be aligned to the calendar week
# and month. i.e. while requesting `ga:cohortNthWeek` the `startDate` in
# the cohort definition should be a Sunday and the `endDate` should be the
# following Saturday, and for `ga:cohortNthMonth`, the `startDate`
# should be the 1st of the month and `endDate` should be the last day
# of the month.
#
# When the lifetimeValue is true:
#
# - The metric values will correspond to the values in the web interface
# LifeTime value report.
# - The Lifetime Value report shows you how user value (Revenue) and
# engagement (Appviews, Goal Completions, Sessions, and Session Duration)
# grow during the 90 days after a user is acquired.
# - The metrics are calculated as a cumulative average per user per the time
# increment.
# - The cohort definition date ranges need not be aligned to the calendar
# week and month boundaries.
# - The `viewId` must be an
# [app view
# ID](https://support.google.com/analytics/answer/2649553#WebVersusAppViews)
&quot;cohorts&quot;: [ # The definition for the cohort.
{ # Defines a cohort. A cohort is a group of users who share a common
# characteristic. For example, all users with the same acquisition date
# belong to the same cohort.
&quot;name&quot;: &quot;A String&quot;, # A unique name for the cohort. If not defined name will be auto-generated
# with values cohort_[1234...].
&quot;dateRange&quot;: { # A contiguous set of days: startDate, startDate + 1 day, ..., endDate. # This is used for `FIRST_VISIT_DATE` cohort, the cohort selects users
# whose first visit date is between start date and end date defined in the
# DateRange. The date ranges should be aligned for cohort requests. If the
# request contains `ga:cohortNthDay` it should be exactly one day long,
# if `ga:cohortNthWeek` it should be aligned to the week boundary (starting
# at Sunday and ending Saturday), and for `ga:cohortNthMonth` the date range
# should be aligned to the month (starting at the first and ending on the
# last day of the month).
# For LTV requests there are no such restrictions.
# You do not need to supply a date range for the
# `reportsRequest.dateRanges` field.
# The start and end dates are specified in
# [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.
&quot;endDate&quot;: &quot;A String&quot;, # The end date for the query in the format `YYYY-MM-DD`.
&quot;startDate&quot;: &quot;A String&quot;, # The start date for the query in the format `YYYY-MM-DD`.
},
&quot;type&quot;: &quot;A String&quot;, # Type of the cohort. The only supported type as of now is
# `FIRST_VISIT_DATE`. If this field is unspecified the cohort is treated
# as `FIRST_VISIT_DATE` type cohort.
},
],
},
&quot;includeEmptyRows&quot;: True or False, # If set to false, the response does not include rows if all the retrieved
# metrics are equal to zero. The default is false which will exclude these
# rows.
&quot;samplingLevel&quot;: &quot;A String&quot;, # The desired report
# [sample](https://support.google.com/analytics/answer/2637192) size.
# If the the `samplingLevel` field is unspecified the `DEFAULT` sampling
# level is used. Every [ReportRequest](#ReportRequest) within a
# `batchGet` method must contain the same `samplingLevel` definition. See
# [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
# for details.
&quot;pageToken&quot;: &quot;A String&quot;, # A continuation token to get the next page of the results. Adding this to
# the request will return the rows after the pageToken. The pageToken should
# be the value returned in the nextPageToken parameter in the response to
# the GetReports request.
&quot;hideTotals&quot;: True or False, # If set to true, hides the total of all metrics for all the matching rows,
# for every date range. The default false and will return the totals.
&quot;metrics&quot;: [ # The metrics requested.
# Requests must specify at least one metric. Requests can have a
# total of 10 metrics.
{ # [Metrics](https://support.google.com/analytics/answer/1033861)
# are the quantitative measurements. For example, the metric `ga:users`
# indicates the total number of users for the requested time period.
&quot;expression&quot;: &quot;A String&quot;, # A metric expression in the request. An expression is constructed from one
# or more metrics and numbers. Accepted operators include: Plus (+), Minus
# (-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis,
# Positive cardinal numbers (0-9), can include decimals and is limited to
# 1024 characters. Example `ga:totalRefunds/ga:users`, in most cases the
# metric expression is just a single metric name like `ga:users`.
# Adding mixed `MetricType` (E.g., `CURRENCY` + `PERCENTAGE`) metrics
# will result in unexpected results.
&quot;formattingType&quot;: &quot;A String&quot;, # Specifies how the metric expression should be formatted, for example
# `INTEGER`.
&quot;alias&quot;: &quot;A String&quot;, # An alias for the metric expression is an alternate name for the
# expression. The alias can be used for filtering and sorting. This field
# is optional and is useful if the expression is not a single metric but
# a complex expression which cannot be used in filtering and sorting.
# The alias is also used in the response column header.
},
],
&quot;segments&quot;: [ # Segment the data returned for the request. A segment definition helps look
# at a subset of the segment request. A request can contain up to four
# segments. Every [ReportRequest](#ReportRequest) within a
# `batchGet` method must contain the same `segments` definition. Requests
# with segments must have the `ga:segment` dimension.
{ # The segment definition, if the report needs to be segmented.
# A Segment is a subset of the Analytics data. For example, of the entire
# set of users, one Segment might be users from a particular country or city.
&quot;segmentId&quot;: &quot;A String&quot;, # The segment ID of a built-in or custom segment, for example `gaid::-3`.
&quot;dynamicSegment&quot;: { # Dynamic segment definition for defining the segment within the request. # A dynamic segment definition in the request.
# A segment can select users, sessions or both.
&quot;userSegment&quot;: { # SegmentDefinition defines the segment to be a set of SegmentFilters which # User Segment to select users to include in the segment.
# are combined together with a logical `AND` operation.
&quot;segmentFilters&quot;: [ # A segment is defined by a set of segment filters which are combined
# together with a logical `AND` operation.
{ # SegmentFilter defines the segment to be either a simple or a sequence
# segment. A simple segment condition contains dimension and metric conditions
# to select the sessions or users. A sequence segment condition can be used to
# select users or sessions based on sequential conditions.
&quot;sequenceSegment&quot;: { # Sequence conditions consist of one or more steps, where each step is defined # Sequence conditions consist of one or more steps, where each step is
# defined by one or more dimension/metric conditions. Multiple steps can
# be combined with special sequence operators.
# by one or more dimension/metric conditions. Multiple steps can be combined
# with special sequence operators.
&quot;firstStepShouldMatchFirstHit&quot;: True or False, # If set, first step condition must match the first hit of the visitor (in
# the date range).
&quot;segmentSequenceSteps&quot;: [ # The list of steps in the sequence.
{ # A segment sequence definition.
&quot;orFiltersForSegment&quot;: [ # A sequence is specified with a list of Or grouped filters which are
# combined with `AND` operator.
{ # A list of segment filters in the `OR` group are combined with the logical OR
# operator.
&quot;segmentFilterClauses&quot;: [ # List of segment filters to be combined with a `OR` operator.
{ # Filter Clause to be used in a segment definition, can be wither a metric or
# a dimension filter.
&quot;metricFilter&quot;: { # Metric filter to be used in a segment filter clause. # Metric Filter for the segment definition.
&quot;comparisonValue&quot;: &quot;A String&quot;, # The value to compare against. If the operator is `BETWEEN`, this value is
# treated as minimum comparison value.
&quot;operator&quot;: &quot;A String&quot;, # Specifies is the operation to perform to compare the metric. The default
# is `EQUAL`.
&quot;metricName&quot;: &quot;A String&quot;, # The metric that will be filtered on. A `metricFilter` must contain a
# metric name.
&quot;maxComparisonValue&quot;: &quot;A String&quot;, # Max comparison value is only used for `BETWEEN` operator.
&quot;scope&quot;: &quot;A String&quot;, # Scope for a metric defines the level at which that metric is defined. The
# specified metric scope must be equal to or greater than its primary scope
# as defined in the data model. The primary scope is defined by if the
# segment is selecting users or sessions.
},
&quot;not&quot;: True or False, # Matches the complement (`!`) of the filter.
&quot;dimensionFilter&quot;: { # Dimension filter specifies the filtering options on a dimension. # Dimension Filter for the segment definition.
&quot;caseSensitive&quot;: True or False, # Should the match be case sensitive, ignored for `IN_LIST` operator.
&quot;dimensionName&quot;: &quot;A String&quot;, # Name of the dimension for which the filter is being applied.
&quot;maxComparisonValue&quot;: &quot;A String&quot;, # Maximum comparison values for `BETWEEN` match type.
&quot;operator&quot;: &quot;A String&quot;, # The operator to use to match the dimension with the expressions.
&quot;expressions&quot;: [ # The list of expressions, only the first element is used for all operators
&quot;A String&quot;,
],
&quot;minComparisonValue&quot;: &quot;A String&quot;, # Minimum comparison values for `BETWEEN` match type.
},
},
],
},
],
&quot;matchType&quot;: &quot;A String&quot;, # Specifies if the step immediately precedes or can be any time before the
# next step.
},
],
},
&quot;not&quot;: True or False, # If true, match the complement of simple or sequence segment.
# For example, to match all visits not from &quot;New York&quot;, we can define the
# segment as follows:
#
# &quot;sessionSegment&quot;: {
# &quot;segmentFilters&quot;: [{
# &quot;simpleSegment&quot; :{
# &quot;orFiltersForSegment&quot;: [{
# &quot;segmentFilterClauses&quot;:[{
# &quot;dimensionFilter&quot;: {
# &quot;dimensionName&quot;: &quot;ga:city&quot;,
# &quot;expressions&quot;: [&quot;New York&quot;]
# }
# }]
# }]
# },
# &quot;not&quot;: &quot;True&quot;
# }]
# },
&quot;simpleSegment&quot;: { # A Simple segment conditions consist of one or more dimension/metric # A Simple segment conditions consist of one or more dimension/metric
# conditions that can be combined
# conditions that can be combined.
&quot;orFiltersForSegment&quot;: [ # A list of segment filters groups which are combined with logical `AND`
# operator.
{ # A list of segment filters in the `OR` group are combined with the logical OR
# operator.
&quot;segmentFilterClauses&quot;: [ # List of segment filters to be combined with a `OR` operator.
{ # Filter Clause to be used in a segment definition, can be wither a metric or
# a dimension filter.
&quot;metricFilter&quot;: { # Metric filter to be used in a segment filter clause. # Metric Filter for the segment definition.
&quot;comparisonValue&quot;: &quot;A String&quot;, # The value to compare against. If the operator is `BETWEEN`, this value is
# treated as minimum comparison value.
&quot;operator&quot;: &quot;A String&quot;, # Specifies is the operation to perform to compare the metric. The default
# is `EQUAL`.
&quot;metricName&quot;: &quot;A String&quot;, # The metric that will be filtered on. A `metricFilter` must contain a
# metric name.
&quot;maxComparisonValue&quot;: &quot;A String&quot;, # Max comparison value is only used for `BETWEEN` operator.
&quot;scope&quot;: &quot;A String&quot;, # Scope for a metric defines the level at which that metric is defined. The
# specified metric scope must be equal to or greater than its primary scope
# as defined in the data model. The primary scope is defined by if the
# segment is selecting users or sessions.
},
&quot;not&quot;: True or False, # Matches the complement (`!`) of the filter.
&quot;dimensionFilter&quot;: { # Dimension filter specifies the filtering options on a dimension. # Dimension Filter for the segment definition.
&quot;caseSensitive&quot;: True or False, # Should the match be case sensitive, ignored for `IN_LIST` operator.
&quot;dimensionName&quot;: &quot;A String&quot;, # Name of the dimension for which the filter is being applied.
&quot;maxComparisonValue&quot;: &quot;A String&quot;, # Maximum comparison values for `BETWEEN` match type.
&quot;operator&quot;: &quot;A String&quot;, # The operator to use to match the dimension with the expressions.
&quot;expressions&quot;: [ # The list of expressions, only the first element is used for all operators
&quot;A String&quot;,
],
&quot;minComparisonValue&quot;: &quot;A String&quot;, # Minimum comparison values for `BETWEEN` match type.
},
},
],
},
],
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # The name of the dynamic segment.
&quot;sessionSegment&quot;: { # SegmentDefinition defines the segment to be a set of SegmentFilters which # Session Segment to select sessions to include in the segment.
# are combined together with a logical `AND` operation.
&quot;segmentFilters&quot;: [ # A segment is defined by a set of segment filters which are combined
# together with a logical `AND` operation.
{ # SegmentFilter defines the segment to be either a simple or a sequence
# segment. A simple segment condition contains dimension and metric conditions
# to select the sessions or users. A sequence segment condition can be used to
# select users or sessions based on sequential conditions.
&quot;sequenceSegment&quot;: { # Sequence conditions consist of one or more steps, where each step is defined # Sequence conditions consist of one or more steps, where each step is
# defined by one or more dimension/metric conditions. Multiple steps can
# be combined with special sequence operators.
# by one or more dimension/metric conditions. Multiple steps can be combined
# with special sequence operators.
&quot;firstStepShouldMatchFirstHit&quot;: True or False, # If set, first step condition must match the first hit of the visitor (in
# the date range).
&quot;segmentSequenceSteps&quot;: [ # The list of steps in the sequence.
{ # A segment sequence definition.
&quot;orFiltersForSegment&quot;: [ # A sequence is specified with a list of Or grouped filters which are
# combined with `AND` operator.
{ # A list of segment filters in the `OR` group are combined with the logical OR
# operator.
&quot;segmentFilterClauses&quot;: [ # List of segment filters to be combined with a `OR` operator.
{ # Filter Clause to be used in a segment definition, can be wither a metric or
# a dimension filter.
&quot;metricFilter&quot;: { # Metric filter to be used in a segment filter clause. # Metric Filter for the segment definition.
&quot;comparisonValue&quot;: &quot;A String&quot;, # The value to compare against. If the operator is `BETWEEN`, this value is
# treated as minimum comparison value.
&quot;operator&quot;: &quot;A String&quot;, # Specifies is the operation to perform to compare the metric. The default
# is `EQUAL`.
&quot;metricName&quot;: &quot;A String&quot;, # The metric that will be filtered on. A `metricFilter` must contain a
# metric name.
&quot;maxComparisonValue&quot;: &quot;A String&quot;, # Max comparison value is only used for `BETWEEN` operator.
&quot;scope&quot;: &quot;A String&quot;, # Scope for a metric defines the level at which that metric is defined. The
# specified metric scope must be equal to or greater than its primary scope
# as defined in the data model. The primary scope is defined by if the
# segment is selecting users or sessions.
},
&quot;not&quot;: True or False, # Matches the complement (`!`) of the filter.
&quot;dimensionFilter&quot;: { # Dimension filter specifies the filtering options on a dimension. # Dimension Filter for the segment definition.
&quot;caseSensitive&quot;: True or False, # Should the match be case sensitive, ignored for `IN_LIST` operator.
&quot;dimensionName&quot;: &quot;A String&quot;, # Name of the dimension for which the filter is being applied.
&quot;maxComparisonValue&quot;: &quot;A String&quot;, # Maximum comparison values for `BETWEEN` match type.
&quot;operator&quot;: &quot;A String&quot;, # The operator to use to match the dimension with the expressions.
&quot;expressions&quot;: [ # The list of expressions, only the first element is used for all operators
&quot;A String&quot;,
],
&quot;minComparisonValue&quot;: &quot;A String&quot;, # Minimum comparison values for `BETWEEN` match type.
},
},
],
},
],
&quot;matchType&quot;: &quot;A String&quot;, # Specifies if the step immediately precedes or can be any time before the
# next step.
},
],
},
&quot;not&quot;: True or False, # If true, match the complement of simple or sequence segment.
# For example, to match all visits not from &quot;New York&quot;, we can define the
# segment as follows:
#
# &quot;sessionSegment&quot;: {
# &quot;segmentFilters&quot;: [{
# &quot;simpleSegment&quot; :{
# &quot;orFiltersForSegment&quot;: [{
# &quot;segmentFilterClauses&quot;:[{
# &quot;dimensionFilter&quot;: {
# &quot;dimensionName&quot;: &quot;ga:city&quot;,
# &quot;expressions&quot;: [&quot;New York&quot;]
# }
# }]
# }]
# },
# &quot;not&quot;: &quot;True&quot;
# }]
# },
&quot;simpleSegment&quot;: { # A Simple segment conditions consist of one or more dimension/metric # A Simple segment conditions consist of one or more dimension/metric
# conditions that can be combined
# conditions that can be combined.
&quot;orFiltersForSegment&quot;: [ # A list of segment filters groups which are combined with logical `AND`
# operator.
{ # A list of segment filters in the `OR` group are combined with the logical OR
# operator.
&quot;segmentFilterClauses&quot;: [ # List of segment filters to be combined with a `OR` operator.
{ # Filter Clause to be used in a segment definition, can be wither a metric or
# a dimension filter.
&quot;metricFilter&quot;: { # Metric filter to be used in a segment filter clause. # Metric Filter for the segment definition.
&quot;comparisonValue&quot;: &quot;A String&quot;, # The value to compare against. If the operator is `BETWEEN`, this value is
# treated as minimum comparison value.
&quot;operator&quot;: &quot;A String&quot;, # Specifies is the operation to perform to compare the metric. The default
# is `EQUAL`.
&quot;metricName&quot;: &quot;A String&quot;, # The metric that will be filtered on. A `metricFilter` must contain a
# metric name.
&quot;maxComparisonValue&quot;: &quot;A String&quot;, # Max comparison value is only used for `BETWEEN` operator.
&quot;scope&quot;: &quot;A String&quot;, # Scope for a metric defines the level at which that metric is defined. The
# specified metric scope must be equal to or greater than its primary scope
# as defined in the data model. The primary scope is defined by if the
# segment is selecting users or sessions.
},
&quot;not&quot;: True or False, # Matches the complement (`!`) of the filter.
&quot;dimensionFilter&quot;: { # Dimension filter specifies the filtering options on a dimension. # Dimension Filter for the segment definition.
&quot;caseSensitive&quot;: True or False, # Should the match be case sensitive, ignored for `IN_LIST` operator.
&quot;dimensionName&quot;: &quot;A String&quot;, # Name of the dimension for which the filter is being applied.
&quot;maxComparisonValue&quot;: &quot;A String&quot;, # Maximum comparison values for `BETWEEN` match type.
&quot;operator&quot;: &quot;A String&quot;, # The operator to use to match the dimension with the expressions.
&quot;expressions&quot;: [ # The list of expressions, only the first element is used for all operators
&quot;A String&quot;,
],
&quot;minComparisonValue&quot;: &quot;A String&quot;, # Minimum comparison values for `BETWEEN` match type.
},
},
],
},
],
},
},
],
},
},
},
],
&quot;hideValueRanges&quot;: True or False, # If set to true, hides the minimum and maximum across all matching rows.
# The default is false and the value ranges are returned.
&quot;pivots&quot;: [ # The pivot definitions. Requests can have a maximum of 2 pivots.
{ # The Pivot describes the pivot section in the request.
# The Pivot helps rearrange the information in the table for certain reports
# by pivoting your data on a second dimension.
&quot;dimensionFilterClauses&quot;: [ # DimensionFilterClauses are logically combined with an `AND` operator: only
# data that is included by all these DimensionFilterClauses contributes to
# the values in this pivot region. Dimension filters can be used to restrict
# the columns shown in the pivot region. For example if you have
# `ga:browser` as the requested dimension in the pivot region, and you
# specify key filters to restrict `ga:browser` to only &quot;IE&quot; or &quot;Firefox&quot;,
# then only those two browsers would show up as columns.
{ # A group of dimension filters. Set the operator value to specify how
# the filters are logically combined.
&quot;operator&quot;: &quot;A String&quot;, # The operator for combining multiple dimension filters. If unspecified, it
# is treated as an `OR`.
&quot;filters&quot;: [ # The repeated set of filters. They are logically combined based on the
# operator specified.
{ # Dimension filter specifies the filtering options on a dimension.
&quot;not&quot;: True or False, # Logical `NOT` operator. If this boolean is set to true, then the matching
# dimension values will be excluded in the report. The default is false.
&quot;operator&quot;: &quot;A String&quot;, # How to match the dimension to the expression. The default is REGEXP.
&quot;caseSensitive&quot;: True or False, # Should the match be case sensitive? Default is false.
&quot;expressions&quot;: [ # Strings or regular expression to match against. Only the first value of
# the list is used for comparison unless the operator is `IN_LIST`.
# If `IN_LIST` operator, then the entire list is used to filter the
# dimensions as explained in the description of the `IN_LIST` operator.
&quot;A String&quot;,
],
&quot;dimensionName&quot;: &quot;A String&quot;, # The dimension to filter on. A DimensionFilter must contain a dimension.
},
],
},
],
&quot;maxGroupCount&quot;: 42, # Specifies the maximum number of groups to return.
# The default value is 10, also the maximum value is 1,000.
&quot;startGroup&quot;: 42, # If k metrics were requested, then the response will contain some
# data-dependent multiple of k columns in the report. E.g., if you pivoted
# on the dimension `ga:browser` then you&#x27;d get k columns for &quot;Firefox&quot;, k
# columns for &quot;IE&quot;, k columns for &quot;Chrome&quot;, etc. The ordering of the groups
# of columns is determined by descending order of &quot;total&quot; for the first of
# the k values. Ties are broken by lexicographic ordering of the first
# pivot dimension, then lexicographic ordering of the second pivot
# dimension, and so on. E.g., if the totals for the first value for
# Firefox, IE, and Chrome were 8, 2, 8, respectively, the order of columns
# would be Chrome, Firefox, IE.
#
# The following let you choose which of the groups of k columns are
# included in the response.
&quot;metrics&quot;: [ # The pivot metrics. Pivot metrics are part of the
# restriction on total number of metrics allowed in the request.
{ # [Metrics](https://support.google.com/analytics/answer/1033861)
# are the quantitative measurements. For example, the metric `ga:users`
# indicates the total number of users for the requested time period.
&quot;expression&quot;: &quot;A String&quot;, # A metric expression in the request. An expression is constructed from one
# or more metrics and numbers. Accepted operators include: Plus (+), Minus
# (-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis,
# Positive cardinal numbers (0-9), can include decimals and is limited to
# 1024 characters. Example `ga:totalRefunds/ga:users`, in most cases the
# metric expression is just a single metric name like `ga:users`.
# Adding mixed `MetricType` (E.g., `CURRENCY` + `PERCENTAGE`) metrics
# will result in unexpected results.
&quot;formattingType&quot;: &quot;A String&quot;, # Specifies how the metric expression should be formatted, for example
# `INTEGER`.
&quot;alias&quot;: &quot;A String&quot;, # An alias for the metric expression is an alternate name for the
# expression. The alias can be used for filtering and sorting. This field
# is optional and is useful if the expression is not a single metric but
# a complex expression which cannot be used in filtering and sorting.
# The alias is also used in the response column header.
},
],
&quot;dimensions&quot;: [ # A list of dimensions to show as pivot columns. A Pivot can have a maximum
# of 4 dimensions. Pivot dimensions are part of the restriction on the
# total number of dimensions allowed in the request.
{ # [Dimensions](https://support.google.com/analytics/answer/1033861)
# are attributes of your data. For example, the dimension `ga:city`
# indicates the city, for example, &quot;Paris&quot; or &quot;New York&quot;, from which
# a session originates.
&quot;histogramBuckets&quot;: [ # If non-empty, we place dimension values into buckets after string to
# int64. Dimension values that are not the string representation of an
# integral value will be converted to zero. The bucket values have to be in
# increasing order. Each bucket is closed on the lower end, and open on the
# upper end. The &quot;first&quot; bucket includes all values less than the first
# boundary, the &quot;last&quot; bucket includes all values up to infinity. Dimension
# values that fall in a bucket get transformed to a new dimension value. For
# example, if one gives a list of &quot;0, 1, 3, 4, 7&quot;, then we return the
# following buckets:
#
# - bucket #1: values &lt; 0, dimension value &quot;&lt;0&quot;
# - bucket #2: values in [0,1), dimension value &quot;0&quot;
# - bucket #3: values in [1,3), dimension value &quot;1-2&quot;
# - bucket #4: values in [3,4), dimension value &quot;3&quot;
# - bucket #5: values in [4,7), dimension value &quot;4-6&quot;
# - bucket #6: values &gt;= 7, dimension value &quot;7+&quot;
#
# NOTE: If you are applying histogram mutation on any dimension, and using
# that dimension in sort, you will want to use the sort type
# `HISTOGRAM_BUCKET` for that purpose. Without that the dimension values
# will be sorted according to dictionary
# (lexicographic) order. For example the ascending dictionary order is:
#
# &quot;&lt;50&quot;, &quot;1001+&quot;, &quot;121-1000&quot;, &quot;50-120&quot;
#
# And the ascending `HISTOGRAM_BUCKET` order is:
#
# &quot;&lt;50&quot;, &quot;50-120&quot;, &quot;121-1000&quot;, &quot;1001+&quot;
#
# The client has to explicitly request `&quot;orderType&quot;: &quot;HISTOGRAM_BUCKET&quot;`
# for a histogram-mutated dimension.
&quot;A String&quot;,
],
&quot;name&quot;: &quot;A String&quot;, # Name of the dimension to fetch, for example `ga:browser`.
},
],
},
],
&quot;dateRanges&quot;: [ # Date ranges in the request. The request can have a maximum of 2 date
# ranges. The response will contain a set of metric values for each
# combination of the dimensions for each date range in the request. So, if
# there are two date ranges, there will be two set of metric values, one for
# the original date range and one for the second date range.
# The `reportRequest.dateRanges` field should not be specified for cohorts
# or Lifetime value requests.
# If a date range is not provided, the default date range is (startDate:
# current date - 7 days, endDate: current date - 1 day). Every
# [ReportRequest](#ReportRequest) within a `batchGet` method must
# contain the same `dateRanges` definition.
{ # A contiguous set of days: startDate, startDate + 1 day, ..., endDate.
# The start and end dates are specified in
# [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.
&quot;endDate&quot;: &quot;A String&quot;, # The end date for the query in the format `YYYY-MM-DD`.
&quot;startDate&quot;: &quot;A String&quot;, # The start date for the query in the format `YYYY-MM-DD`.
},
],
&quot;metricFilterClauses&quot;: [ # The metric filter clauses. They are logically combined with the `AND`
# operator. Metric filters look at only the first date range and not the
# comparing date range. Note that filtering on metrics occurs after the
# metrics are aggregated.
{ # Represents a group of metric filters.
# Set the operator value to specify how the filters are logically combined.
&quot;filters&quot;: [ # The repeated set of filters. They are logically combined based on the
# operator specified.
{ # MetricFilter specifies the filter on a metric.
&quot;metricName&quot;: &quot;A String&quot;, # The metric that will be filtered on. A metricFilter must contain a metric
# name. A metric name can be an alias earlier defined as a metric or it can
# also be a metric expression.
&quot;comparisonValue&quot;: &quot;A String&quot;, # The value to compare against.
&quot;operator&quot;: &quot;A String&quot;, # Is the metric `EQUAL`, `LESS_THAN` or `GREATER_THAN` the
# comparisonValue, the default is `EQUAL`. If the operator is
# `IS_MISSING`, checks if the metric is missing and would ignore the
# comparisonValue.
&quot;not&quot;: True or False, # Logical `NOT` operator. If this boolean is set to true, then the matching
# metric values will be excluded in the report. The default is false.
},
],
&quot;operator&quot;: &quot;A String&quot;, # The operator for combining multiple metric filters. If unspecified, it is
# treated as an `OR`.
},
],
&quot;viewId&quot;: &quot;A String&quot;, # The Analytics
# [view ID](https://support.google.com/analytics/answer/1009618)
# from which to retrieve data. Every [ReportRequest](#ReportRequest)
# within a `batchGet` method must contain the same `viewId`.
},
],
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # The main response class which holds the reports from the Reporting API
# `batchGet` call.
&quot;queryCost&quot;: 42, # The amount of resource quota tokens deducted to execute the query. Includes
# all responses.
&quot;resourceQuotasRemaining&quot;: { # The resource quota tokens remaining for the property after the request is # The amount of resource quota remaining for the property.
# completed.
&quot;hourlyQuotaTokensRemaining&quot;: 42, # Hourly resource quota tokens remaining.
&quot;dailyQuotaTokensRemaining&quot;: 42, # Daily resource quota remaining remaining.
},
&quot;reports&quot;: [ # Responses corresponding to each of the request.
{ # The data response corresponding to the request.
&quot;data&quot;: { # The data part of the report. # Response data.
&quot;maximums&quot;: [ # Minimum and maximum values seen over all matching rows. These are both
# empty when `hideValueRanges` in the request is false, or when
# rowCount is zero.
{ # Used to return a list of metrics for a single DateRange / dimension
# combination
&quot;pivotValueRegions&quot;: [ # The values of each pivot region.
{ # The metric values in the pivot region.
&quot;values&quot;: [ # The values of the metrics in each of the pivot regions.
&quot;A String&quot;,
],
},
],
&quot;values&quot;: [ # Each value corresponds to each Metric in the request.
&quot;A String&quot;,
],
},
],
&quot;minimums&quot;: [ # Minimum and maximum values seen over all matching rows. These are both
# empty when `hideValueRanges` in the request is false, or when
# rowCount is zero.
{ # Used to return a list of metrics for a single DateRange / dimension
# combination
&quot;pivotValueRegions&quot;: [ # The values of each pivot region.
{ # The metric values in the pivot region.
&quot;values&quot;: [ # The values of the metrics in each of the pivot regions.
&quot;A String&quot;,
],
},
],
&quot;values&quot;: [ # Each value corresponds to each Metric in the request.
&quot;A String&quot;,
],
},
],
&quot;rows&quot;: [ # There&#x27;s one ReportRow for every unique combination of dimensions.
{ # A row in the report.
&quot;metrics&quot;: [ # List of metrics for each requested DateRange.
{ # Used to return a list of metrics for a single DateRange / dimension
# combination
&quot;pivotValueRegions&quot;: [ # The values of each pivot region.
{ # The metric values in the pivot region.
&quot;values&quot;: [ # The values of the metrics in each of the pivot regions.
&quot;A String&quot;,
],
},
],
&quot;values&quot;: [ # Each value corresponds to each Metric in the request.
&quot;A String&quot;,
],
},
],
&quot;dimensions&quot;: [ # List of requested dimensions.
&quot;A String&quot;,
],
},
],
&quot;rowCount&quot;: 42, # Total number of matching rows for this query.
&quot;dataLastRefreshed&quot;: &quot;A String&quot;, # The last time the data in the report was refreshed. All the hits received
# before this timestamp are included in the calculation of the report.
&quot;isDataGolden&quot;: True or False, # Indicates if response to this request is golden or not. Data is
# golden when the exact same request will not produce any new results if
# asked at a later point in time.
&quot;totals&quot;: [ # For each requested date range, for the set of all rows that match
# the query, every requested value format gets a total. The total
# for a value format is computed by first totaling the metrics
# mentioned in the value format and then evaluating the value
# format as a scalar expression. E.g., The &quot;totals&quot; for
# `3 / (ga:sessions + 2)` we compute
# `3 / ((sum of all relevant ga:sessions) + 2)`.
# Totals are computed before pagination.
{ # Used to return a list of metrics for a single DateRange / dimension
# combination
&quot;pivotValueRegions&quot;: [ # The values of each pivot region.
{ # The metric values in the pivot region.
&quot;values&quot;: [ # The values of the metrics in each of the pivot regions.
&quot;A String&quot;,
],
},
],
&quot;values&quot;: [ # Each value corresponds to each Metric in the request.
&quot;A String&quot;,
],
},
],
&quot;samplesReadCounts&quot;: [ # If the results are
# [sampled](https://support.google.com/analytics/answer/2637192),
# this returns the total number of samples read, one entry per date range.
# If the results are not sampled this field will not be defined. See
# [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
# for details.
&quot;A String&quot;,
],
&quot;samplingSpaceSizes&quot;: [ # If the results are
# [sampled](https://support.google.com/analytics/answer/2637192),
# this returns the total number of
# samples present, one entry per date range. If the results are not sampled
# this field will not be defined. See
# [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
# for details.
&quot;A String&quot;,
],
},
&quot;columnHeader&quot;: { # Column headers. # The column headers.
&quot;metricHeader&quot;: { # The headers for the metrics. # Metric headers for the metrics in the response.
&quot;pivotHeaders&quot;: [ # Headers for the pivots in the response.
{ # The headers for each of the pivot sections defined in the request.
&quot;pivotHeaderEntries&quot;: [ # A single pivot section header.
{ # The headers for the each of the metric column corresponding to the metrics
# requested in the pivots section of the response.
&quot;dimensionValues&quot;: [ # The values for the dimensions in the pivot.
&quot;A String&quot;,
],
&quot;metric&quot;: { # Header for the metrics. # The metric header for the metric in the pivot.
&quot;type&quot;: &quot;A String&quot;, # The type of the metric, for example `INTEGER`.
&quot;name&quot;: &quot;A String&quot;, # The name of the header.
},
&quot;dimensionNames&quot;: [ # The name of the dimensions in the pivot response.
&quot;A String&quot;,
],
},
],
&quot;totalPivotGroupsCount&quot;: 42, # The total number of groups for this pivot.
},
],
&quot;metricHeaderEntries&quot;: [ # Headers for the metrics in the response.
{ # Header for the metrics.
&quot;type&quot;: &quot;A String&quot;, # The type of the metric, for example `INTEGER`.
&quot;name&quot;: &quot;A String&quot;, # The name of the header.
},
],
},
&quot;dimensions&quot;: [ # The dimension names in the response.
&quot;A String&quot;,
],
},
&quot;nextPageToken&quot;: &quot;A String&quot;, # Page token to retrieve the next page of results in the list.
},
],
}</pre>
</div>
</body></html>