analytics_data_api.proto 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628
  1. // Copyright 2022 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.analytics.data.v1beta;
  16. import "google/analytics/data/v1beta/data.proto";
  17. import "google/api/annotations.proto";
  18. import "google/api/client.proto";
  19. import "google/api/field_behavior.proto";
  20. import "google/api/resource.proto";
  21. option go_package = "google.golang.org/genproto/googleapis/analytics/data/v1beta;data";
  22. option java_multiple_files = true;
  23. option java_outer_classname = "AnalyticsDataApiProto";
  24. option java_package = "com.google.analytics.data.v1beta";
  25. // Google Analytics reporting data service.
  26. service BetaAnalyticsData {
  27. option (google.api.default_host) = "analyticsdata.googleapis.com";
  28. option (google.api.oauth_scopes) =
  29. "https://www.googleapis.com/auth/analytics,"
  30. "https://www.googleapis.com/auth/analytics.readonly";
  31. // Returns a customized report of your Google Analytics event data. Reports
  32. // contain statistics derived from data collected by the Google Analytics
  33. // tracking code. The data returned from the API is as a table with columns
  34. // for the requested dimensions and metrics. Metrics are individual
  35. // measurements of user activity on your property, such as active users or
  36. // event count. Dimensions break down metrics across some common criteria,
  37. // such as country or event name.
  38. //
  39. // For a guide to constructing requests & understanding responses, see
  40. // [Creating a
  41. // Report](https://developers.google.com/analytics/devguides/reporting/data/v1/basics).
  42. rpc RunReport(RunReportRequest) returns (RunReportResponse) {
  43. option (google.api.http) = {
  44. post: "/v1beta/{property=properties/*}:runReport"
  45. body: "*"
  46. };
  47. }
  48. // Returns a customized pivot report of your Google Analytics event data.
  49. // Pivot reports are more advanced and expressive formats than regular
  50. // reports. In a pivot report, dimensions are only visible if they are
  51. // included in a pivot. Multiple pivots can be specified to further dissect
  52. // your data.
  53. rpc RunPivotReport(RunPivotReportRequest) returns (RunPivotReportResponse) {
  54. option (google.api.http) = {
  55. post: "/v1beta/{property=properties/*}:runPivotReport"
  56. body: "*"
  57. };
  58. }
  59. // Returns multiple reports in a batch. All reports must be for the same
  60. // GA4 Property.
  61. rpc BatchRunReports(BatchRunReportsRequest) returns (BatchRunReportsResponse) {
  62. option (google.api.http) = {
  63. post: "/v1beta/{property=properties/*}:batchRunReports"
  64. body: "*"
  65. };
  66. }
  67. // Returns multiple pivot reports in a batch. All reports must be for the same
  68. // GA4 Property.
  69. rpc BatchRunPivotReports(BatchRunPivotReportsRequest) returns (BatchRunPivotReportsResponse) {
  70. option (google.api.http) = {
  71. post: "/v1beta/{property=properties/*}:batchRunPivotReports"
  72. body: "*"
  73. };
  74. }
  75. // Returns metadata for dimensions and metrics available in reporting methods.
  76. // Used to explore the dimensions and metrics. In this method, a Google
  77. // Analytics GA4 Property Identifier is specified in the request, and
  78. // the metadata response includes Custom dimensions and metrics as well as
  79. // Universal metadata.
  80. //
  81. // For example if a custom metric with parameter name `levels_unlocked` is
  82. // registered to a property, the Metadata response will contain
  83. // `customEvent:levels_unlocked`. Universal metadata are dimensions and
  84. // metrics applicable to any property such as `country` and `totalUsers`.
  85. rpc GetMetadata(GetMetadataRequest) returns (Metadata) {
  86. option (google.api.http) = {
  87. get: "/v1beta/{name=properties/*/metadata}"
  88. };
  89. option (google.api.method_signature) = "name";
  90. }
  91. // Returns a customized report of realtime event data for your property.
  92. // Events appear in realtime reports seconds after they have been sent to
  93. // the Google Analytics. Realtime reports show events and usage data for the
  94. // periods of time ranging from the present moment to 30 minutes ago (up to
  95. // 60 minutes for Google Analytics 360 properties).
  96. //
  97. // For a guide to constructing realtime requests & understanding responses,
  98. // see [Creating a Realtime
  99. // Report](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-basics).
  100. rpc RunRealtimeReport(RunRealtimeReportRequest) returns (RunRealtimeReportResponse) {
  101. option (google.api.http) = {
  102. post: "/v1beta/{property=properties/*}:runRealtimeReport"
  103. body: "*"
  104. };
  105. }
  106. // This compatibility method lists dimensions and metrics that can be added to
  107. // a report request and maintain compatibility. This method fails if the
  108. // request's dimensions and metrics are incompatible.
  109. //
  110. // In Google Analytics, reports fail if they request incompatible dimensions
  111. // and/or metrics; in that case, you will need to remove dimensions and/or
  112. // metrics from the incompatible report until the report is compatible.
  113. //
  114. // The Realtime and Core reports have different compatibility rules. This
  115. // method checks compatibility for Core reports.
  116. rpc CheckCompatibility(CheckCompatibilityRequest) returns (CheckCompatibilityResponse) {
  117. option (google.api.http) = {
  118. post: "/v1beta/{property=properties/*}:checkCompatibility"
  119. body: "*"
  120. };
  121. }
  122. }
  123. // The request for compatibility information for a report's dimensions and
  124. // metrics. Check compatibility provides a preview of the compatibility of a
  125. // report; fields shared with the `runReport` request should be the same values
  126. // as in your `runReport` request.
  127. message CheckCompatibilityRequest {
  128. // A Google Analytics GA4 property identifier whose events are tracked. To
  129. // learn more, see [where to find your Property
  130. // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
  131. // `property` should be the same value as in your `runReport` request.
  132. //
  133. // Example: properties/1234
  134. //
  135. // Set the Property ID to 0 for compatibility checking on dimensions and
  136. // metrics common to all properties. In this special mode, this method will
  137. // not return custom dimensions and metrics.
  138. string property = 1;
  139. // The dimensions in this report. `dimensions` should be the same value as in
  140. // your `runReport` request.
  141. repeated Dimension dimensions = 2;
  142. // The metrics in this report. `metrics` should be the same value as in your
  143. // `runReport` request.
  144. repeated Metric metrics = 3;
  145. // The filter clause of dimensions. `dimensionFilter` should be the same value
  146. // as in your `runReport` request.
  147. FilterExpression dimension_filter = 4;
  148. // The filter clause of metrics. `metricFilter` should be the same value as in
  149. // your `runReport` request
  150. FilterExpression metric_filter = 5;
  151. // Filters the dimensions and metrics in the response to just this
  152. // compatibility. Commonly used as `”compatibilityFilter”: “COMPATIBLE”`
  153. // to only return compatible dimensions & metrics.
  154. Compatibility compatibility_filter = 6;
  155. }
  156. // The compatibility response with the compatibility of each dimension & metric.
  157. message CheckCompatibilityResponse {
  158. // The compatibility of each dimension.
  159. repeated DimensionCompatibility dimension_compatibilities = 1;
  160. // The compatibility of each metric.
  161. repeated MetricCompatibility metric_compatibilities = 2;
  162. }
  163. // The dimensions and metrics currently accepted in reporting methods.
  164. message Metadata {
  165. option (google.api.resource) = {
  166. type: "analyticsdata.googleapis.com/Metadata"
  167. pattern: "properties/{property}/metadata"
  168. };
  169. // Resource name of this metadata.
  170. string name = 3;
  171. // The dimension descriptions.
  172. repeated DimensionMetadata dimensions = 1;
  173. // The metric descriptions.
  174. repeated MetricMetadata metrics = 2;
  175. }
  176. // The request to generate a report.
  177. message RunReportRequest {
  178. // A Google Analytics GA4 property identifier whose events are tracked.
  179. // Specified in the URL path and not the body. To learn more, see [where to
  180. // find your Property
  181. // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
  182. // Within a batch request, this property should either be unspecified or
  183. // consistent with the batch-level property.
  184. //
  185. // Example: properties/1234
  186. string property = 1;
  187. // The dimensions requested and displayed.
  188. repeated Dimension dimensions = 2;
  189. // The metrics requested and displayed.
  190. repeated Metric metrics = 3;
  191. // Date ranges of data to read. If multiple date ranges are requested, each
  192. // response row will contain a zero based date range index. If two date
  193. // ranges overlap, the event data for the overlapping days is included in the
  194. // response rows for both date ranges. In a cohort request, this `dateRanges`
  195. // must be unspecified.
  196. repeated DateRange date_ranges = 4;
  197. // Dimension filters allow you to ask for only specific dimension values in
  198. // the report. To learn more, see [Fundamentals of Dimension
  199. // Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters)
  200. // for examples. Metrics cannot be used in this filter.
  201. FilterExpression dimension_filter = 5;
  202. // The filter clause of metrics. Applied after aggregating the report's rows,
  203. // similar to SQL having-clause. Dimensions cannot be used in this filter.
  204. FilterExpression metric_filter = 6;
  205. // The row count of the start row. The first row is counted as row 0.
  206. //
  207. // When paging, the first request does not specify offset; or equivalently,
  208. // sets offset to 0; the first request returns the first `limit` of rows. The
  209. // second request sets offset to the `limit` of the first request; the second
  210. // request returns the second `limit` of rows.
  211. //
  212. // To learn more about this pagination parameter, see
  213. // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
  214. int64 offset = 7;
  215. // The number of rows to return. If unspecified, 10,000 rows are returned. The
  216. // API returns a maximum of 100,000 rows per request, no matter how many you
  217. // ask for. `limit` must be positive.
  218. //
  219. // The API can also return fewer rows than the requested `limit`, if there
  220. // aren't as many dimension values as the `limit`. For instance, there are
  221. // fewer than 300 possible values for the dimension `country`, so when
  222. // reporting on only `country`, you can't get more than 300 rows, even if you
  223. // set `limit` to a higher value.
  224. //
  225. // To learn more about this pagination parameter, see
  226. // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
  227. int64 limit = 8;
  228. // Aggregation of metrics. Aggregated metric values will be shown in rows
  229. // where the dimension_values are set to "RESERVED_(MetricAggregation)".
  230. repeated MetricAggregation metric_aggregations = 9;
  231. // Specifies how rows are ordered in the response.
  232. repeated OrderBy order_bys = 10;
  233. // A currency code in ISO4217 format, such as "AED", "USD", "JPY".
  234. // If the field is empty, the report uses the property's default currency.
  235. string currency_code = 11;
  236. // Cohort group associated with this request. If there is a cohort group
  237. // in the request the 'cohort' dimension must be present.
  238. CohortSpec cohort_spec = 12;
  239. // If false or unspecified, each row with all metrics equal to 0 will not be
  240. // returned. If true, these rows will be returned if they are not separately
  241. // removed by a filter.
  242. bool keep_empty_rows = 13;
  243. // Toggles whether to return the current state of this Analytics Property's
  244. // quota. Quota is returned in [PropertyQuota](#PropertyQuota).
  245. bool return_property_quota = 14;
  246. }
  247. // The response report table corresponding to a request.
  248. message RunReportResponse {
  249. // Describes dimension columns. The number of DimensionHeaders and ordering of
  250. // DimensionHeaders matches the dimensions present in rows.
  251. repeated DimensionHeader dimension_headers = 1;
  252. // Describes metric columns. The number of MetricHeaders and ordering of
  253. // MetricHeaders matches the metrics present in rows.
  254. repeated MetricHeader metric_headers = 2;
  255. // Rows of dimension value combinations and metric values in the report.
  256. repeated Row rows = 3;
  257. // If requested, the totaled values of metrics.
  258. repeated Row totals = 4;
  259. // If requested, the maximum values of metrics.
  260. repeated Row maximums = 5;
  261. // If requested, the minimum values of metrics.
  262. repeated Row minimums = 6;
  263. // The total number of rows in the query result. `rowCount` is independent of
  264. // the number of rows returned in the response, the `limit` request
  265. // parameter, and the `offset` request parameter. For example if a query
  266. // returns 175 rows and includes `limit` of 50 in the API request, the
  267. // response will contain `rowCount` of 175 but only 50 rows.
  268. //
  269. // To learn more about this pagination parameter, see
  270. // [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
  271. int32 row_count = 7;
  272. // Metadata for the report.
  273. ResponseMetaData metadata = 8;
  274. // This Analytics Property's quota state including this request.
  275. PropertyQuota property_quota = 9;
  276. // Identifies what kind of resource this message is. This `kind` is always the
  277. // fixed string "analyticsData#runReport". Useful to distinguish between
  278. // response types in JSON.
  279. string kind = 10;
  280. }
  281. // The request to generate a pivot report.
  282. message RunPivotReportRequest {
  283. // A Google Analytics GA4 property identifier whose events are tracked.
  284. // Specified in the URL path and not the body. To learn more, see [where to
  285. // find your Property
  286. // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
  287. // Within a batch request, this property should either be unspecified or
  288. // consistent with the batch-level property.
  289. //
  290. // Example: properties/1234
  291. string property = 1;
  292. // The dimensions requested. All defined dimensions must be used by one of the
  293. // following: dimension_expression, dimension_filter, pivots, order_bys.
  294. repeated Dimension dimensions = 2;
  295. // The metrics requested, at least one metric needs to be specified. All
  296. // defined metrics must be used by one of the following: metric_expression,
  297. // metric_filter, order_bys.
  298. repeated Metric metrics = 3;
  299. // The date range to retrieve event data for the report. If multiple date
  300. // ranges are specified, event data from each date range is used in the
  301. // report. A special dimension with field name "dateRange" can be included in
  302. // a Pivot's field names; if included, the report compares between date
  303. // ranges. In a cohort request, this `dateRanges` must be unspecified.
  304. repeated DateRange date_ranges = 4;
  305. // Describes the visual format of the report's dimensions in columns or rows.
  306. // The union of the fieldNames (dimension names) in all pivots must be a
  307. // subset of dimension names defined in Dimensions. No two pivots can share a
  308. // dimension. A dimension is only visible if it appears in a pivot.
  309. repeated Pivot pivots = 5;
  310. // The filter clause of dimensions. Dimensions must be requested to be used in
  311. // this filter. Metrics cannot be used in this filter.
  312. FilterExpression dimension_filter = 6;
  313. // The filter clause of metrics. Applied at post aggregation phase, similar to
  314. // SQL having-clause. Metrics must be requested to be used in this filter.
  315. // Dimensions cannot be used in this filter.
  316. FilterExpression metric_filter = 7;
  317. // A currency code in ISO4217 format, such as "AED", "USD", "JPY".
  318. // If the field is empty, the report uses the property's default currency.
  319. string currency_code = 8;
  320. // Cohort group associated with this request. If there is a cohort group
  321. // in the request the 'cohort' dimension must be present.
  322. CohortSpec cohort_spec = 9;
  323. // If false or unspecified, each row with all metrics equal to 0 will not be
  324. // returned. If true, these rows will be returned if they are not separately
  325. // removed by a filter.
  326. bool keep_empty_rows = 10;
  327. // Toggles whether to return the current state of this Analytics Property's
  328. // quota. Quota is returned in [PropertyQuota](#PropertyQuota).
  329. bool return_property_quota = 11;
  330. }
  331. // The response pivot report table corresponding to a pivot request.
  332. message RunPivotReportResponse {
  333. // Summarizes the columns and rows created by a pivot. Each pivot in the
  334. // request produces one header in the response. If we have a request like
  335. // this:
  336. //
  337. // "pivots": [{
  338. // "fieldNames": ["country",
  339. // "city"]
  340. // },
  341. // {
  342. // "fieldNames": "eventName"
  343. // }]
  344. //
  345. // We will have the following `pivotHeaders` in the response:
  346. //
  347. // "pivotHeaders" : [{
  348. // "dimensionHeaders": [{
  349. // "dimensionValues": [
  350. // { "value": "United Kingdom" },
  351. // { "value": "London" }
  352. // ]
  353. // },
  354. // {
  355. // "dimensionValues": [
  356. // { "value": "Japan" },
  357. // { "value": "Osaka" }
  358. // ]
  359. // }]
  360. // },
  361. // {
  362. // "dimensionHeaders": [{
  363. // "dimensionValues": [{ "value": "session_start" }]
  364. // },
  365. // {
  366. // "dimensionValues": [{ "value": "scroll" }]
  367. // }]
  368. // }]
  369. repeated PivotHeader pivot_headers = 1;
  370. // Describes dimension columns. The number of DimensionHeaders and ordering of
  371. // DimensionHeaders matches the dimensions present in rows.
  372. repeated DimensionHeader dimension_headers = 2;
  373. // Describes metric columns. The number of MetricHeaders and ordering of
  374. // MetricHeaders matches the metrics present in rows.
  375. repeated MetricHeader metric_headers = 3;
  376. // Rows of dimension value combinations and metric values in the report.
  377. repeated Row rows = 4;
  378. // Aggregation of metric values. Can be totals, minimums, or maximums. The
  379. // returned aggregations are controlled by the metric_aggregations in the
  380. // pivot. The type of aggregation returned in each row is shown by the
  381. // dimension_values which are set to "RESERVED_<MetricAggregation>".
  382. repeated Row aggregates = 5;
  383. // Metadata for the report.
  384. ResponseMetaData metadata = 6;
  385. // This Analytics Property's quota state including this request.
  386. PropertyQuota property_quota = 7;
  387. // Identifies what kind of resource this message is. This `kind` is always the
  388. // fixed string "analyticsData#runPivotReport". Useful to distinguish between
  389. // response types in JSON.
  390. string kind = 8;
  391. }
  392. // The batch request containing multiple report requests.
  393. message BatchRunReportsRequest {
  394. // A Google Analytics GA4 property identifier whose events are tracked.
  395. // Specified in the URL path and not the body. To learn more, see [where to
  396. // find your Property
  397. // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
  398. // This property must be specified for the batch. The property within
  399. // RunReportRequest may either be unspecified or consistent with this
  400. // property.
  401. //
  402. // Example: properties/1234
  403. string property = 1;
  404. // Individual requests. Each request has a separate report response. Each
  405. // batch request is allowed up to 5 requests.
  406. repeated RunReportRequest requests = 2;
  407. }
  408. // The batch response containing multiple reports.
  409. message BatchRunReportsResponse {
  410. // Individual responses. Each response has a separate report request.
  411. repeated RunReportResponse reports = 1;
  412. // Identifies what kind of resource this message is. This `kind` is always the
  413. // fixed string "analyticsData#batchRunReports". Useful to distinguish between
  414. // response types in JSON.
  415. string kind = 2;
  416. }
  417. // The batch request containing multiple pivot report requests.
  418. message BatchRunPivotReportsRequest {
  419. // A Google Analytics GA4 property identifier whose events are tracked.
  420. // Specified in the URL path and not the body. To learn more, see [where to
  421. // find your Property
  422. // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
  423. // This property must be specified for the batch. The property within
  424. // RunPivotReportRequest may either be unspecified or consistent with this
  425. // property.
  426. //
  427. // Example: properties/1234
  428. string property = 1;
  429. // Individual requests. Each request has a separate pivot report response.
  430. // Each batch request is allowed up to 5 requests.
  431. repeated RunPivotReportRequest requests = 2;
  432. }
  433. // The batch response containing multiple pivot reports.
  434. message BatchRunPivotReportsResponse {
  435. // Individual responses. Each response has a separate pivot report request.
  436. repeated RunPivotReportResponse pivot_reports = 1;
  437. // Identifies what kind of resource this message is. This `kind` is always the
  438. // fixed string "analyticsData#batchRunPivotReports". Useful to distinguish
  439. // between response types in JSON.
  440. string kind = 2;
  441. }
  442. // Request for a property's dimension and metric metadata.
  443. message GetMetadataRequest {
  444. // Required. The resource name of the metadata to retrieve. This name field is
  445. // specified in the URL path and not URL parameters. Property is a numeric
  446. // Google Analytics GA4 Property identifier. To learn more, see [where to find
  447. // your Property
  448. // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
  449. //
  450. // Example: properties/1234/metadata
  451. //
  452. // Set the Property ID to 0 for dimensions and metrics common to all
  453. // properties. In this special mode, this method will not return custom
  454. // dimensions and metrics.
  455. string name = 1 [
  456. (google.api.field_behavior) = REQUIRED,
  457. (google.api.resource_reference) = {
  458. type: "analyticsdata.googleapis.com/Metadata"
  459. }
  460. ];
  461. }
  462. // The request to generate a realtime report.
  463. message RunRealtimeReportRequest {
  464. // A Google Analytics GA4 property identifier whose events are tracked.
  465. // Specified in the URL path and not the body. To learn more, see [where to
  466. // find your Property
  467. // ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
  468. //
  469. // Example: properties/1234
  470. string property = 1;
  471. // The dimensions requested and displayed.
  472. repeated Dimension dimensions = 2;
  473. // The metrics requested and displayed.
  474. repeated Metric metrics = 3;
  475. // The filter clause of dimensions. Metrics cannot be used in this filter.
  476. FilterExpression dimension_filter = 4;
  477. // The filter clause of metrics. Applied at post aggregation phase, similar to
  478. // SQL having-clause. Dimensions cannot be used in this filter.
  479. FilterExpression metric_filter = 5;
  480. // The number of rows to return. If unspecified, 10,000 rows are returned. The
  481. // API returns a maximum of 100,000 rows per request, no matter how many you
  482. // ask for. `limit` must be positive.
  483. //
  484. // The API can also return fewer rows than the requested `limit`, if there
  485. // aren't as many dimension values as the `limit`. For instance, there are
  486. // fewer than 300 possible values for the dimension `country`, so when
  487. // reporting on only `country`, you can't get more than 300 rows, even if you
  488. // set `limit` to a higher value.
  489. int64 limit = 6;
  490. // Aggregation of metrics. Aggregated metric values will be shown in rows
  491. // where the dimension_values are set to "RESERVED_(MetricAggregation)".
  492. repeated MetricAggregation metric_aggregations = 7;
  493. // Specifies how rows are ordered in the response.
  494. repeated OrderBy order_bys = 8;
  495. // Toggles whether to return the current state of this Analytics Property's
  496. // Realtime quota. Quota is returned in [PropertyQuota](#PropertyQuota).
  497. bool return_property_quota = 9;
  498. // The minute ranges of event data to read. If unspecified, one minute range
  499. // for the last 30 minutes will be used. If multiple minute ranges are
  500. // requested, each response row will contain a zero based minute range index.
  501. // If two minute ranges overlap, the event data for the overlapping minutes is
  502. // included in the response rows for both minute ranges.
  503. repeated MinuteRange minute_ranges = 10;
  504. }
  505. // The response realtime report table corresponding to a request.
  506. message RunRealtimeReportResponse {
  507. // Describes dimension columns. The number of DimensionHeaders and ordering of
  508. // DimensionHeaders matches the dimensions present in rows.
  509. repeated DimensionHeader dimension_headers = 1;
  510. // Describes metric columns. The number of MetricHeaders and ordering of
  511. // MetricHeaders matches the metrics present in rows.
  512. repeated MetricHeader metric_headers = 2;
  513. // Rows of dimension value combinations and metric values in the report.
  514. repeated Row rows = 3;
  515. // If requested, the totaled values of metrics.
  516. repeated Row totals = 4;
  517. // If requested, the maximum values of metrics.
  518. repeated Row maximums = 5;
  519. // If requested, the minimum values of metrics.
  520. repeated Row minimums = 6;
  521. // The total number of rows in the query result. `rowCount` is independent of
  522. // the number of rows returned in the response and the `limit` request
  523. // parameter. For example if a query returns 175 rows and includes `limit`
  524. // of 50 in the API request, the response will contain `rowCount` of 175 but
  525. // only 50 rows.
  526. int32 row_count = 7;
  527. // This Analytics Property's Realtime quota state including this request.
  528. PropertyQuota property_quota = 8;
  529. // Identifies what kind of resource this message is. This `kind` is always the
  530. // fixed string "analyticsData#runRealtimeReport". Useful to distinguish
  531. // between response types in JSON.
  532. string kind = 9;
  533. }