Google Analytics is removing our ad tracking query and the last word of the URL, then adds "none" and splits analytics into two pages - google-analytics

We've been experiencing this problem with Google Analytics and our URL ad tracking query strings for about a year and a half now, spanning approximately 40 different URLs and query strings which all did this.
When we look up the pages in Google Analytics, a couple of problems are occurring:
The URL is split up and tracking as 2 different pages and the
analytics are split between them. (more on this in the example and
screenshot)
The new (2nd) page that is created within the analytics, has the ad
tracking query and the last item of the URL deleted and replaced with
the word "none".
If the URL ends with a word, it removes the word and
the tracking query.
If the URL ends with "index", it removes "index"
and the tracking query.
If the URL ends with a "/", it removes the /
and the tracking query.
and replaces them with "none"
Example:
This is the original URL and tracking query:
/ucm/lp/FY18/search/cas/index?from=UG-F18-Search
In Google analytics it gets divided into 2 pages:
/ucm/lp/FY18/search/cas/index?from=UG-F18-Search
and the new /ucm/lp/FY18/search/cas/none.
(Note how the query and the word "index" are removed and replaced with "none".)
The way the analytics get split up between the pages is interesting:
On the first URL, (the real page), the average time on page is 00:00:04, and for the second URL it's 00:01:03.
Entrances on the first = 7,888. Entrances on the second = 147
Exits on first = 26.43%. Exits on second = 87.15%
Seemingly what's happening is the user will land on the original page, /ucm/lp/FY18/search/cas/index?from=UG-F18-Search, and it starts to record the analytics, but, then something happens and it loads /ucm/lp/FY18/search/cas/none where the analytics will finish recording.
In addition, our 404 page gets a hit during this process too because /ucm/lp/FY18/search/cas/none isn't actually a real page. I don't have proof of the 404 issue right now, but that's what I'm told. I thought it was worth mentioning just it case it helps, but take it for what it is.
From our testing, we're pretty confident that the user has a seamless experience, and this is fully a "just-in-the-analytics" problem. The main reason this is a problem for us is because we can't accurately, or easily, tell which of our ads and venders are performing the best.
Please let me know if I can explain this better or provide more examples or screenshots. Thank you!

GA is splitting' the page because you're sending it 2 hits:
You can easily verify it in the Network tab of Chrome developer tools or by using the Tag Assistant browser extension.
I'd try commenting out the two remarketing tags and check the tracking, or migrating all these tags to Google Tag Manager.

Related

Google Analytics Bloated Data

I manage an internal website and we recently implemented campaign tracking for our emails and homepage links to see where traffic comes from.
I set up the URLs using the Google URL builder.
The data we're receiving is very bloated. We ran a test URL with 8 people, and we received 129 "views", with an average of 9 views per day for over a month. No one clicked this link after the first day.
Our average session times were about 30 minutes, which is very strange.
My questions are:
how does google track campaigns? If you use a tracking URL, does the cookie track views for any organic views after that?
Is there a tool we can use to only track first time visits using a campaign URL?
Admittedly, I'm fairly new to Google Analytics, but no one on our marketing analytics team was able to help.
Since you used the Google URL builder I don't think you have made any mistakes there. However I strongly think that the bloated data is due to Bot traffic in your account. And yes, the bot traffic does increase average session duration.
So here's a set of steps I'll suggest:
1) Create 3 views in Google Analytics (It is a best practice):
Unfiltered, Master, Test
2) Check for Langauage spam and weird referrals in your report.
3) Add filters to "Test" view to remove these bots & spam referrals. You'll need to write a regular expression for each of these filters. Also make sure you have enabled "bot filtering" in view settings for master & test view. (I am leaving Unfiltered view as it is our data backup in case if anything goes wrong.)
4) Check your traffic for next few days and try doing the URL test again and see the results.
5) If the results in Test View are correct, then apply the same filters to "Master" view.
I hope this helps.

