Artificial pageview pushed to Analytics is changing PPC traffic source - javascript

So basically, we are having issues with a website (https://thesoundshop.com) in which the PPC traffic source (it only seems to be PPC traffic that is affected) is being changed by the pageview that we are pushing through to analtics.
The website runs on Ajax so we have to use Javascript to emulate pageviews through to Analytics whenever a link is clicked on the website. We are not using Google Tag Manager to implement the analytics or javascript because of this so we are using the gtag method exactly as Google's documentation recommends:
gtag('config', 'GA_TRACKING_ID');
I have tested this by visiting the website through a PPC ad and watching the real-time reports in Analytics. The first page load attributes the correct source to the traffic (cpc) as expected but then when I click on a link to go to a different page, the traffic source changes to Google Organic search. I then complete an action that I know will trigger an event or a goal and then when this appears in the Goal Reports, it attributes the goal as organic, too.
We know that this has to be down to the Javascript pageview that is being pushed to analytics to simulate that a new page has loaded but we can't work out why it would be changing the traffic source. The gtags are implemented exactly as Google recommends; just wondering if anyone else has had this problem and if so, how did they go about fixing it?

We had the same issue and after some more research found the problem along with the solution, thanks to Simo.
Basically, you need to manually set the document.referrer of the first session to make sure it persists and does not get over-written half way through the session. It's a known issue with GTM and single page applications.

Related

Same Web Property ID is Tracked Twice - Google Analytics

All,
I have recently run into an issue where my bounce rate on my website www.x3tradesmen.com dropped significantly (less than 10% and sometime even 0%). I have read multiple threads trying to solve the issue and have downloaded a chrome extension "Google Tag Assistant". The extension is telling me "Same web property ID is tracked twice."
I cannot find how or where the web id is being tracked twice because I only have the GA script installed one time within the Avada theme options. I do have Google tag manager connected as well, however, it has been connected for a while and I never noticed a drop after installing it.
The most recent changes that I have made to our website is:
Installing SSL certificate and "Really Simple SSL" plugin so my website is now https://www.x3tradesmen.com instead of http://www.x3tradesmen.com
I have an old website x3staffing.com that I recently 301 redirected to go to https://www.x3tradesmen.com via the .htaccess file (GA script was removed from this website just in case)
Installed W3 Total Cache plugin for basic cacheing features
Can anyone assist me with solving this issue and how I can make sure that web property id is only being fired once??
Thanks in advance!
See Image
After receiving detailed information from Codeseer, I was able to identify that I was tracking all of my pageviews with a Google Tag Manager tag. I also had the Google Analytics script installed on my website, therefore, the web property ID was firing twice. I never made any changes to my original GTM tag so I am not sure why it all of the sudden started tracking twice but ultimately the solution was to remove the Google Analytics script and only use Google Tag Manager to fire the GA script. Thanks for all the help!
Bounce rate issue is occurring because the page view is being fired twice.
Bounce is calculated based on when a user has a pageview and then no other interactive actions. So Google Analytics is thinking user navigated to homepage and then navigated to homepage again. Thus user did not bounce.
(Your Exit Rate should be a more accurate representation of bounce rate if you are looking for a temporary solution to get that data.)
Looking at the network requests it appears that a pageview is being fired by the original Google Analytics script as well as by Tag Manager.
Perhaps something changed recently in your Tag Manager to add a GA tag?

How can I get page timings for a SPA in Google Analytics using GTM?

I've been wresteling with this a few days and can't really find any good information on it. I am a novice with respect to Google Analytics and Google Tag Manager.
I have a client website which is a Single Page Application using Marionette. The client would like timings on how long it takes to load different pages in the application, specifically they want to know what pages to focus on for optimizations. They also want more analysis on user interaction in GA.
I've installed the google tag manager and setup the page view tag to show the individual page paths via the History trigger properly as described here:
https://www.pmg.com/blog/tracking-single-page-web-apps-google-tag-manager-analytics/
That is working fine, I can see the history fragments/page paths in GA.
The problem is when I go to Page Timings in the Behavior reports in GA all the timings are 0. Avg page load, server load, etc.
I've tried installing a page timing recipe from Luna Metrics:
https://www.lunametrics.com/labs/recipes/page-load-timing/
This did not work as the custom javascript in it depended on window.performance which after some research does not appear to work well for SPAs.
function() {
var timing = window.performance.timing;
var ms = timing.loadEventStart - timing.navigationStart;
return Math.round(ms / 100) / 10;
}
I've also tried setting the siteSpeedSampleRate to 100 in the PageView tag for google analytics. This appears to have had no affect either.
i've also been messing with the tags and using the GTM preview and GA Debug and I can see the custom timings being set but with the same value on every subsequent link click (Its using the same page load value on the initial page load I think) which is why I don't think window.performance is an option here.
I've not been able to find any definitive way to get google analytics to track page timings for an SPA and would love any suggestions!
I guess I just needed to be a little patient after the siteSpeedSampleRate change. That seems to have resolved the timing issues for me.

Conflict with double google analytics

I have a website that only has a full window iframe to a page that already has google analytics, but not on my account(the page isn't mine either). I would like to track my website with Google Analytics and if I put the script in the head site it will say "Tracking not installed". IS there any way to make the browser ignore the google analytics from the iframe?
If the iframed GA account isn't yours then there is nothing you can do about it. However you can still implement your own analytics by simply doing what you were doing before and putting your own GA code on your pages. You will see that tracking not installed message because it normally takes at least 24 hours for the code to register. In the meantime if there is nothing else wrong with the implementation, you can check in your Real-time reports to see if your own simultaneous visits are recorded. If they are then you are good to go and just need to wait 24 hours for data to show up in your standard reports.
You cannot change the content of the iframe, it would violate the same origin policy. Are you sure you should be using an iframe at all? Either way you can easily add Google Analytics to your own site and track whatever you need with your own Google Analytics ID.
If your analytics code is in the iframe, Google will report that tracking isn't installed as they're checking the parent page, not the iframe. Tracking will still work, though. You should see stats come through normally.

google analytics tracking link clicks

I was wondering how would i go about adding a simple tracking to a certain link on a site I am developing for a client
I am using google analytics for tracking the source of the incoming traffic and after the visitor has entered the site he supposed to click on a link, I an interested in knowing how many clicks I got from every source.
You're looking for "Campaigns". There's an extensive article about it here: http://support.google.com/analytics/bin/answer.py?hl=en&answer=1239239
You can use the "URL Builder" tool to create a URL for a specific link (on an external site, presumably) by giving a name to your campaign and other details. The parameters are utm_source, utm_medium, and utm_campaign in particular.
I'll mention that Analytics will already tell you (without any modification to the link) what referring page sent a visitor, so you can tell what page a visitor was viewing before arriving at your site. All this is found under "Traffic Sources" in the Analytics reporting interface. The utility of campaigns is if either (a) you'll be scattering links in ads on many different websites, and it's the ad rather than the page that you want to track, or (b) there may be multiple links to your site on the same page and you want to know which one the visitor clicked.

How to use trackPageview in Google Analytics?

I need help in configuring the _trackPageview in the Google Analytics. I want to track how many times a file has been downloaded. According to Google Analytics documentation I need to use the following onClick event in the download links.
<a href="http://www.example.com/files/map.pdf"
onClick="javascript: _gaq.push(['_trackPageview', '/downloads/map']);">
But I could not find any information that after adding this, where I can see the download stats for this link? Do I need to configure anything in my Analytics account? Thanks.
That should work, and you shouldn't need to configure anything in Analytics. You will not see the events appear in the Analytics account immediately. I'd give it 24-48 hours to start showing up.
All clicks should be tracked from when you install the code. It may show up under Top Content, or you could filter visited pages by a partial URL.
Because of the delay inherent to Analytics, it's not uncommon to second-guess yourself when you try a new tracking technique. It's important to follow up and confirm the events are registering.
Edit: More info regarding _trackPageview vs _trackEvent...
_trackPageview: "Google Analytics' _trackPageview is a function for use on ga.js tracked sites that allows you to track events on your site that do not generate a pageview."
_trackEvent: "Event Tracking is a method available in the ga.js tracking code that you can use to record user interaction with website elements, such as a Flash-driven menu system."
My suggestion is that if you have a number of different downloadable files that you want to track, look into _trackEvent. If you only have one or two files to track, _trackPageview is definitely suitable. My thought is that when you have a larger number of files to track, _trackEvent will let you track by category (file download), action (hyperlink click), and label (map), which may be more useful if you're interested in downloads as a whole.
_trackEvent is also ad hoc in that whatever you code you write should auto-generate the corresponding report items without any configuration in Google Analytics.
More info (above quotes taken from these pages):
_trackPageview: http://support.google.com/googleanalytics/bin/answer.py?hl=en&answer=55597
_trackEvent: https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide
If you want to make sure your tracking is working but don't want to wait 24-48 hours then go to the Real-Time (beta) tab in the Google Analytics sidebar.
Visit the website on another tab and, once you see that the 'Right now' indicator shows your presence, click on your download link. If you see it show up in the 'Top Active Pages' then you're good to go, gilded and golden.
You can also use the debug version of ga.js to diagnose errors. It prints things like "Invalid tracking code" and so on to the Javascript console.
Search for "Debugging with ga_debug.js" on this page:
https://developers.google.com/analytics/resources/articles/gaTrackingTroubleshooting

Categories