LLMSkillHub
mirroredCopied from surendranb/google-analytics-mcp under MIT. surendranb has not claimed this page, and is not affiliated with LLM SkillHub.

surendranb / 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."

0
SKILL.md
2.3 KB

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.

ScopeExample dimensionsExample metrics
EventeventName, customEvent:*eventCount
SessionsessionDefaultChannelGroup, sessionSource, sessionCampaignNamesessions, bounceRate, sessionKeyEventRate
UserfirstUserDefaultChannelGroup, firstUserSourcetotalUsers, newUsers

Most common incompatible pairs

DimensionIncompatible metricUse instead
sessionSource / sessionMedium / sessionCampaignNameeventCountsessions
eventNamesessionseventCount
promotionId / promotionNamemost session/user metricsonly pair with promotionViews, promotionClicks
itemId / itemNamesessions, totalUsersitemsViewed, addToCarts, ecommercePurchases
firstUserSource / firstUserMediumsessionstotalUsers, 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.