Analytics and Tracking

Custom Dimension

Also called custom dimensions

A label you define and register in GA4 so reports can split data by something it does not track by default, such as form name.

Quick facts: Custom Dimension

Category
Analytics and Tracking
Also called
custom dimensions
Level
Intermediate
Affects
GA4 reports, explorations, audiences, enquiry analysis
Where to see it
GA4 Admin > Custom definitions, GA4 DebugView, Google Tag Manager preview mode, BigQuery export
In this article4
  1. How a custom dimension works
  2. Why it matters
  3. Common mistakes
  4. How to act on it

A custom dimension is a label you define and register in Google Analytics 4 so that reports can break data down by something GA4 does not record on its own, such as the name of a form, the type of service enquired about or whether a visitor is logged in. It turns a piece of information your site already knows into a column you can filter, compare and build audiences from.

How a custom dimension works

GA4 records activity as events, and each event can carry extra details called event parameters. Sending a parameter is only half the job. Until you register it under Admin, Data display, Custom definitions, GA4 receives the value but will not show it in standard reports or offer it as a dimension in explorations. Registering it tells GA4 to process that parameter as a reportable field from that point on.

Every custom dimension has a scope, which decides what the value describes:

  • Event scope The value belongs to one action, for example a form_name of “callback” on a single form submission.
  • User scope The value describes the person across visits, such as a customer tier or a trade account flag, sent as a user property.
  • Item scope The value describes a product inside an ecommerce event, such as fabric or size range.

At the time of writing (October 2026), a standard GA4 property allows 50 event-scoped, 25 user-scoped and 10 item-scoped custom dimensions, and Analytics 360 raises those limits. The limits are generous for most small businesses, but it is still worth deciding what you need before creating anything.

Why it matters

Most UK small business sites offer several ways to get in touch: a contact form, a quote form, a callback request, a phone number and perhaps a booking widget. Out of the box, GA4 may record all of those as one generic event, or as several events with no detail attached. With a custom dimension for form name or enquiry type, you can see that paid search produces quote requests while organic traffic produces general questions, and spend accordingly.

Custom dimensions also make reporting match how the business actually thinks. An accountancy practice might care whether an enquiry was about Self Assessment, payroll or VAT returns. An online shop might want to split revenue by delivery option or by whether a discount code was used. None of that exists in GA4 until someone sends it and registers it.

When I set up tracking for performance marketing campaigns, custom dimensions are usually where reporting moves from “how many enquiries” to “which enquiries, from where, and worth how much”.

Common mistakes

  • Expecting history. A custom dimension is not retroactive. Data collected before you registered it shows as “(not set)” for that dimension, so register it on the day the parameter starts being sent.
  • A name that does not match. The parameter name in GA4 must match exactly what the site or Google Tag Manager sends, including capitals and underscores. “formName” and “form_name” are two different parameters.
  • Too many unique values. Sending timestamps, session IDs or full URLs as a dimension creates high cardinality, and GA4 then groups the long tail into a single “(other)” row that hides the detail you wanted.
  • Sending personal data. Email addresses, phone numbers and names must never go into a dimension. Google’s terms forbid it, and under UK GDPR it is personal data you would be placing in a third-party tool with no good reason.
  • The wrong scope. Registering a customer type as event-scoped means it appears only on the events that happened to carry it, not on everything that person did.

How to act on it

Start with the question you cannot answer today, not with the setting. Write down the two or three breakdowns you would actually use to make a decision, for example “which service page produced the quote” or “new or returning customer”. Each one is a candidate dimension.

Then check the site sends the value consistently. Use Google Tag Manager’s preview mode and GA4’s DebugView to confirm the parameter appears on the right events with sensible values. Register it with a clear name and a description your successor will understand, and keep a short tracking plan listing every custom dimension, its scope, where the value comes from and who owns it.

After a week or two, open an exploration and test whether the breakdown answers the question you started with. If it does not change any decision, archive it and use the slot for something that will.

Do and do not

Do

  • Register the dimension on the day the parameter starts being sent
  • Keep a tracking plan listing every dimension, its scope and its source
  • Check values in DebugView before trusting the reports

Do not

  • Send email addresses, phone numbers or names as a dimension
  • Use values with thousands of unique entries, such as timestamps
  • Register dimensions nobody will use to make a decision

Questions people ask about this

What is the difference between a custom dimension and a user property?

A user property is the value your site sends about a person, such as their membership level. A user-scoped custom dimension is the registration in GA4 that makes that property appear in reports and explorations. You need both: the property sent by the site, and the dimension registered in GA4.

Can I add a custom dimension to data I have already collected?

Not in GA4 itself. A custom dimension only fills from the moment it is registered, even if the parameter was being sent before. If you have the BigQuery export switched on, every event parameter is in the raw export whether or not it was registered, so earlier data can still be analysed there.

How many custom dimensions does a small business need?

Usually fewer than people expect. A handful covering things like form name, enquiry type, page type and logged-in status answers most of the questions a small business asks of its analytics. The limit that matters is attention, not slots: a dimension nobody looks at adds clutter without changing any decision.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.