Google Analytics · Schema

ReportData

The data part of the report.

AnalyticsDataGoogleMetricsReportingWeb AnalyticsMachine LearningAttribution

Properties

Name Type Description
dataLastRefreshed string 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.
emptyReason string If empty reason is specified, the report is empty for this reason.
isDataGolden boolean 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.
maximums array 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.
minimums array 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.
rowCount integer Total number of matching rows for this query.
rows array There's one ReportRow for every unique combination of dimensions.
samplesReadCounts array 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 wi
samplingSpaceSizes array 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
totals array 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
View JSON Schema on GitHub

JSON Schema

google-analytics-reportdata-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ReportData",
  "title": "ReportData",
  "description": "The data part of the report.",
  "properties": {
    "dataLastRefreshed": {
      "description": "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.",
      "format": "google-datetime",
      "type": "string"
    },
    "emptyReason": {
      "description": "If empty reason is specified, the report is empty for this reason.",
      "type": "string"
    },
    "isDataGolden": {
      "description": "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.",
      "type": "boolean"
    },
    "maximums": {
      "description": "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.",
      "items": {
        "$ref": "#/components/schemas/DateRangeValues"
      },
      "type": "array"
    },
    "minimums": {
      "description": "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.",
      "items": {
        "$ref": "#/components/schemas/DateRangeValues"
      },
      "type": "array"
    },
    "rowCount": {
      "description": "Total number of matching rows for this query.",
      "format": "int32",
      "type": "integer"
    },
    "rows": {
      "description": "There's one ReportRow for every unique combination of dimensions.",
      "items": {
        "$ref": "#/components/schemas/ReportRow"
      },
      "type": "array"
    },
    "samplesReadCounts": {
      "description": "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.",
      "items": {
        "format": "int64",
        "type": "string"
      },
      "type": "array"
    },
    "samplingSpaceSizes": {
      "description": "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.",
      "items": {
        "format": "int64",
        "type": "string"
      },
      "type": "array"
    },
    "totals": {
      "description": "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 \"totals\" for `3 / (ga:sessions + 2)` we compute `3 / ((sum of all relevant ga:sessions) + 2)`. Totals are computed before pagination.",
      "items": {
        "$ref": "#/components/schemas/DateRangeValues"
      },
      "type": "array"
    }
  },
  "type": "object"
}