Today’s post is about Google Tags and some errors they can cause. We will take a look at how Google Tags work, and how to solve the dreaded Google Tag should have been loaded before sending an event error.
The New Google Tag was introduced almost 2 years ago and, to my surprise, it’s still lacking documentation and best practices.
We know that it’s one tag to rule them all and that it should help streamline all tagging operations and make life easier. We know that you can combine tags and destinations. But no one’s telling you how, why, or the best way to do that.
And this is where the problems arise for most marketers. Should you combine them? Delete them? Keep them separate?
Most people take the Google Tag created by Analytics and initialize it in Google Tag Manager. Then they create conversion tags for Google Ads and…lo and behold, there are errors and you have no idea where they’re from or what’s causing them. After all, it’s one tag to rule them all, and you have it, right?
Well, not quite. Each service you have will have a Google Tag and a destination. And this is where I think it gets overly complicated if you ask me.
If you create an Analytics account, you will have a Google Tag and Analytics Destination. If you create a Google Ads account, you will have a Google Tag (typically starts with AW-) and a Google Ads destination.
Well, you want to use GTM with the One Tag, which makes sense, right? So you add the Google Ads destination to the main tag you’re using thinking this is the best way going forward. You set up all the tags, all the conversions, and everything looks good, and…you have errors, conversions don’t work, and feel like the fish from Finding Nemo.
How to solve the “Google Tag should have been loaded before sending an event” error
This error occurs most often when the destination is not connected to the initialized Google Tag or the Google Ads destination is connected to a different tag (AW- for example) not initialized in GTM.
Having trouble setting up conversions? Let us help!
The cool thing is that even if you have this set up properly you can still get the error, due to some bugs peculiarities.
Confused? Let’s dive into it.
So there are 2 ways of solving this error, with some differences between them. Let’s see what they are.
Method 1: Initialize the AW- tag connected to the Google Ads destination
This is the fix recommended by Google directly in the error. It’s pretty straightforward.
The downside of this is that you will have one more tag in GTM and 2 Google Tags. So here’s what you need to do.
- Go to GTM and create a new Google Tag. Add the AW- ID from the error. It’s the same as the one from the Google Tag connected to the AW Destination
- Set the trigger to Initialization – All Pages
- Test each Google Ads conversion and see if the error still triggers
What are the upsides of this method? You will have a cleaner Tag Assistant Window and each service will have its own tab. You will have a GTM tab, a GA4 tab, and a Google Ads tab, all of them separately.
And each tag will only be connected to one service.
You will be able to see GA4 and Google Ads hits separately, which will come in handy if you’re troubleshooting something or if you like to keep Tag Assistant’s debug view cleaner.
Important Note: You may still get the “Google Tag should have been loaded before sending an event” error. If that’s the case, add the triggers you’re using for your Google Ads tags to the Google Tag you created. For example, trigger the AW- Google Tag to fire on the ‘purchase’ event as well. Or…add a Google Dynamic Remarketing tag. Yes, I don’t get it either, but check the Peculiarities section at the end of this article.
Method 2: Connect the AW- Destination to the tag you’re initializing and combine the tags.
The resulting Google Tag will look like this:
You can see that we have the IDs of the 2 combined tags, as well as the destinations.
The upside is you don’t need an additional Google Tag in GTM for this, and the Google Tags section will be a bit cleaner as the tags are combined and only show as one.
As for downsides, Tag Assistant will become cluttered with all the Hits under one tab, encompassing both GA4 and Google Ads, and it might make it harder to troubleshoot and understand each hit.
In the end, it boils down to preference. Do you want to have a 1-to-1 approach, keep each tag with one service, and have a cleaner view in Tag Assistant? Or do you want to have a 1-to-many approach and use the One Tag To Rule Them All to send data to all Google services?
Important Note: If you change the destination you will end up with an empty tag. You will be tempted to delete the tag. I would advise not to, as this led to the Tag Still Running error in the past. The best thing to do is combine the tags.
Peculiarities
In our testing, we have found a couple of errors/bugs. Things that make no sense. I’m convinced that these products are under heavy active development and that Google is trying to make everything work while introducing new features and preparing for the deprecation of third-party cookies, but I’m also quite disappointed by these unexplainable bugs coupled with the lack of support and documentation.
- The “Google Tag should have been loaded before sending an event” error can appear in both methods if you don’t have a Dynamic Remarketing tag set up. You can set that up on Initialization – All Pages or on E-commerce Events. Or at least that’s what our testing showed. Very weird.
- Google Ads will have a ‘purchase’ hit, even if the actual event isn’t a purchase. In this example, you can see that begin_checkout is missing. The event is add_to_cart, but the hit sent to Google Ads is a ‘purchase’. This doesn’t affect anything, it just seems to be an overlook on Google’s part.