Skip to content

Dimensions and metrics compatible with a report's columns.

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.

Job analytics.reports.compatibility

Your AI asks

checks the price first
telipot run google-analytics.reports.compatibility \
  --input-json '{"propertyId":"123456789"}' \
  --quote

Price

Free
Priced· before it runs

google-analytics.reports.compatibility

FreeCompany account

Whose account it uses

1The person asking
skipped
2Your company’s Google Analytics 4 account
Selected identity for this example
3Our account
not used

What it sends

{
  "propertyId": "123456789"
}

Your Google Analytics 4 login is added for you. Your AI never sees it.

What it costs

Free

no charge from the provider

Preview the price first. --quote runs nothing.

For developers · run it

Shell · runs the task on the named account

telipot run google-analytics.reports.compatibility \
  --input-json '{"propertyId":"123456789"}'

propertyId

string · required · path

The numeric id of a GA4 property, as google-analytics.accounts.summaries returns it after properties/

dimensions

array · body

The dimensions already in the report, each an object with a name

metrics

array · body

The metrics already in the report, each an object with a name

dimensionFilter

object · body

The report's dimension filter, if it has one

metricFilter

object · body

The report's metric filter, if it has one

compatibilityFilter

string · one of "COMPATIBLE", "INCOMPATIBLE" · body

Keep only the dimensions and metrics of this compatibility; COMPATIBLE lists those that can be added

dimensionCompatibilities

object[]

metricCompatibilities

object[]

Full output schema · JSONNested fields and constraints

Output JSON Schema

{
  "type": "object",
  "properties": {
    "dimensionCompatibilities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "compatibility": {
            "type": "string",
            "description": "COMPATIBLE or INCOMPATIBLE"
          },
          "dimensionMetadata": {
            "type": "object",
            "properties": {
              "apiName": {
                "type": "string"
              },
              "uiName": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "category": {
                "type": "string"
              },
              "customDefinition": {
                "type": "boolean"
              }
            }
          }
        }
      }
    },
    "metricCompatibilities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "compatibility": {
            "type": "string",
            "description": "COMPATIBLE or INCOMPATIBLE"
          },
          "metricMetadata": {
            "type": "object",
            "properties": {
              "apiName": {
                "type": "string"
              },
              "uiName": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "category": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "customDefinition": {
                "type": "boolean"
              }
            }
          }
        }
      }
    }
  }
}

A real answer

examples/google-analytics.reports.compatibility.json

{
  "dimensionCompatibilities": [
    {
      "compatibility": "COMPATIBLE",
      "dimensionMetadata": {
        "apiName": "city",
        "uiName": "City",
        "description": "The city the user activity came from.",
        "category": "Geography",
        "customDefinition": false
      }
    }
  ],
  "metricCompatibilities": [
    {
      "compatibility": "COMPATIBLE",
      "metricMetadata": {
        "apiName": "sessions",
        "uiName": "Sessions",
        "description": "The number of sessions that began on the site or app.",
        "category": "Session",
        "type": "TYPE_INTEGER",
        "customDefinition": false
      }
    }
  ]
}