---
title: "POST /v1beta/{+property}:checkCompatibility"
method: POST
path: "/v1beta/{+property}:checkCompatibility"
tags: ["properties"]
---

# POST /v1beta/{+property}:checkCompatibility

`POST /v1beta/{+property}:checkCompatibility`

This compatibility method lists dimensions and metrics that can be added to a report request and maintain compatibility. This method fails if the request's dimensions and metrics are incompatible. In Google Analytics, reports fail if they request incompatible dimensions and/or metrics; in that case, you will need to remove dimensions and/or metrics from the incompatible report until the report is compatible. The Realtime and Core reports have different compatibility rules. This method checks compatibility for Core reports.

## Path parameters

- `property` string, required

## Request body

- CheckCompatibilityRequest — The request for compatibility information for a report's dimensions and metrics. Check compatibility provides a preview of the compatibility of a report; fields shared with the `runReport` request should be the same values as in your `runReport` request.
  - `metricFilter` FilterExpression — To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics.
    - `filter` Filter — An expression to filter dimension or metric values.
      - `stringFilter` StringFilter — The filter for string
        - `matchType` 'MATCH_TYPE_UNSPECIFIED' | 'EXACT' | 'BEGINS_WITH' | 'ENDS_WITH' | 'CONTAINS' | 'FULL_REGEXP' | 'PARTIAL_REGEXP' — The match type for this filter.
        - `value` string — The string value used for the matching.
        - `caseSensitive` boolean — If true, the string value is case sensitive.
      - `inListFilter` InListFilter — The result needs to be in a list of string values.
        - `caseSensitive` boolean — If true, the string value is case sensitive.
        - `values` string[] — The list of string values. Must be non-empty.
      - `fieldName` string — The dimension name or metric name. In most methods, dimensions & metrics can be used for the first time in this field. However in a RunPivotReportRequest, this field must be additionally specified by name in the RunPivotReportRequest's dimensions or metrics.
      - `betweenFilter` BetweenFilter — To express that the result needs to be between two numbers (inclusive).
        - `fromValue` NumericValue — To represent a number.
          - `int64Value` string, int64 — Integer value
          - `doubleValue` number, double — Double value
        - `toValue` NumericValue — To represent a number.
          - `int64Value` string, int64 — Integer value
          - `doubleValue` number, double — Double value
      - `emptyFilter` EmptyFilter — Filter for empty values.
      - `numericFilter` NumericFilter — Filters for numeric or date values.
        - `operation` 'OPERATION_UNSPECIFIED' | 'EQUAL' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL' — The operation type for this filter.
        - `value` NumericValue — To represent a number.
          - `int64Value` string, int64 — Integer value
          - `doubleValue` number, double — Double value
    - `andGroup` FilterExpressionList — A list of filter expressions.
      - `expressions` FilterExpression[] — A list of filter expressions.
    - `notExpression` FilterExpression — recursive
    - `orGroup` FilterExpressionList — A list of filter expressions.
      - `expressions` FilterExpression[] — A list of filter expressions.
  - `compatibilityFilter` 'COMPATIBILITY_UNSPECIFIED' | 'COMPATIBLE' | 'INCOMPATIBLE' — Filters the dimensions and metrics in the response to just this compatibility. Commonly used as `”compatibilityFilter”: “COMPATIBLE”` to only return compatible dimensions & metrics.
  - `metrics` Metric[] — The metrics in this report. `metrics` should be the same value as in your `runReport` request.
    - `name` string — The name of the metric. See the [API Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) for the list of metric names supported by core reporting methods such as `runReport` and `batchRunReports`. See [Realtime Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema#metrics) for the list of metric names supported by the `runRealtimeReport` method. See [Funnel Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/exploration-api-schema#metrics) for the list of metric names supported by the `runFunnelReport` method. If `expression` is specified, `name` can be any string that you would like within the allowed character set. For example if `expression` is `screenPageViews/sessions`, you could call that metric's name = `viewsPerSession`. Metric names that you choose must match the regular expression `^[a-zA-Z0-9_]$`. Metrics are referenced by `name` in `metricFilter`, `orderBys`, and metric `expression`.
    - `expression` string — A mathematical expression for derived metrics. For example, the metric Event count per user is `eventCount/totalUsers`.
    - `invisible` boolean — Indicates if a metric is invisible in the report response. If a metric is invisible, the metric will not produce a column in the response, but can be used in `metricFilter`, `orderBys`, or a metric `expression`.
  - `dimensions` Dimension[] — The dimensions in this report. `dimensions` should be the same value as in your `runReport` request.
    - `name` string — 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 supported by core reporting methods such as `runReport` and `batchRunReports`. See [Realtime Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema#dimensions) for the list of dimension names supported by the `runRealtimeReport` method. See [Funnel Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/exploration-api-schema#dimensions) for the list of dimension names supported by the `runFunnelReport` method. 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`.
    - `dimensionExpression` DimensionExpression — 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).
      - `concatenate` ConcatenateExpression — Used to combine dimension values to a single dimension.
        - `delimiter` string — 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".
        - `dimensionNames` string[] — Names of dimensions. The names must refer back to names in the dimensions field of the request.
      - `lowerCase` CaseExpression — Used to convert a dimension value to a single case.
        - `dimensionName` string — Name of a dimension. The name must refer back to a name in dimensions field of the request.
      - `upperCase` CaseExpression — Used to convert a dimension value to a single case.
        - `dimensionName` string — Name of a dimension. The name must refer back to a name in dimensions field of the request.
  - `dimensionFilter` FilterExpression — To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics.
    - `filter` Filter — An expression to filter dimension or metric values.
      - `stringFilter` StringFilter — The filter for string
        - `matchType` 'MATCH_TYPE_UNSPECIFIED' | 'EXACT' | 'BEGINS_WITH' | 'ENDS_WITH' | 'CONTAINS' | 'FULL_REGEXP' | 'PARTIAL_REGEXP' — The match type for this filter.
        - `value` string — The string value used for the matching.
        - `caseSensitive` boolean — If true, the string value is case sensitive.
      - `inListFilter` InListFilter — The result needs to be in a list of string values.
        - `caseSensitive` boolean — If true, the string value is case sensitive.
        - `values` string[] — The list of string values. Must be non-empty.
      - `fieldName` string — The dimension name or metric name. In most methods, dimensions & metrics can be used for the first time in this field. However in a RunPivotReportRequest, this field must be additionally specified by name in the RunPivotReportRequest's dimensions or metrics.
      - `betweenFilter` BetweenFilter — To express that the result needs to be between two numbers (inclusive).
        - `fromValue` NumericValue — To represent a number.
          - `int64Value` string, int64 — Integer value
          - `doubleValue` number, double — Double value
        - `toValue` NumericValue — To represent a number.
          - `int64Value` string, int64 — Integer value
          - `doubleValue` number, double — Double value
      - `emptyFilter` EmptyFilter — Filter for empty values.
      - `numericFilter` NumericFilter — Filters for numeric or date values.
        - `operation` 'OPERATION_UNSPECIFIED' | 'EQUAL' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL' — The operation type for this filter.
        - `value` NumericValue — To represent a number.
          - `int64Value` string, int64 — Integer value
          - `doubleValue` number, double — Double value
    - `andGroup` FilterExpressionList — A list of filter expressions.
      - `expressions` FilterExpression[] — A list of filter expressions.
    - `notExpression` FilterExpression — recursive
    - `orGroup` FilterExpressionList — A list of filter expressions.
      - `expressions` FilterExpression[] — A list of filter expressions.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/analyticsdata.md) · [All operations](https://skmtc.dev/google/apis/analyticsdata/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/analyticsdata/revisions/b348cd401840/schema)
