I'm using the GA API.
This is a standard Goal completions metrics table (top) against an MCF goal report (bottom)
Check this out:
The total number adds up (12,238), but look how different the breakdown is by channel grouping! I assumed these would be close, but nope!
This the same View, no query filters applied, same date range, just one set of metrics by normal channel grouping above, and another set of metrics by mcf channel grouping below.
The standard reports use "last non-direct interaction" as attribution model (which means that direct is under-reported in favour of campaign traffic), while MFC actually uses "last click" (as it says in the table header), so the conversions are attributed differently to the channels.
Related
I am trying to distribute Pageviews by URL v/s Age as secondary URL, but the result reduces and shows only a set of old URL's but not the new ones.
Here is a report for last 3 years without secondary dimension. This shows 1009 URL's
When added a Secondary Dimension "Age" the results come down to 9 for same period.
I think that age is only applied in certain scenarios where an ad campaign has targeted certain demographics.
What you are likely seeing is the subset of your data that only contains that dimension.
When selecting a dimension, there isn't an "everything else" label unless it is explicitly set, so you won't see the rest of you data - you can assume that "all data minus the age data equals the rest of the data". This is the same scenario as when you set a custom dimension - if you only record the dimension when there is a value (e.g. a promocode on an ecommerce transaction), you will only ever see traffic that has a value applied.
In this instance there would need to have been "no age set" on the dimension, to get the rest of the traffic - which is how demographics work (again slightly unsure). This is like "direct/none" has a default that is put on source medium when there is no source or medium to be discovered.
Thresholds are applied to prevent anyone viewing a report from inferring the demographics or interests of individual users. When a report contains Age, Gender, or Interest Category (as a primary or secondary dimension, or as part of an applied segment), a threshold may be applied and some data may be withheld from the report.
Documentation: https://support.google.com/analytics/answer/2799357?hl=en
My article with test: https://www.analyticstraps.com/i-report-con-i-dati-demografici-non-tornano/
Firebase provides a default event type for posting game scores. It includes parameters for the game level, character and score that was posted. However, viewing this event in the Firebase analytics console I can't see the level/character/score data anywhere, though I can see the total number of "post score" events.
How can I analyze e.g. the distribution of scores, or the average level achieved per game, etc?
Not all predefined event params are reflected in reports. You have a couple of options for further analysis: you can create audiences with filters based on the param values you're interested in, or you can use BigQuery for more in-depth analysis of your data.
EDIT: You can now set up custom parameter reporting.
I'm having a tough time with Google Analytics, trying to understand why the value of metrics changes when segments are applied.
There is a standard audience overview report, which is based on 100% of sessions (no sampling) and the view is not filtered. The period is March of 2017.
Standard "All visitors" segment looks like this:
Then, there is another built-in segment called "Bounced Sessions". When I apply this segment, the "All visitors" values changes:
Amount of users increases, but the count of pageviews decreases.
Any ideas how to explain this?.. Thank you in advance!
Oki, there can be, multiple reasons. Let me explain first how these numbers are calculated, then we move on to your query.
There two types of data gathering and manipulation from google.
Pre-calculated data -- pre-aggregated tables
These are the precalculated data that Google uses to speed up the UI. Google does not specify when this is done but it can be at any point of the time. These are known as pre-aggregated tables
Data calculated on the fly
Some that you do which result in computation or manipulation falls under this category. Like using segments, creating custom reports etc.
Coming to your problem. When you apply segment, every metric that it effects will be calculated again. Thus it may result in numbers greater than you see in normal view.
Standard audience overview report is pre-aggregated at some point of the day. When you apply segment, the results will be calculated with the fresh data. Since latter is the latest, it will automatically give you increased number of the metrics. Even you can see a decrease as well, all depends on your data and user behavior.
Resolution: If you are a premium user, use Big Query. You must rely on big query for every metric as they are fresh and calculated on the fly
We are running the Google Analytics free version and I'm seeing some inconsistent results regarding data sampling. I have tried my requests in Google Analytics Query Explorer, the GA Sheets add-on, and within the GA interface.
Basically, I am comparing results from a complete date range against the sum of results for that date range broken into smaller chunks (to reduce/remove the chance of sampling occurring). Metrics are sessions, transactions, and revenue. I have a session-level dynamic segment applied: sessions::condition::!ga:landingPagePath=#/thanks
As you may expect, the results from the single request are different (counts are lower) than those from summing the multiple smaller requests. For example, sessions are 45,311 vs. 51,596 and income is further apart. This implies that sampling is being used for the larger request. The trouble is that the API response explicitly says that sampling is not used in any case, i.e. "Contains Sampled Data" equals "No", even for the full date range within which our property should be exceeding the 500,000 session threshold for sampling to kick in.
I'm almost certain that the results from summing smaller date ranges are correct, as these are pretty close to what we see in our CMS analytics.
Can anyone explain the mechanics behind this? Is GA doing some sort of behind-the-scenes sampling to produce this inconsistency?
Thanks,
Daniel
Sounds like sampling. Check all your sources to see if they contain sampling and make sure you have Sampling Level Set to "HIGHER_PRECISION".
1) Google Sheets Google Analytics Add-On in cell B6 of the data for each query check to see if it says "Yes: for "Contains Sampled Data"
2) Google Analytics Query Explorer in the header below your profile name check to see if it says "Contains Sampled Data: Yes"
You are on the right track in breaking your query down into smaller chunks with smaller date ranges to avoid sampling. Here is a post on how to Avoid Google Analytics Sampling using Python
Our application needs to gather usage data through the Measurement Protocol of Google Analytics.
We can successfully send "appview" hits to the Google Analytics server, and get a proper response by it (a GIF image). The appview hits appear on the GA Dashboard, along with the country of origin, session duration, etc.
We also have several custom dimensions and metrics that we want track for each hit. We have set those up in the GA Admin panel with the correct scope, index and active state. We have 3 Hit-scoped dimensions, 3 User-leveled dimensions and 1 Hit-scoped metric, all set to Active state.
We send the dimensions and metrics as described in the docs at
Custom Dimensions / Metrics
attached to the hits they apply for, like so:
...&cm1*=3 <--for the metric
and
...&cd6*=15 <--for the dimensions (some dimensions have numeric values, others are text)
The problem is that those metrics and dimensions don't show up in our custom reports: the reports always say "There is no data for this view.". For example, we have a report that has one dimension and one metric, without any filters, set to "Any view". It doesn't matter if the Type of the report is Explorer, Flat Table or Map Overlay, it never shows anything.
There have been several days since the hits were received and appeared in the dashboard, but the reports are still empty. So scratch out any processing lag.
We tried sending "event" hits instead of "appview" hits - again, the hits show up in the Dashboard, but the reports are empty.
We cannot get any useful insights without using dimensions and metrics - so there is no way to get by without this.
Because of reasons too long to describe, we cannot use any of the Google-provided Analytics libraries.
Is there anything else we need to do to see data in those reports?
When using the measurement protocol you need to that the profile is not set to exclude bot and spiders.
Go to the google analytics website under the admin and the settings under the profile in question.
Beyond that check the realtime reports you should see the hits coming in. You will need to wait 24 -48 hours for data to appear in the standard reports due to data processing lag.