How can I track visitors’ paths from one page to another with full URLs?

Say I have two pages on a site called “Page 1” and “Page 10”. I'd like to be able to see the paths visitors take to get from “Page 1” to “Page 10” with full URLs intact. Many of the URLs (including those for “Page 1” and “Page 10”) will include query strings that are important.
Is this possible? If so, how?
Try using behavior flow reports. The report basically shows you how visitors click through your website. There are a lot of ways to customize the report, with which you will need to play around to really answer your question. By default, the behavior flow focuses on entry and exit points of visitors, regardless how many times they hit the different subpages in between. However, I'm sure you can set appropriate filters and settings to answer your question.
I use two methods for tracking where people have been on my website:
Track and store the information in my own SQL database. (details below)
Lead Forensics (paid subscription, but you can do a trial).
For tracking and storing my own data, I record unique visitors based upon the IP Address they're connecting from and then have a separate table that records all page views that links back to the unique visitor table.
Lead Forensics data simply allows me to link up those unique visitors with actual companies that have viewed my website.
Doing it yourself means you don't have to rely on Google working for your records to work, and in my experience Google Analytics tends to round numbers so you don't get a true indication of numbers, and also you can remove bots and website trawlers from your data by tracking the user agent string.
As a somewhat ugly hack you could use transaction tracking. If you use the same transaction id multiple times subsequent products will be added to the existing data. So assign an ID at the start of the visits and on each page record a transaction with the current page url as product name (and the ID as transaction id). This will give you the complete path per user (I am frankly not to sure how this is useful - at some point you probably want aggregated data. Plus each transaction and product counts towards your quota for interaction counts, so on a large site you might run over the 10mio hits limit).
you can do it programatically
have a MAP in the backend which stores the userId (assuming u would have given a unique ID at the time of login to each user) with a list of Strings(each string being URL visited by that user)
whenever the user hits another URL from Page 1(and only from page1, check it using JS), send a POST request to backend with the new URL in its data section.
In the backend, check if the URL is of Page 10 and if not, add this URL as a string into the MAP for that corresponding user
Finally, when the user clicks on the Page 10 URL, you know the URLs in the way from Page 1 to Page 10 and so use them.
Though if I consider JS and I have not misunderstood your question, we can get the previous URL from request header information using document.referrer.
Are you trying to do it from 'Google Tag Manager'? I am not sure whether you are trying to trace the URLS in clientside or server side?

Determining search query of guest user

In my app, there's a requirement to track search queries, which individuals to the app. The point here is to track specifically individuals/search_queries, i.e. I want to be able to say:
User 10.20.30.40 (IP is derived from client, ok) came to my website
from Google's search results page of 'hello world' query
Is that even possible?
I investigated the problem a bit. It turned out, that when the user on Google Search result page clicks a link and gets to the underlying page, the referer doesn't contain the search query. Say, for example, I entered a "Hello world" query...
I open google and enter a "Hello world" query;
I see a serach result page with a link to wikipedia on top; I follow it
I enter "document.referrer" in consonle to see:
http://www.google.com.ua/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CGkQFjAA&url=http%3A%2F%2Fru.wikipedia.org%2Fwiki%2FHello%2C_world!&ei=HZ0fUIXTIordtAau54GwAQ&usg=AFQjCNHSAHv8NwVNdaxMvh0OhIxs6Zb1rQ&sig2=a8tEGTBNcFWOPykloXj_Xg
There's a &q= param with a blank value, preventing me to figure out the query the user entered.
I believe Google internally uses some of the query params (i.e. ved, ei, usg or sig2) from the URL above to keep track of query used to get to the site, and thus gatehr the statistics about which queries are used mostly to the get to the website. I couldn't find any information regarding how to use them.
In the meantime, Google Analytics would only gather a general statistics, not for individuals. Yet I noticed that there's an ability to use Custom Variables. Is it possible to use them somehow in order to track query the user came with? If so, wouldn't it be a violation of Google Analytics Terms Of Service?
So again: is there a way to know a search query one came to the site with?
This is not possible. Google erases the value of q parameter, so instead of
`?q=search+query`
one always observs.
`?q=`
Though, Google provides another way (the so called convinient one) to know which queries were used to come to your website: Google Analytics.
Also, it's impossible to track user_ip/search_query pair due to Google Analytics ToS.

