Create a segment using a custom event in Google Analytics - google-analytics

I want to create a segment of users which counts something like total [upgrade] events > 50. The upgrade event is a custom category in this case. How can I pass this event through to be used in segmentation?
I have tried using Event Category matches [upgrade], but that only counts players who have done one or more event in this category. I want to segment based on the number of times a user completes an event in this category.
Thanks for any insight you can lend. We're stumped over here!

Related

Google Analytics (GA4) filter two events in Explorer

I have created a free form in the GA4 Explorer. My dimension is Event name and my Metrics is Event count.
I want to filter two events only.
I have tried to use regex, but it didn't get any results:
^(EventA|EventB)
How can I filter two events in Google Analytics explorer?
It actually worked for me when I tried to filter for two events:
There's also another way to accomplish this. Instead of filtering the events, you can create a segment that specifies the two events:
Click the plus next to segments
Select Event Segment
Add a new condition: Events / Event Name
Click Or
Add a new condition: Events / Another Event Name

Google Analytics: Unable to use a custom dimension as a secondary dimension in reports

We track search terms (e.g. michael kors handbags) entered on our site as an event (i.e. captured in eventLabel). We have a custom dimension that parse the list of product ids returned on a search page.
Example:
'michael kors handbag' returned 5 products on search page. Custom Dimension 1 parses a list of product ids: '12345, 23456, 34567, 45678, 56789'. On an event report, when I use this custom dimension 1 as a secondary dimension, no data is returned. I am seeing the two tags fired (i.e. one as an event hit and the other as a pageview hit) - I am not able to figure out why the custom dimension 1 cannot be used as a secondary dimension.
Any insight is helpful.
Thank you.
The dimension needs to be scoped at Session level, so it's available for all the hits within a session.
Probably the dimension is set at hit level, so the information doesn't persist, when you try to relate it to the event, GA cannot do it.

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/

What happens when pushing variable to dataLayer multiple times

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

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