Dimension vs. metric
Dimensions are the labels you slice by (country, device, plan). Metrics are the numbers you measure (users, revenue, rate).
See it
What it is
Every analytics report is built from two ingredient types. A dimension is a label you slice by: country, device, plan tier, traffic source, day. A metric is a number you measure: users, sessions, revenue, conversion rate. Dimensions answer 'by what', metrics answer 'how much'. If you know SQL, dimensions are the GROUP BY columns and metrics are the aggregates.
Tools enforce the split explicitly. GA4 has separate dimension and metric pickers and will refuse combinations it calls incompatible. That is about scope, not storage: every field is attached to an event, a session, a user, or an item, and you cannot meaningfully hang a user-scoped field off a session-scoped number, or mix item-scoped ecommerce fields with event-scoped ones. Ask 'what is this field attached to' and most incompatibility errors explain themselves. The practical rule: a dimension goes on the rows or the x-axis, a metric goes in the cells or the bar height. Anything you would want to filter or segment by is a dimension; anything you would want to sum or compare over time is a metric.
Gotcha: ratio metrics do not add up across rows. Conversion rate per country cannot be summed or even averaged to get the overall rate; you have to recompute it from the raw numerator and denominator. The other trap is high-cardinality dimensions. Slice by user ID or by full URL with query strings and the report either gets sampled or dumps the tail into an '(other)' bucket that quietly swallows your data.
Ask AI for it
Take my reporting question below and translate it into a concrete report spec. Output a table with three columns: dimensions (the labels to break down by), metrics (the numbers to measure, each with its exact formula and denominator), and filters. Then show a mock 6-row result table with plausible values. Tag every field with its scope (event, session, user, or item) and flag any dimension and metric pair whose scopes do not line up, since that is what a tool means when it calls a combination incompatible. Flag any metric in the list that is a ratio and cannot be summed across rows, and flag any dimension that would be high cardinality enough to trigger sampling or an '(other)' bucket, with a lower-cardinality substitute.