In Google Analytics 4, you can probably do more than 100 things wrong when it comes to the GA4 configuration and implementation. Are you sure your GA4 setup is accurate?
Getting GA4 properly set up isn’t easy! Also, with many updates and Google Analytics 4 continuously evolving, it can be challenging to keep up.
In this blogpost we will explore a list of 10 Google Analytics 4 configuration items you can easily get wrong. In addition, I will share a solution for each.
Table of Contents
- Not Adding Unwanted Referrals
- Using Default Data Retention Period
- Not Integrating GA4 with Google Stack
- Not Marking Events as Conversions
- Incorrect Enhanced Measurement
- Not Registering Custom Parameters
- Forgetting the Currency Parameter
- Copying Event Dimensions from UA
- Not Separating Live from Test Site Traffic
- Sending Ecommerce Parameters with Custom Events
- Concluding Thoughts
Let’s dive right in!
#1 Not Adding Unwanted Referrals
Are you running an Ecommerce store and do you see third party payment providers showing up in GA4 in traffic and conversion reports?
Then you will want to configure a feature called “List unwanted referrals”. Not doing so will result in GA4 attributing Ecommerce transactions to the wrong source.
It’s vital to get this attribution right.
Here is how to get this done:
Step 1: Go to the GA4 UI Admin section and select Data Streams under the GA4 property.
Step 2: Click on the Data Stream name.
Step 3: Click on “More Tagging Settings”.
Step 4: Click on “List unwanted referrals”.
Step 5: Add your own domain and third party payment domains.
This Google Analytics 4 configuration element doesn’t work retroactively and only affects the future data collection process.
#2 Using Default Data Retention Period
The default data retention period is set to two months.
This setting doesn’t affect the data in the standard reports, but it impacts the advanced reports in the Explore section.
Leaving it to two months will greatly impact your data analysis. In that case you won’t be able to go back for more than two months when analyzing your data in that section.
If there are no privacy hurdles:
- Set the Event data retention to “14 months” instead of 2 months. // you can increase it up to 50 months if your GA4 property is under Analytics 360
- Leave/turn the “Reset user data on new activity” on.
“Turn this option ON to reset the retention period of the user identifier with each new event from that user (thus setting the expiration date to current time plus retention period).”
On a separate note, the data retention period doesn’t apply to data stored in BigQuery – potentially you can keep it forever there.
#3 Not Integrating GA4 with Google Stack
An important part of the Google Analytics 4 configuration relates to integrating GA4 with other Google Products.
Not doing so will result in a suboptimal view on performance.
You can link several products to GA4 if applicable to your website or app:
- Google Ads
- Ad Manager
- BigQuery
- Google Data Studio
- Google Optimize
- Display & Video 360
- Merchant Center
- Search Ads 360
- Search Console
Here you can find the most updated overview of which products you can integrate with GA4 and how.
#4 Not Marking Events as Conversions
GA4 automatically links the purchase event to a conversion event (GA4 feature to use to define an event as a conversion).
Please note that conversions in Google Analytics 4 are defined differently compared to goals in Universal Analytics.
- Universal Analytics goal: will only count once in a session.
- GA4 conversion event: will increment by one every time the related event is tracked.
There are certain workarounds to track a GA4 conversion event only once per session. I will address this in a future blogpost.
The two main ways to mark an event as a conversion are by:
- Marking an event as conversion in the “Events” tab.
- Directly adding a conversion event in the “Conversions” tab.
Both options are shown below:
Mark event as conversion
Add new conversion event
The second option allows you to mark an event as conversion before the action was measured as an event.
Keep in mind that conversion tracking doesn’t work retroactively.
You can analyze conversion events in several reports in the GA4 UI.
Below you can find an example:
It’s possible to analyze each conversion individually or to do this across all conversions.
#5 Incorrect Enhanced Measurement
Enhanced measurement is a great feature if configured in the right way.
This Google Analytics 4 configuration allows you to automatically track certain features / actions on your website or app.
But, keep in mind that in some cases manual tracking might be a better option for you than automated tracking.
In this blogpost you can learn everything about the do’s and don’t of Enhanced measurement in GA4.
#6 Not Registering Custom Parameters
At the base of the data model in Google Analytics 4 are events and parameters.
The example above shows one event with multiple parameters. These Ecommerce parameters are on default accessible in the GA4 UI (secondary dimension in certain reports and Explore section).
But, what if you create an event with one or more custom parameters?
In that case, you need to register each parameter either as a custom dimension or metric. You won’t be able to analyze them in the GA4 UI if you don’t do so.
Here is where you can register them: Configure >> Custom definitions.
Within 24 hours you can use the new dimension to build reports via the Explore section and/or use it as a secondary dimension in the standard reports.
Note: Companies that fully rely on the BigQuery integration don’t have to worry here as custom parameters will be accessible through BQ even if you don’t register them.
#7 Forgetting the Currency Parameter
In Google Analytics 4, you must send the currency parameter with the “purchase” event.
This list shows all options that you have when specifying the “currency” parameter.
And here is an example of a Google Analytics 4 configuration in GTM.
In this case, a variable specifies the “currency” parameter value. Another option is to hardcode the value, i.e. “USD” or “EUR”.
Again, you need to implement and send the “currency” parameter to GA4 to correctly pass the “purchase” event and its values to GA4.
Update 24 August 2022: You can now load the Ecommerce data in your GA4 Event tags directly from the data layer (if you follow the exact GA4 schema) or by using a Custom JavaScript variable that returns an object in the same schema.
#8 Copying Event Dimensions from UA
In Universal Analytics, the structure for Event Tracking looks like this:
- Event Category: [Event Category]
- Event Action: [Event Action]
- Event Label: [Event Label]
In Google Analytics 4, it looks like this:
- Event Name: [Event Name]
- Parameter 1: [Parameter 1]
- Parameter 2: [Parameter 2]
- Parameter 3: [Parameter 3]
- Etc.
You can re-use everything that is set up in Universal Analytics in Google Analytics 4, but most probably it is not ideal.
This is the time to re-think your measurement strategy.
The data model in GA4 is much more flexible and instead of simply copying your structure (example below), I recommend to create a new Event Tracking strategy.
- Event Name: [Event Category]
- Parameter 1: event_action
- Parameter 2: event_label
I believe the above setup isn’t optimal and it’s best to aim to set the parameters in a way to provide as much “context” as you can to the tracked Event.
Also, keep in mind there are limitations to the number of custom parameters you can register (Google Merchandise Store example):
In a future blogpost I will provide best practices on how to define your Event Tracking strategy in GA4.
#9 Not Separating Live from Test Traffic
In Universal Analytics, you can insert the same property ID on your Live site and Test site. And then create two views to include or exclude certain domains.
In the Google Analytics 4 configuration, there isn’t a possibility (yet) to apply these type of filters. And even if there would be, I recommend creating a separate GA4 property for your Dev environment.
I recommending choosing either one of the two options below (GTM setup):
- One GTM container for both websites, but with different environments
- Two GTM containers, one for each website
The setup if you have two GTM containers is very straightforward. But, what if you have only one container to work with?
In that case, using a Lookup Table is a great solution!
Here is a 2-step GTM/GA4 setup for this scenario:
Step 1: Create a Lookup Table based on the {{Page Hostname}} variable and add the two measurement IDs of both websites.
Step 2: Re-use this variable in your GA4 Config Tag.
And you are all done!
Last step is to verify your data requests, i.e. via the DebugView in GA4.
#10 Custom Events with Ecom Parameters
This is a very important limitation to know about if you run an Ecommerce store.
The Ecommerce specific parameters can’t be (properly) re-used in non-Ecommerce events.
Here is an overview of GA4 Ecommerce events:
Let’s assume you create an event ‘add_shipping_method’ and include the Items array.
You won’t be able to analyse the item-level parameters in the GA4 UI unless you register the same parameter under a separate name (example below).
This might not be ideal; keep this in mind when structuring your (Ecommerce) event tracking and wanting to go beyond the recommended events from Google!
Concluding Thoughts
A ton of things can go wrong in the Google Analytics 4 configuration and implementation.
In this blogpost you can see a variety of issues I came across since starting to work on GA4 projects. This is just a subset of potential issues or challenges you might encounter.
Starting to collect data in GA4 is easy, but collecting useful data in a structured way is a different ball game. :-)
What are your thought on the GA4 configuration? Are there any lessons you would like to share? Looking forward to hear your thoughts!
One last thing... Make sure to get my automated Google Analytics 4 Audit Tool. It contains 30 key health checks on the GA4 Setup.
Vipin Saini says
Hey Paul, The post is really really informative. I have been putting on much efforts on learning GA4 and Ecommerce tracking and the points shared in this post are much helpful.
Paul Koks says
Thanks for the heads up and let me know if you have any questions!