Google Analytics Goal Funnel Issues

I am attempting to create goal funnels in GA for dynamic asp.net based pages. The funnel currently looks as follows:
/
/market_home.aspx
/Category.aspx
/product.aspx
/Cart.aspx
/Checkout.aspx
/OrderReview.aspx
/Confirmation.aspx
The market_home, Category and product pages are dynamic and will contain various parameters ie:
/market_home.aspx?id=1
/Category.aspx?id=1
/product.aspx?id=1
I am using regular expression as my match setting (have tried head match as well). I still get two of my market home pages not being captured. It is only 2 out of 18.
I can't seem to figure out why it catches some, but not all of the traffic.
I also am not capturing incoming/outgoing traffic that is not at the start of the funnel. In other words, those visitors being captured in the funnel appear to complete the entire thing from start to finish. There are no visitors dropping out in the middle anywhere, which I can't believe.
The beginning of the URL will not change.
Any ideas what could be wrong?
I've got the same problem, i even asked about it couple days ago: Using regexp in Google Analytics Goal Funnel steps
I beleive the thing is that RegExp don't work properly in funnel steps. My solution for this is generating the same virtual pageview in every dynamically generated page and use it in the funnel. Goog practice is to create a separate profile for it and filter out those virtuals in the main to avoid data distortion.

Track where 404s come from in Google Analytics?

I want to figure out how visitors are getting to my /error404 page. I want to see what URL they attempted to visit (e.g., http://mydomain.com/iloveyou) before they received the 404, so I can see what content my users think I have.
You can get by without touching your source files--as long as your error pages/templates are tagged, that's all you need, configuration-wise.
As an aside, our error page template all look about the same so to clearly allow a person viewing the GA data to distinguish the various error pages, we annotate them by passing in a descriptive string to _trackPageview(), e.g.,
pageTracker._trackPageview("404_removed_directory");
Needless to say, this annotation is just for GA, it isn't shown to the user.
So w/r/t viewing the information you are after--i.e., page paths in which one of your error pages is the terminus--you can use either the GA data browser or either of the two GA APIs.
Using the GA Data Export API
I would code my Request this way:
dimensions=ga:previousPagePath
metrics=ga:pageviews
filters=ga:nextPagePath%3D~SomeErrorPage.html
# or if your API client does not require URL encoding, then:
filters=ga:nextPagePath=~SomeErrorPage.html
If you haven't used the GA Data Export API, the Data Feed page shows a complete API Request that you can use as a template.
In addition, Google's Data Feed Query Explorer is a decent sandbox to interactively test the queries that comprise your Requests.
Using the GA data browser
From the main Dashboard, on the left-hand side panel, click Content, then click Overview underneath it. To the right, in the main window, you will see a heading under the Pageviews chart, called Navigation Analysis, this has two linked options under it, Navigation Summary and Entrance Paths. clicking the latter will reveal the view shown below. In the textbox, just enter the name of your error page to get the entrance path for that error page.
Finally, relying on your server access log for this information is less reliable for all of the usual reasons (caching, etc.), in addition, given your question is specific to GA, i assume you already use GA, so modifying your config file, and parsing the activity log, if you are not already doing so, is a lot of trouble, compared to getting a more accurate count of the same data through a channel (GA) you have already set up.
You don't need google analytics for this - just expand the logging of your webserver to log referer data for this specific page. With this information you can see where the majority of people are coming from.

Resources