Track everything inside GA using only one custom dimension and one custom metric - google-analytics

What are the drawbacks of using a single custom dimension and a single custom metric in GA to track everything?
Ok, I am limited to 20 custom dimensions and 20 custom metrics for a property in GA. But the number of values for a single dimension is unlimited.
So, I will be able to, for example, create a dimension called Dimensio and a metric called Metri. Then, if I want to track a custom event called Ev1 I will tag on Dimensio with value Ev1 and on Metri with value 1.
I am just suspicious, why having such a solution GA ever worried about having 20 dimensions and 20 metrics (it would be enough to have 1 dimension and 1 metric).
Thank you.

There are numerous reasons/use cases where you'd want more than 1 dimension. I'd suggest some reading on scope.
One use case that will break the 1 dimension usage:
For a music streaming service, you want to track the user type (premium vs free) and as well as the version of the app (v1.0.1 vs v1.0.2) for debugging purposes.
The user type should be on a user scope, as in it will persist as long as the user doesn't clear their cookies. The version might be on a hit scope, as you might push out an emergency fix part way through the user session.
Using the above use case, you cannot report on the user type as well as version in the same report if you were only using one dimension.

Related

How can I easily analyze Firebase A/B test results with event parameters?

We use Firebase A/B test product for our mobile apps. We need to reach the parameters of our events and make a deeper analyze. We have worked with BigQuery before for this, but it requires a lot of effort.
Let me tell you briefly about our problem:
Let's say we have an event called add_to_cart. We want to look at the number of times the add_to_cart is triggered from a specific screen in the A/B test results. For example, those whose firebase screen class is category_page. This data can be accessed by writing a query over BigQuery, but create extra effort for different needs.
Is there a short way or tool about doing analysis by event parameters?
As we find Firebase's reporting and analysis insufficient, we will decide to use a different tool. If anyone encounters such a problem, it is possible to make a deep analysis through BigQuery.
Another way you can use Audience as a hacky way.
1. Go to Custom Definitions section and create a custom definition.
Your scope should be "User". Select firebase_exp_<N> as the User property. Because Firebase defines a property for each user it adds to the experience. You can find the <N> number from the link on your A/B test page.
E.g. your A/B test link is like: https://console.firebase.google.com/u/0/project/your-project/config/experiment/results/20. The <N> number is 20 and user property is firebase_exp_20.
2. Create Audience for each control group
Create a new audience according to this created dimension value. A value of 0 corresponds to Baseline. Each control group after that continues with consecutive numbers. (1,2,3..)
3. Go to Analytics
Go to Analytics and do your analysis for each control group with these Audiences.
I hope it helps.

Two Custom Dimensions appear in collect request, but only one surfaces in reporting UI

I've recently implemented GA via GTM for a MediaWiki site I'm working on. As part of that configuration, I've setup custom events and variables to capture two custom dimensions (one session scope, and one hit scope respectively).
While the data layer and collect requests (e.g., google-analytics.com/collect?...&cd20=xxxx&cd44=xxxx...) show variables being set and sent, only one of the dimensions is surfaced within the GA reporting UI. More specifically, the session scoped dimension appears when slicing session-based reports, but the hit scoped dimension doesn't appear when slicing page-based reports.
Given the setup, I'd expect it would be all or none on the custom dimensions (vs. only one being captured). Has anyone run into this/any general ideas on what may be amiss?
Make sure all expected custom dimensions are properly defined in your property settings. Undefined custom dimensions will be ignored completely.
You always send your data on hit. The session/user/product level dimension is about the post-processing. Therefore, for a session-level dimension, it is enough for it to be set once per session for it to appear for any hit of the session. Hit-level custom dimensions will only be available for the hits that had that dimension explicitly set for them.
Only 20 CDs are available for free GA. GA360 is required for more. Make sure you're sending data to a GA360 property if you want to use the 44th CD.

Google Analytics - View doesn't report correct data when filtered with a Custom Dimension

I've set up a Custom Dimension at the website and the data is being registered correctly, as I am able to segment standard reports with a secondary dimension (using this Custom Dimension) and also to use this Custom Dimension as a segment.
However, when I set up a new View in GA filtering by this Custom Dimension, I see less than 20% of the data (sessions, pageviews, transactions, etc.) compared to what I see in a view without filters, but segmenting with the same Custom Dimension.
Has anybody had this kind of problem?
This can be an issue of the scope. For example, include view filter requires that filtered dimension be present in every hit. So if you're using session level custom dimension and only send it once per session then only 1 pageview will be there in filtered view. Contrary, Session segment requires that the filtered dimension appear at least once in the session and include all of the particular session hits.

How can I view individual hits to pages within a GA custom report

I would like to compare some data between a 3rd party analytics tool and GA.
Now I would love to see the IP addresses that Ga is receiving however it seems that they do not reveal this information, fine, however, I cannot find a way to use the flat table in the GA custom report to show me the following if possible;
Full Date Time (Seems as though they don't want you to have this either)
Browser Version
Browser Width & Height
Page (from the hit)
And I would like this data not to be grouped by the metric, this way I can see that if the same user has hit a page 3 times it isn't grouped.
If anyone can help please let me know. If the question is poorly phrased please let me know.
Thanks,
Connor.
This requires some work, and it will allow the breakdown only for future hits, not for hits that are already collected.
To view individual hits you need to create a hit based dimension that is unique per hit. Unless your page has an amazing amount of traffic a timestamp in milliseconds (e.g. new Date().getTime()) will be sufficient (for your report you might want to format that in a nice way). So in the admin section of your GA property you go to custom definitions, create a hit scoped custom dimension, and then modify your pagecode to send the timestamp to that dimension. Hit scoped means it is attached to the pageview (or other interacton hit) it is sent with.
If you want to break down your report by user you need the clientid (clientid is how Google recognizes that hits belong to the same user). Again, send it as a custom dimension.
This does not tell you how many sessions the user had (there is no session identifier in GA). If you need to know that you can create a session scoped custom dimension and send a random number along ("session scope" means that GA only stores the last value in a session, so you don't need to maintain a session id over multiple pageviews, since the last value will be set for all hits within the session). The number of different sessions ids per client id then tells you the number of sessions per user.
The takeaway is that GA only shows aggregated data, and if you want to defeat this mechanism you need to throw data at it that cannot be aggregated further. You might run into other constraints (i.e. there is a limited number of rows per report).

Huge difference in Advanced segment and Custom Report

Why is the advanced segment and custom report in the below scenario not matching. Need your valuable suggestions from you all.
I have created a custom report to get sessions. I have done this by using the below query
Dimension as Device category
Metrics sessions
filters as page matches regex /products/phone/xperia-z
iam getting figues as mobile(sessions) = 869,908
However when i use a advanced segment on Audience-->Mobile--> overview. The query used in the advanced segment is
condition
Filter session using page matchesregex /products/phone/xperia-z
mobile(session) = 1,187,560
Could you please let us know why there is such a huge difference in custom report and advanced segment, though iam only interested in sessions
Comparing segments with custom reports is not a correct way of populating data. Whenever you apply a segment, it gives data for all the sessions in which your specified page was visited. Whereas in Custom Report, the filter works like a secondary dimension i.e. number of sessions from Mobile in which users directly landed on your page.
Try and using secondary dimension in Audience > Mobile report and your data will match.
// Hiren :P

Resources