What happens when pushing variable to dataLayer multiple times - google-analytics

Lets say for instance I have a web game on a page and the code is set so that every time the player completes a level it pushes the current level to the dataLayer:
dataLayer.push({'level': currentLevelNumber});
Does this then mean I will be able to create segment in GA to see how many people made it to each level? i.e. segment1(level = 1), segment2(level = 2) etc..
Also, what are limits of this? GA has a 500 event limit per session. Is pushing a variable part of this limit or does it have its own limit?
I tried to find this information in documentation but couldn't see it.

Essentially, you're trying to report on the levels that your users are on for a particular game.
To do this, you will need to create a user-scoped custom dimension within GA.
Then you would want to push to the datalayer whenever the user moves to another level something like:
dataLayer.push({
'level': currentLevelNumber,
'event': 'user-lvl-update',
});
Then in GTM, create datalayer variable to capture "level" and create a custom event trigger for the "user-lvl-update" event.
Then in GTM, create a GA tag for the event "Level Update" and configure it normally, but this time, check the "Enable overriding settings" checkbox, under "More settings > Custom Dimensions" click on "Add custom dimension", enter in the index number of the custom dimension you created earlier and for dimension value, put in the variable where you captured level. Trigger this tag using the "user-lvl-update" trigger.
There is a limit of 500 hits per session. A hit is a pageview, event, etc. whenever you're sending data to GA. Pushing to the datalayer doesn't count towards that

Related

How to select Event name when adding Custom dimension

I created events on my website using gtag("event", "qualify", { site: "Example site" }) and I can see the data is being sent to GA (real time report).
Now I want to create a report showing all users that qualify (event) with the site name (event parameter). I read that I need to create a Custom dimension. Where do I select the Event name?
In my experience, you have no possibility to select the Event name. If some of your events have parameters with same names, GA will create one custom dimension. This dimension will displays in reports of every event, which has parameter with selected name.

Google Analytics - Show Users With 'X' Event But Without 'Y' Event

I've just started using google analytics, and except of a quick beginners tutorial I don't know very much :-).
I have a website with few steps in the sign-up page. In the first step the user verifies his phone number. I want to have a list of all the users phones that completed the verification step but didn't finish the registration. In order to do this I send the following events in each step:
{eventAction: 'registration phase1', 'eventLabel': userPhoneNumber}.
{eventAction: 'registration phase2', 'eventLabel': userPhoneNumber}.
{eventAction: 'registration phase3', 'eventLabel': userPhoneNumber}.
I want to create a report that shows me all the phone numbers of the users who fired the first event but didn't fire the third event. I tried to achieve this by using event advanced filters with include and exclude condition but it seems that data being shown is not correct. I also tried to do this using the Query Explorer but I couldn't find out how to do this.
You can do this by first using the Google Analytics web UI to create a segment. You can learn more about segments here.
You'd want to use "include" and "exclude" sessions or users depending on your need. The setup will look something like this, adjust the events action/category/label as you wish to match the events you want.
Save your segment and head over to the Query Explorer.
Select the appropriate property and view which you created the segment. Under the "segment" field type in the name of the segment you just created like so:
Fill in the rest of the form with the dates, dimensions/metrics that you want and you should get results according to that segment. No additional filtering needed.

Events and Goal completions don't work together?

I have a goal completion when user visit the specific page. Also I'm sending event from this page to count how many times user visited this page during the session (and for some other info).
Now I'm trying to make a custom report (flat table) that have info about:
Session ID (custom dimension),
Event Category (secondary dimension),
Goal completion (metric)
and Pages/Session metric.
In this case I see that Goal completion is zero for every session although I see events from the page (and I know that goal was completed in every session cause it's testing site).
If I remove Event category from custom report then Goal completion equals 1 for each session (that is true info).
And if I'm trying to use Event category in filter it is the same situation - I don't see Goal completed.
'Event Category' is a hit-level dimension, but other dimensions and metrics have session-level. It's invalid dimension-metric combination.
Try to use custom segment with conditions: include sessions where 'Event Category' = [your value].
Good explanation of scope in GA: https://www.bounteous.com/insights/2016/11/30/understanding-scope-google-analytics-reporting/

GA custom dimension data not tracking

I have created the dimension, it's currently my only one so it has index 1. It has session level scope and is active.
I have also created a custom report to see any results I might get from it. All the report does is show the Session metric against my custom dimension. Nothing extra such as filters.
In my code (which until now was unmodified) I have added the following line between the 'create' and 'send' calls:
ga('set', 'dimension1', 'test');
Nothing is appearing in the report, or anywhere else when I use this dimension as a secondary dimension.
I have tried on a second GA property of mine and it also doesn't work there.
What am I doing wrong?
Generally, it takes 1-3 hrs for the dimension data to show in GA UI. But there are ways to check if the hit you sent contains the dimension or not.
On your browser, check the ga requests ( Like in chrome -> Inspect -> Network -> filter by collect). If you have included the dimension correctly, the pageview hit sent must contain cd1 parameter (1 is the index of the dimension). If the hit contains the dimension and value, then wait for few hours and your report will show the data.
You can also use Google Analytics Debigger to check the requests sent to ga by your website page

Track click data as % with google analytics

I have a new feature which is exposed to some visitors to my website, depending on what they search for.
I want to know "if the feature is exposed to them, how many interact with it", ideally as a percentage.
I use GTM / GA but not sure how to get this relativity.. any ideas on how I could do it? Thanks
You can track this in many ways a simpler one would be to use an event. If you want it with visualization you can create an event based goal where the destination goal could be the event of interaction.
When an user is exposed with the new feature then fire an event. Configure this as an required event for the goal and destination event could be the interaction one.
After you get all the event counts then you can manipulate the data as you want.
I think the step you are missing is the detection of the elements on page. To do this create a Custom JavaScript variable (lets call it 'Detect'):
function(){
return $('#FILTER_ID).length>0
}
This function looks for whether an element with the id FILTER_ID is present on page, and returns true or false.
From here you have a number of options.
1: Create an event on page-view if Detect equals true. Create an additional event for clicks on the element. Divide clicks events by pageview events and you have your interaction ratio.
2: Create a new hit level custom dimension. In your Pageview Tag, set this custom dimension to the value - Detect. Create an event for clicks on the element. Create a session segment where Detect equals true, then divide events by pageviews and you have your interaction ratio.

Resources