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

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.

Related

Metrics and dimensions are not showing up for hits of type 'event'

I have a fully functional and working code (written in C#) which purpose is to track some hits to the specified GA property. This code has been tested and still works successfully. It adds some predefined dimensions (like App Version) to each hit and a several custom metrics to a certain hit types (like event with a certain Event Action).
So far so good everything works flawlessly when taking into account the first property to which these hits are being sent. Also everything is fine when I set up a brand new GA property and track my hits to it - that is, I'm able to see events in Realtime reports, and events show up in custom reports after a while so that I can see my custom metrics.
The issue is that when I try to send absolutely the same hits to the existing property which had been created and configured ages ago - there is no both dimensions (even predefined) and custom metrics in my custom reports. I see these events in realtime and behavior reports, and I'm even able to create a custom report against events count - but that's it. I'm able to use for example Day of the month as a primary dimension, but when I try to use App Version as a dimension or my custom metrics as report metrics - it says "There is no data for this view.".
I've already tried everything I could, have read almost every post about custom definitions in Google and viewed almost each related SO question and answer - still with no luck.
We use measurement protocol
There is a correct User Agent being sent with each hit
17 days has passed since my first attempt to track these hits with existing property
There is no filters and segments at all
There is only one view
For me it looks like a property misconfiguration, but I've inspected each configuration page (I have all possible rights granted) and have not found anything related.
Will appreciate any help with this issue.
UPD: The hit itself (with the sensitive data replaced):
t=event&ec=session&ea=connection_end&el=b225d53a-6bb2-8021-f7b5-ae7004ae0a00&cm1=174960&cm2=1751494&cm3=479033&tid=UA-XXXXXXX-X&cid=4119e77f-be87-4530-04d3-33882f8eea77&v=1&av=XX.XX.99.555&an=my-awesome-app&aid=app.awesome.my
UPD: Here is what I'm trying to achieve (screenshot was made at the test property, where everything works like a charm):

Track everything inside GA using only one custom dimension and one custom metric

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.

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.

Google Analytics custom dimensions not tracked right after creating dimensions

I have noticed an odd behavior when working on Google Analytics. I have enabled a custom dimension in an existing installation, and then started sending hits to GA with said custom dimension in it right away. (For clarification, this was a previous custom dimension, which was disabled and set to Product scope; I enabled it, renamed it and changed it to User)
The odd thing is that for a while, whenever I tried to show my custom dimensions in reports, I got an empty list, as if there were no hits with custom dimensions in them - even though I'm certain that they were being sent. However, a few hours after I tried again and I checked that this time around, the custom dimensions did appear in my reports - I could add them as a dimension to my reports and get back some results.
What bothers me is that when I checked the times of the rows I was getting in the report, it appears as though I only got results from the attempts I did several hours after setting the custom dimensions - apparently, the first hits weren't getting any custom dimensions with them.
So my question is - is there a setup period for creating or modifying custom dimensions during which GA will not record the new dimension data? Or could it be that I am overlooking something in my setup? (I'm pretty certain the clients were sending the right data at all times.)
Yes, in my experience it can take up to 3 hours (depends on a lot of factors).
So next time anticipate the need for the custom dimension or just be ready to lose some data.

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).

Resources