Skip to content
Research
Skill

/compatible-combinations

GA4 enforces strict rules about which dimensions and metrics can appear in the same request. Incompatible combinations return a 400 error: \"The request's dimensions & metrics are incompatible.\"

BOOST
From plugin
google-analytics-mcp
24317 skills
Install
$ npx -y skills add surendranb/google-analytics-mcp --skill compatible-combinations --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/compatible-combinations

Context preview

The summary Claude sees to decide when to auto-load this skill.

GA4 enforces strict rules about which dimensions and metrics can appear in the same request. Incompatible combinations return a 400 error: \"The request's dimensions & metrics are incompatible.\"

SKILL.md

compatible-combinations.SKILL.md
name: compatible-combinations
description: "GA4 enforces strict rules about which dimensions and metrics can appear in the same request. Incompatible combinations return a 400 error: \"The request's dimensions & metrics are incompatible.\""

Compatible Dimension and Metric Combinations

GA4 enforces strict rules about which dimensions and metrics can appear in the same request. Incompatible combinations return a 400 error: "The request's dimensions & metrics are incompatible."

The core rule

GA4 data is scoped at three levels: **event**, **session**, and **user**. Mixing dimensions and metrics from incompatible scopes causes errors.

| Scope | Example dimensions | Example metrics | |---|---|---| | Event | `eventName`, `customEvent:*` | `eventCount` | | Session | `sessionDefaultChannelGroup`, `sessionSource`, `sessionCampaignName` | `sessions`, `bounceRate`, `sessionKeyEventRate` | | User | `firstUserDefaultChannelGroup`, `firstUserSource` | `totalUsers`, `newUsers` |

Most common incompatible pairs

| Dimension | Incompatible metric | Use instead | |---|---|---| | `sessionSource` / `sessionMedium` / `sessionCampaignName` | `eventCount` | `sessions` | | `eventName` | `sessions` | `eventCount` | | `promotionId` / `promotionName` | most session/user metrics | only pair with `promotionViews`, `promotionClicks` | | `itemId` / `itemName` | `sessions`, `totalUsers` | `itemsViewed`, `addToCarts`, `ecommercePurchases` | | `firstUserSource` / `firstUserMedium` | `sessions` | `totalUsers`, `newUsers` |

When you hit this error

The GA4 error message names the exact field to remove: `"Please remove eventCount to make the request compatible for example."`

Read the message literally — remove that field and replace it with a scope-compatible equivalent.

Safe combinations (always work)

  • `date` + any metric
  • `deviceCategory` + any metric
  • `country` / `city` + any metric
  • `pagePath` / `pageTitle` + `screenPageViews`, `totalUsers`, `sessions`
  • `sessionDefaultChannelGroup` + `sessions`, `totalUsers`, `bounceRate`

Ecommerce-specific

Ecommerce metrics (`ecommercePurchases`, `purchaseRevenue`, `addToCarts`, `itemsViewed`) are event-scoped. Pair them with event-scoped or `date`/`deviceCategory`/geo dimensions — not with session campaign dimensions.

Read more
Ships withgoogle-analytics-mcp

Model Context Protocol (MCP) server for Google Analytics 4: real-time query exploration, schema discovery, metric aggregation, and audience insights for AI agents. 🌐 Live Documentation & Web Portal:

Get the whole plugin

Other skills on google-analytics-mcp.