Troubleshooting · part of Fix GA4Your GA4 event parameter is not showing in reports
The tag fires. The parameter is in the payload. GA4 accepts it without complaint. And no report will show it to you.
This is the quietest failure in GA4, because nothing breaks. There is no error, no warning and no red mark anywhere in the interface. The data is being collected and the reporting layer simply has no way to display it, which means the first sign of trouble is usually someone asking a question you cannot answer, months after the tagging was signed off. Here are the seven causes, each with the check that identifies it.
We did this to ourselves, which is partly why we built a check for it. Our own sign-up tracking sent a parameter recording which page a sign-up came from, correctly, for weeks, and none of it was reportable because nobody had registered the dimension. Nothing in GA4 points this out.
- 1
No custom dimension has been created for it
Check: In GA4, go to Admin, then Custom definitions, and look for a dimension whose parameter name matches what the tag sends, character for character. If it is not in that list, this is your cause.
Fix: Create an event-scoped custom dimension using the exact parameter name. Google's documentation says you can start reporting on it after 24 to 48 hours. This is the cause in most cases, and the reason it goes unnoticed for months is that nothing fails: the tag fires correctly, GA4 accepts the data, and the only symptom is an absence.
- 2
It is registered, but with the wrong scope
Check: Open the dimension and look at its scope. An event parameter needs an EVENT-scoped dimension. A user property needs a USER-scoped one.
Fix: They are not interchangeable, and a dimension of the wrong scope does not partially work, it simply never matches. Recreate it with the correct scope. Note that the two have separate allowances, so using up your user-scoped slots does not affect your event-scoped ones.
- 3
The name does not match, or is too long to survive
Check: Compare the parameter name in the tag with the one in the dimension, including capitalisation. Then count the characters.
Fix: GA4 limits an event parameter name to 40 characters and a user property name to 24, which is shorter than most people expect. A name past the limit does not arrive as it was sent, so a dimension registered against the full name never matches anything. Shorten the name where it is sent, then register the shortened version.
- 4
The event is carrying more than 25 parameters
Check: Count the parameters on the event tag that is sending it, including any set on a shared GA4 settings variable that applies to every event.
Fix: GA4 accepts 25 parameters on an event and discards the rest, without telling you which ones it dropped. A parameter can therefore be named correctly, registered correctly, and still arrive empty. Reduce the tag to the parameters that are actually read in a report, or split the event in two.
- 5
The custom dimension quota is full
Check: Count your existing dimensions by scope in Admin, then Custom definitions.
Fix: A standard property allows 50 event-scoped custom dimensions, 25 user-scoped, 10 item-scoped and 50 custom metrics. At the limit, a new one cannot be created at all, and deleting one does not free the slot immediately: Google requires a 48 hour wait before a replacement can be added. Archive definitions nobody reports on, and keep a few slots spare rather than running at the cap.
- 6
You created the dimension and it reports (not set)
Check: Check when the dimension was created against the date range you are looking at.
Fix: A custom dimension applies from the moment it is created, not retroactively: GA4 resolves these at collection time rather than when you run the report, so events that were already recorded have nothing for the new dimension to show. Look at a date range that starts after you created it, and allow the 24 to 48 hours Google documents before expecting data at all.
- 7
It is a parameter GA4 already reports on by itself
Check: Check whether the name is one of GA4's automatically collected or recommended-event parameters: page_location, page_title, method, search_term, currency, value, transaction_id, or anything beginning item_, link_, file_, video_, form_ or promotion_.
Fix: These map to predefined dimensions and never need registering. If you have registered one, you have spent a slot from a capped allowance for nothing. Look for the built-in dimension instead, and release the custom one.
Is the missing data recoverable?
This is the question that actually matters, and the answer turns on one thing: whether your BigQuery export was already running.
Registering a custom dimension is a reporting-interface concept, not a collection one. Google’s BigQuery export schema describes the event_params record as holding “any user-defined event parameters”, and says nothing at all about custom dimensions. So if the export was linked at the time, the values are sitting in your raw event data and you can query them, build the history you thought you had lost, and backfill your reporting from there.
If the export was not linked, the answer is no. The export is forward-only from the day you connect it, and GA4’s own interface will not show you a parameter it was never told to report on. That asymmetry is the strongest practical argument for turning the BigQuery export on early, even if you have no immediate plan to use it: it is free at the volumes most sites run, and it is the only version of your data that does not depend on having configured the reporting correctly in advance.
The limits worth knowing
- 25 parameters per event. The rest are discarded, without telling you which.
- 40 characters for an event name and for a parameter name.
- 24 characters for a user property name, and 25 user properties per property.
- 50 event-scoped custom dimensions, 25 user-scoped, 10 item-scoped, and 50 custom metrics.
- 48 hours after deleting a dimension before a replacement can be added, once you are at the cap.
- 24 to 48 hours before a newly created dimension can be reported on.
From Google’s own documentation on data collection and configuration limits, and on custom dimensions and metrics. Figures widely quoted elsewhere that Google does not publish, such as a cap on key events, are deliberately not listed here.
Tracking Auditor reads the parameters your GTM tags declare, compares them against the custom dimensions registered in GA4, enforces the scope rule, and tells you which ones are being collected and cannot be reported on. A free audit every month.
Run a free audit →FAQs
Why is my GA4 event parameter not showing in reports?
Almost always because no custom dimension has been created for it. GA4 accepts and stores the parameter, but the reporting interface can only show parameters that have been registered as a custom dimension, so until you create one the data exists and is invisible. The other common causes are a dimension created with the wrong scope, a name mismatch, a parameter name over the 40 character limit, an event carrying more than 25 parameters, and a full dimension quota.
Does creating a custom dimension show my historical data?
No. Custom dimensions apply from the point of creation onward, because GA4 resolves them at collection time rather than at query time. Events already recorded do not acquire the dimension retroactively, which is why the cost of this problem grows for every day it goes unnoticed.
Is the data gone, or can I recover it?
It depends entirely on whether you had the BigQuery export running at the time. Google's export schema describes the event_params record as holding "any user-defined event parameters", and makes no mention of custom dimensions, because registration is a reporting concept rather than a collection one. So if the export was already linked, the values are in the raw event data and can be queried. If it was not, the export is forward-only from the day you link it, and the data is not recoverable.
How long does a new GA4 custom dimension take to show data?
Google's documentation says you can start to report on a custom dimension after 24 to 48 hours. Before that, an empty report is expected rather than a fault.
How many custom dimensions can a GA4 property have?
A standard property allows 50 event-scoped custom dimensions, 25 user-scoped, 10 item-scoped and 50 custom metrics. Scopes have separate allowances. At the cap a new dimension cannot be created, and after deleting one you must wait 48 hours before adding a replacement.