Google Analytics shows 'null', Data-layer shows correct data - google-analytics

I'm trying to use the DOM Element variable in Google Tag Manager and i focussed on one element in my webpage. I have been following this video tutorial:https://www.youtube.com/watch?v=nxEYZthbzp4
Everything seemed to work as i want. However when i looked in my Google analytics i see that the data-layer doesn't send the data that i want, but just 'null' (even though that in the google tag manager everything looks just fine).
How can i solve this problem?
Screenshot of GTM datalayer & GA output

I think the value is populated after the data is sent to google analytics
check variable by individual events(pageview, dom ready, window loaded, gtm.click);
also please share your variable and trigger setup.
Hope this helps,
Cheers Analytics ML

Related

Google Analytics (GA4) not reading userId from Google tag manager datalayer variable

I am developing a website using nextJs. While implementing GTM and Google analytics, I ran into a problem where GA4 is not reading user_id property from Google tags manager..
My code is pushing the event and firing the tag:
The Tag is reading correct value.
and here are the following datalayer variables.
When I check the GA4 debug view, I cannot see the user_id being set. The User Properties tab stays empty and nothing is coming in that fills it up..
I have tried using first party cookies to set user_id which actually worked, but the issue I faced then is when logging the user out and clearing said cookies, GA4 still managed to keep the user_id saved and not clear it from future events.
Can someone point me in the right direction please?
I'm facing the same problem, and researched about it. I'm suspicious now that "GA4 Configuration" tag will be work only once and setting user_id field too no matter how many I trigger it.
I think the only way is reloading the page to refresh GTM tag, but I'm not satisfied with this conclusion, so I'll be back when I find a better way.

Google Analytics configured with GTM showing two pageviews. But when I check GTM assistant it only shows one

I have configured Google Analytics using GTM in my single-page application build in next.js. In order to check the pageviews I push a custom event to the data layer called "pageview" each time a user change to a new page.
In GTM I have created a trigger that looks for the "pageview" custom event and fires up the google-analytics tag.
Everything seems to be working properly but when I enter the debugview of google analytics and I change from one page to another 2 paweviews are recorded instead of one.
I have check GTM assistant and the tag is not firing twice, so I do not know where the problem might be.
This is messing my stats as I have twice more pageviews than in reality.
Here in the photos i upload you can see the tag. In the history and message no tags are getting fired
While this is what happens in google analytics (both page_views contain the exact same parameters (same page_refererr, page_location...):
Here is the implementation insine next.js. Basically I call the function GTMPageView() each time a route is change. GTMPageView() is the function that pushes "pageview" into the datalayer
I really appreciate any kind of help as I have been hours trying to solve the problem and I cant get to the end of it.

Google Tag manager not firing the collect url

I am fairly new to GTM and trying to figure out something here.
This is the url where i have set up gtm:
http://pizza.de/order/testshop/5283/index.htm
If you see at console, dataLayer is correctly set. So there is no problem with dataLayer, however i don't see the collect.js url firing. I am very sure that the configuration is correct but not able to figure out why the dataLayer is not being pushed to the server.
Any help will with greatly appreciated.
Move your dataLayer.push code to come before the GTM container tag. You are pushing to the dataLayer afterwards, so the GTM container is not able to use it.
From this:https://developers.google.com/tag-manager/devguide?hl=en
Variables pushed to the data layer (i.e. using dataLayer.push()) after the container snippet will not be able to fire tags on page loads with a matching condition.
#nyuen, was for responding late. Was AFK. Unfortunately, that didn't help. I made a small application running on localhost and tried to create the same scenario.
Variables pushed to the data layer (i.e. using dataLayer.push()) after the container snippet will not be able to fire tags on page loads with a matching condition.
The above is correct, but however i realized that it still fires no matter where you place the dataLayer, but its better to follow the documentation.
What I realized is that, gtm.js is responsible to fire analytics.js and analytics.js is responsible to fire the events. In my case, due to some unknown reason, analytics.js was not loading at all. So I had to inject this script and then the events started firing.

Google Analytic's / Duplicate entries / Google Tag Manager

We have Google Analytics on our site. This site also uses Google Tag Manager (unsure whether this is causing the issue or not).
The issue is that within Google Developer on the Network tab it looks like Google Analytics is being called three times, therefore messing up the actual analytics side.
I have searched the web for this issue but most put it down to the page refreshes etc. This is not the case with ours. This happens when it is first loaded.
Each URL is different slightly. I looked through the site code hoping to find duplicate data (script for Google Analytics), sadly I haven’t. Neither have a found duplication when I 'View Source'.
At this moment in time I am puzzled as to why this is happening.
I have noted the parameters are slightly different between the three, I am thinking this is why it looks like its being called three times, why would it do this?
DP: Document location URL (The call which doesn't contain GTM, contains this)
GTM: Google Tag Manager (Two of the three
have this in the third doesn't)
CD1: ? (The call which doesn't contain GTM, contains this)
Z: Cache
Any ideas will be greatly appreciated.
Thanks,
Clare
Most definitely possible that GA and GTM both sending page views. If you are using GTM then you should remove ALL GA code from your pages as GTM replaces all GA.

Listeners return different results on different browsers even after clearing cache/cookies

I believe Google Tag Manager is fairly new and nothing much is going on yet. I went all around Google looking for a solution, but simply gave up after trying all possible solutions. I'm using a Wordpress blog platform, and have integrated Universal Analytics and Google Tag Manager. The settings for my listeners are as follows:
====Link Click Listener====
====Outbound Link Click Tagger====
====Outbound Link Rule====
I used console to test the dataLayer, and it retrieves gtm.load, gtm.js and gtm.dom, but regardless of whatever I click, I see on my Google Analytics that the events are undefined even though I provided the necessary parameter to name them. However, when I tried to do it on a different browser, it works, but not completely (instead of outbound link, it will record it under click), or the outbound works for a completely random client on the Internet, returning the tag "outbound-link" but with an undefined action.
Any ideas?
UPDATE I just noticed that there is a difference between a left-mouse-button click and a middle-mouse-button click. The middle one is not measured, whereas the left-mouse-button click is.
For starters there is an error in your rule. You want "{{element url}} does not contain welink.com" instead of just {{url}} (which would mean that the tag should not fire on your domain at all).

Resources