My goal consist of 5 steps. Everything works fine when user completes wizard without validation error, but if he returns to same step twice, goal don't get completed and Google analytics registers that as exit from wizard.
How can I fix this?
This should not be the case as funnels are measured for a particular "session". As long as a user visits all the URLs in the funnel and the Goal URL in the same session, then a Goal should be recorded.
Here are a few things to consider:
Are you sure that the user actually visits all the funnel stage URLs?
Is there a chance that the user ended a session (30 minutes) before moving on?
Is the form an AJAX form which does not register page views with Google Analytics?
Related
We are using google analytics for tracking the users and revenues.
Our revenues arrive in batches usually 24-48 hours after the session.
We are using the batch API:
https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#batch
with the transaction hit type:
https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#ecom
We are setting properly (at least we think so) all the parameters:
Example:
v=1&tid=TRACKING_ID&cid=CLIENT_ID&t=transaction&tr=EARNINGS_IN_USD&dl=USER_URL
We are currently facing following problems:
almost all our incomes (like 99.8%) are assigned to the returning users (when you look at the tracking data we have < 40% of returning users)
almost all our incomes are assigned to the users with landing page not set
What can be causing that? Why the transactions are not joined with sessions?
The cause of this is how Google Analytics understands and processes sessions. For example, a group of hits (HTTP requests to www.google-analytics.com/../collect) sent by JS code while the visitor interacts with your site within some reasonable time range is considered a session. When a user interacts with your site the next day a new bunch of hits are sent and these hits are processed as a separate session. So when you're sending transaction data in 24-48 hours after the time user last interacted with your site this will create a new session. Since there was a user visit before a transaction data were sent a newly created session is reported as a session of the returning user. In the same manner, since there's no page path / document location parameter in your transaction data this newly created session would have (not set) as a landing page.
Check the documentation for more insights.
I've been looking into offline tracking of google analytics goals. I want to implement this in a similar way to how call tracking companies do and I'm guessing the GCLID is the answer.
If I store the GCLID of every visitor that comes to our website in the database alongside some info about their session and then identify their session at a later date as one that produced an offline goal, can I then generate a goal from that?
My thinking is that if I had a button in our CRM system that when I click it opens up an invisible iframe that links to mysite.com/goalurl.html?gclid=xxx then analytics on that page would track a goal on that page but attribute it to the original click that the other user made on our PPC advert. Theoretically I could do this 10 times in a row for 10 different sessions and they would all be tracked as if the 10 original owners of those GCLIDs has visited the goal page, right?
Am i missing something here? Would this not work because Google would spot that they all came from the same IP address, or because I would have the same GA cookie on my machine? Or does Gogole not care about any of that?
Any help would really be appreciated.
I am not sure if it works with the gclid but would also be interested in the answer.
Besides that, a possible solution is to store the Analytics client ID in your own database and, whenever there is a conversion, sending that conversion data (referencing the recorded client ID) directly from your server to Analytics by using the Measurement Protocol.
Exactly this topic is a case study in the book "Google Analytics Breakthrough: From Zero to Business Impact".
I want to test my script that send event to Google Analytics via Measurement Protocol. For testing I've created a new account and trying to send the following request using the following template:
http://www.google-analytics.com/collect?v=1&tid=UA-MY_TESTING_TRACKING_ID&cid=XXX&t=event&ec=AAA&ea=BBB&el=CCC&ni=1&z=123456
In Google Analytics reports on events I see nothing (no events at all as well as users and sessions). Now I am wondering if it is because my script is incorrect or because Google Analytics ignores non-interactive hits for users that have no previous "interactive" hits (i.e. hits without ni=1 parameters).
Does Google Analytics allows to see such users or each user must have at least one interactive hit?
I had, for a test, a couple of dozen hit send via curl on the command line, and they were being processed within minutes. CID had been randomly generated especially for the purpose. All hits where being sent with the non-interaction flag. Those were event hits like in the example from the original question.
I have seen those hits in the Behavior/Events report, so they are being properly collected. However "non-interaction" is to be taken quite literally, as they are not used in any session based metric - i.e. if you just send ni-events you will not generate sessions; if you send both interaction/non-interaction hits only the interaction hits will be used in session-based metrics. I am seeing a user count, so strictly speaking the answer to your question is yes, but number of sessions is displayed as zero (likewise for all related metrics).
Makes completely sense, but since the documentation (the last time I read it) talked only about bounce rates when it comes to non-interaction hits I did not think about it this way.
I am using the Google Analytics Measurement Protocol to send events, there is one category and several actions. There are currently a couple dozen GA Accounts that I am sending data to (successfully) but there's one that's experiencing very bizarre behavior.
Only one action is ever being logged for this account under Behavior -> Events, but the other two (missing) actions are shown under real time. The account is using UA and the session timeout is set to 30 minutes. The first action is typically sent several minutes before the next actions.
I can verify that the requests for other actions are being sent with 200-responses. There also appears to be no filter for the missing actions or anything else that would prevent them from showing.
There is a conversion involving the missing actions and when attempting to do a verify I do get a non-zero conversion rate.
Any direction would be appreciated.
Edit: The data collection has been running for a month.
since these days, Google Analytics start to show message "Bad Event Tracking Code" for several my projects. Even for one mobile app profile.
The message:
"The Landing Pages report has a (not set) entry. Verify that tracking code for property Mobilni Aplikace sends a _trackPageview hit and that it does this before sending any events."
I didn't change anything in these projects, so I don't understand what Google Analytics want.
Has somebody similar issue?
Thanks
Google Analytics just recently added a means of notifying you of problems so you didn't have to change anything to cause this issue. It could be preexisting.
EDIT: Solution 1 and 2 may help, but what worked was "Solution 3" -- Upgrade to Universal Analytics and increase session length.
Solution 1 - Send less tracking data
If the Google Analytics property is for a high traffic site without Google Analytics Premium you are limited to 10 million hits per month including events Data Limits - Analytics Help. In this case analytics may have recorded a user's event but the pageview was ignored to keep your account within limits.
If you could be flirting with this limit try sending less event tracking by reinventing or removing some event tracking entirely. If you are blatantly violating the data limits track only a subset of users by setting the Sample Rate in your analytics.js (or ga.js) code.
Solution 2 - Find the problematic event code
If you are not going over the data limits you have an event being sent before a pageview.
Methods of debugging "(not set) entry present in reports for property" are described on this page What the value (not set) means - Analytics Help.
Verifying this issue:
Go to the Analytics property with the issue and click Behavior reports > Site Content > Landing Pages
If you see landing page = (not set), this is generally due to a session with no page or screen view level hits included.
It’s possible to have a session that doesn’t include a page or a screen view, but does include another kind of interaction hit type, like an Events or Ecommerce hit type.
Debugging this issue:
Identify which hit type is causing the issue:
use the advanced filter (found at the top of the data table) to
restrict the data to include page/screen views matching exactly 0
For each of these 3 reports:
Behavior > Events
Acquisition > Social > Plugins
Conversions > Ecommerce reports
Note: The "page/screen views" dimension may have disappeared in advanced filters under those reports, I will update this answer when I find out more.
Solution 3 - Session is expiring before user leaves site
You can configure a visitor's session length for your property in Session Settings under Tracking Info.
The default length of time for a session or campaign. An individual session or campaign for a given user ends after the amount of time specified here has passed (counting from the start of the session or campaign), so long as the session or campaign has not been stopped though another means. Learn more about Learn more about session and campaign timeout handling.
If the user's session expires but they haven't left the page and another event triggers there will be no page view before the event has triggered. In this case your site would fall under this category:
The length of a session and campaign depends on your site and business. Here are a few ideas to get you started thinking about session and campaign timeouts:
Lengthen the session time if you have a lot of content and expect users to take a long time engaging with that content. Conversely, shorten the session time if the site has a small amount of content. 5
Increase the session length under Session Settings so these events will still have an associated pageview.
Note: You can only configure the session length if you're using Universal Analytics.
Google Analytics is currently in the process of migrating to a new operating system, the tracking code you have given in the comments appears to be the classic code. based on the information you have given in relation to your application, I believe you would be affected by phase 2 of the migration which has recently taken place
You can find a timeline of migrations along with instructions about how to upgrade your applications the the new analytics.js tracking code here:
https://developers.google.com/analytics/devguides/collection/upgrade/#phase-2