What dimensions are
Every analytical query has three parts:
- Metrics, what you’re measuring (revenue, orders, ROAS)
- Dimensions, how you’re slicing it (by channel, by month, by country)
- Filters, what subset you’re looking at (only EU traffic, only paid spend)
Dimensions are the categorical attributes. They take discrete values: “Meta” vs. “Google” vs. “Email”. “DE” vs. “US” vs. “UK”. “Mobile” vs. “Desktop”. “Day 0” vs. “Day 30” cohort.
Common dimensions in marketing analytics
A short catalogue:
- Channel, Meta, Google, Email, SEO, Direct, Affiliate
- Campaign / Ad Set / Ad, the hierarchy each platform uses
- Country / Region, geographic slicing
- Device, Mobile / Desktop / Tablet / App
- Cohort, when the customer first joined (acquisition month, week, day)
- Product / Category, SKU-level or grouped
- Customer type, New vs. Returning
- Time, Day, Week, Month, Quarter, Year (time itself is a dimension)
Each business has its own additional dimensions: subscription tier, loyalty status, traffic source category, etc.
Dimension hygiene
The single biggest source of confused reporting: messy dimension values. Examples:
MetavsmetavsMETAvsFacebookvsFB, five values, one sourceEmailvsemail-marketingvsNewsletter, depending on which team tagged itMOBILEvsmobilevsiOS+Android, depending on which platform’s data feed
When dimension values fragment like this, summing them undercounts. Filtering misses. Comparisons break. A good semantic layer normalises dimension values at ingest so downstream queries always see one canonical form.
Slowly Changing Dimensions
A subtle problem: dimensions change over time. A campaign’s name gets edited. A customer’s tier upgrades. A product moves between categories.
Three handling strategies (the textbook SCD types):
- SCD Type 1, overwrite history (current value only)
- SCD Type 2, keep history (each row gets effective_from and effective_to)
- SCD Type 3, track previous + current value
Choose per dimension. Customer tier history often matters (SCD 2). Campaign name renames usually don’t (SCD 1).
Dimensions for AI
AI agents querying via MCP also use dimension/metric pairs, “give me ROAS by channel for last week” decomposes into metric=roas, dimension=channel, filter=week=last. The same hygiene concerns apply: messy dimensions produce wrong AI answers as easily as they produce wrong dashboards.
Common mistakes
- Treating dimension values as free text. Every dimension should have a curated set of allowed values.
- Not versioning dimensions. Renaming a dimension breaks year-over-year comparisons silently.
- Pre-aggregating away the dimension you need. Once you’ve rolled up by week, you can’t drill back to day. Keep the granular data and aggregate at query time.
FAQ about Dimension
What is a dimension in analytics?
A dimension is a categorical attribute used to slice a metric, channel, campaign, country, device, cohort. Metrics are what you measure (revenue, ROAS). Dimensions are how you slice (by channel, by month).
What are common marketing dimensions?
Channel, campaign, ad set, country, device (mobile/desktop), cohort (acquisition month), product, customer type (new/returning), time (day/week/month).
What is a slowly changing dimension?
A dimension whose value changes over time, a customer’s tier, a campaign’s name, a product’s category. SCD strategies (Type 1, Type 2, Type 3) define how to handle the history when the value changes.