I've just set up a tool on a client site that users can use to request a quote from our client. To do this the user lands on a form page, fills in their details, submits and then lands on a thank-you page. Pretty basic.
I set this process up as a goal in Google Analytics, using the destination type goal: "begins with /thank-you" and shared that goal as a conversion in Google AdWords.
I decided to run a few Google AdWords ads to promote the tool. I also wanted to double-check the conversion data that AdWords gives you so I set the destination URL in Adwords to www.example.com/form-page?adsrc=adwords1 (2, 3, 4 etc. for each ad) and I configured the DB so that there was a column that tracked which URL the user was on when filling in the form (this would be the column I counted to get the number of conversions that came from AdWords so I could compare)
Further to this, I made sure that the initial URL parameters that the user landed on were stored in the session so that if the user browsed to other pages and came back to fill in the form later, it would still attribute the conversion to AdWords.
I tested this thoroughly on a staging and production environment and everything was working correctly.
I ran the campaign for a week and when I checked, the conversion results in the Data Base vs the ones coming from AdWords are wildly different. The DB tells me I've had 5 conversions while AdWords gives me 21.
Is there anything in the way Google uses its gclid that may be causing this issue? Or is there a problem with the way I've set up the measurement structure?
This can be caused by few things, but I think this is the GA/AdWords issue, more than your DB/session set-up.
Gclid shouldn't influence your goal, since it is used only for AdWords/Analytics interactions, Goals should not be affected in your set-up.
https://support.google.com/analytics/answer/2938246?hl=en
Probable cause: If your goal set-up only contains "begins with /thank-you", isn't it possible, that you are counting all the sessions which reach thanks-you page? Not just AdWords?
Solution: if you need to count conversions in AdWords (for performance improvements), use AdWords conversion code at the same page, this counts only those users, who clicks an ad and reach your thank-you page in x (default 30) days. Be sure to count only unique conversions (users by cookie).
Differences between GA/AdWords conversion count:
https://support.google.com/analytics/answer/2679221?hl=en
Google attributes conversions to the last marketing channel, where direct visits do not count as a marketing channel (if you look at their attribution flow visualization you see that the penultimate step is to check for existing campaign information for the user). So GA might overcount Adwords visits (or other campaigns) and conversely shows fewer conversions for direct visits.
On contrast your database probably records the last traffic channel without an elaborate attribution model, so it will show less campaign traffic.
Also IIRC the adwords interface records the conversion for the time of the ad click, not the actual goal conversion, so the timeframes for the conversions differ.
Related
Does Google Analytics have enough information to answer the question of how much time have my top 100 users spent on my site? I don't need their user information, I don't care about ID or name which I know it doesn't even have. Just the identification of individual users by the cookie GA uses, and a report of how much time the top 100 loyal users spent on my site.
is such a thing possible at all with GA?
From your comment on Colwin's answer:
I don't need google if I have to track this for GA, I just hoped it already has this information such as "page visit duration" on a per-user, ongoing basis. If I had to feed Google that information myself, I can feed my own database and run analytics on it. Thanks anyway.
The Google analytics sessions is
a group of user interactions with your website that take place within a given time frame. For example a single session can contain multiple page views, events, social interactions, and ecommerce transactions.
Average session duration will be calculated as
total duration of all sessions / number of sessions
I don't think this is available from GA out of the box. But you can build something like this with Custom Dimensions available within GA
This will let you setup and send custom metrics dimensions for users that you can then create reports for.
Google Analytics doesn’t allow you to out in PII but random visitor id's should be fine. You can then compare against your own database outside of GA if needed too.
This will allow tracking the same visitor even without them being logged in to your site.
Sending the custom dimensions could possibly look like this.
ga('send', 'pageview', {
'dimension5': '1234567890'
});
You get 20 free custom dimension slots with GA and 200 with GA 360 -> More info here
I think this article has what you are looking for
https://webanalyticsguy.com/2018/01/18/google-analytics-capture-client-id-reporting-purposes/
It shows how to capture the client id which is a decent way to track a specific user. And goes further to explain how to associate that with a metric, in this case the author uses PageView.
You could change this to Average Session Duration or another metric that gives you a sense of time spent.
I guess that you are looking for something like this:
http://www.analytics-ninja.com/blog/2015/02/real-time-page-google-analytics.html
You can get the counts of the users on your site. You can get the seconds they spent on your website page.
I guess this answer will be helpful too: https://qr.ae/TWpkI0
I would like to track the conversion rate of visitors to my application. Most of the traffic is already paying customers. Paying customers hit the home page, but also pages like /dashboard, /login, etc. They also have an UserId set in analytics. Prospects only hit the home page and sales pages. I have no problem creating traffic segments for Users vs Prospects.
I have segments All, Users and Prospects. All is everyone, Users are anyone who has UserId = Assigned, or visited the /dashboard, etc, and Prospects which is basically the opposite of users, ie traffic that hasn't hit the dashboard, or have a UserId assigned.
But it seems like Google Analytics has a fundamentally flawed, because there is no way to get a true conversion rate of only Prospects. That is because the moment they convert they turn into users. So by definition the number of prospects that have converted is always zero.
I can manually calculate the conversion rate by using the number of prospects in a given week, and the number of conversions (signups events), but there is no way to show that in the system. I can show the conversion rate of all traffic, but that isn't very helpful because most of it is already users who will never convert again.
I assume I am missing something. Any pointers would be helpful.
You could create a custom dimension (session scoped) for anyone that you do not have a user ID for. So before your pageview your code could look something like
var userID = getUserID()
if(!userID){
ga('set','dimensionX','Prospect');
}
The point is that the dimension would only be set when you don't have a user ID and so once a user converts and they now presumably have a user ID the dimension stating they are a prospect will be retained for the remainder of their session.
docs on custom dimensions
https://developers.google.com/analytics/devguides/collection/analyticsjs/custom-dims-mets
I am searching for a way to track user behavior on my website. I want to know if it is possible to get a table with data looking something like this:
+------+---------------+-----------------+------+---------+
| time | ip or user_id | user_session_id | link | actions |
+------+---------------+-----------------+------+---------+
(Link - where user came from)
I want to track different user actions by sessions. Is this possible using Google Analytics or I should search other tools? My site is currently set up to track events but on my Analytics account I get only the number of events that occurred. I want to track what a specific user does on my site.
tl;dr: if you must do this use Mixpanel or similar software.
Time based dimensions are already available (date, hour, minutes and datetime). "link" would be referrer. Actions in Google Analytics are basically pageviews, events and transactions, so you have that, too.
IP and user id are a big no-gos. Storing anything that that identifies a person is a violation of Googles Terms of Service and depending on your location might be a violation of national laws.And if by user_id you mean the Google Analytics feature of the same name, Google says you may set it for logged in users and have to unset it for user that log out, so by extension that means storing it in Ga would probably be a violation of their TOS.
The GA session id is not exposed via the interface. You may read it from the cookie and store it in a custom dimension (I'm not sure if this is allowed within the TOS, on the other hand GA premium customers get this via a BigQuery export in any case, so it should be allowed).
If you simply want to tell different users apart you might simply generate a string in the UUID format and store that in a custom dimension. If you want to actually identify users (by name, adress etc), well, you are not allowed to and Google will terminate your account if they find out.
Not to mention that it completely eludes why so many people want to track individual users. You must not use GA information to target individuals, and simply looking at individual user paths will not help you (I wrote an article about that, although I do not expect that this will convince you).
Google Analytics is for technical and legal reasons not a good tool for tracking individual users, if you need to do this use a software that is made for this purpose. Mixpanel is often mentioned in that context but I'm sure there are many other solutions.
I am using Google Bigquery to extract data on conversion paths from Google Analytics (GA).
When I analyze these conversion paths from the exported dataset, the last-click conversions match the Acquisition report in GA, but not to the Multi Channel Funnel (MCF) data. Apparently Bigquery doesn't really export raw data, but transforms it by deleting all last direct clicks. like described here: https://support.google.com/analytics/answer/1319312?hl=en.
Is it possible to get the Bigquery data to correspond to Multi Channel Funnel (MCF) conversion path data? To undo the deletion of last non-direct click and get proper 'raw' user level data?
All of the trafficSource fields in BigQuery Export for Google Analytics use campaign attribution as described in this processing flow, which will overwrite direct traffic with the most recent campaign (if there is one and it is within the specified timeout), as you mentioned.
If you are using Universal Analytics, you can adjust the campaign timeout to be shorter than the 6 month default. For example, if you set the campaign timeout to be one day, any direct visits that come in at least one day after a visit with a campaign will be attributed to direct instead of the previous campaign. This can be done with Classic Analytics as well using _setCampaignCookieTimeout. This technique will affect data collection from the time it is implemented going forward.
This thread is rather dated, so I thought I'd update just in case anyone else comes across this same question.
There is a field that was introduced (both in the Google Analytics interface and the BigQuery export) that allows you to match the numbers in the MCF reports. In BigQuery, look for the field trafficSource.isTrueDirect
BigQuery Export Schema
trafficSource.isTrueDirect
True if the source of the session was Direct (meaning the user typed
the name of your website URL into the browser or came to your site via
a bookmark), This field will also be true if 2 successive but distinct
sessions have exactly the same campaign details. Otherwise NULL.
We have a site that tracks conversions through Google Analytics for redirects to an affiliate. However, not all redirected visitors convert to a sale after they leave our site. Our affiliate reports back to us weekly on who converted (and we can identify an individual user session from that report). Is there a way to get that conversion data back into Analytics? We've got a great coding team, but I just need to point them in the right direction.
Good question Jeff. If you don't mind the accuracy of the timing being off, your team could certainly just step through your site and intentionally trip the conversions.
Other than that, you may look into using a custom solution to bulk import that data using this type of API: Google Analytics for Mobile Websites
This Google Analytic server-side solution supports PERL, ASP.NET, JSP, and PHP. If you're looking for a repeatable process for batch importing GA data, this maybe a viable solution for you.
Hope this gets you going in the right direction.
I would not recommend manually 'tripping' the conversions.
There is no easy way to get the data back into Analytics. And it would depend on your reporting requirements (time lines, etc)
One way to approach this is to set a custom variable that is scoped to a visitor that would identify the visitor in an anonymous way (not personally identifiable manner, beware the privacy policy).
http://cutroni.com/blog/2011/05/05/merging-google-analytics-with-your-data-warehouse/
So when a visitor comes to the site, a custom variable would get set. This variable acts as a key to associate behavior on the site and the affiliates. Once you receive the data about which visitors converted from your affiliates associated to the non-personally-identifiable ID, you can use this to have code fire some conversion events once it recognizes on a separate visit that a visitor with certain custom variables set using the _getVisitorCustomVar()
http://code.google.com/apis/analytics/docs/gaJS/gaJSApiBasicConfiguration.html