Is it possible to get the following information about the current visitor using Google Analytics API with JavaScript?
If it's not possible with Google Analytics API is there any other easy way to do it (apart from parsing HTTP Referer, storing the visits statistics in DB etc.)?
If you are not familiar with the option, just log in to your Google Analytics backend, and find your way down to Acquisition -> Campaigns -> Keywords -> Paid. Yes, you can use Google Adwords paid search to determine what variations of your top keywords searchers are using.
To recap, here are the steps to find your Google keyword analytics: Connect your Google Search Console account to Google Analytics. In Google Analytics, navigate to Acquisition » Search Console » Queries. Sort your keywords by clicks, impressions, click-through rate, or average position by clicking on the headings.
Referrals in Google Analytics show you sites that “referred” visitors to your site by clicking a link. This category excludes advertising visits, as well as organic search, in most cases. To view Referrals, go to Acquisition > All Traffic > Referrals.
The referrer is the webpage that sends visitors to your site using a link. In other words, it's the webpage that a person was on right before they landed on your page. Referrer URLs are logged by many web analytics programs including Google Analytics.
If you're still using ga.js (the legacy version of Google Analytics tracking code), you can use the below code to generate the values you want within the browser, by reading browser cookies. (Most people will have migrated to analytics.js, which does not store the campaign information in the __utmz
cookie.)
I assume you have a function called readCookie()
; I tend to use the one from QuirksMode
For referral, medium, and campaign information:
var utmz = readCookie('__utmz'); //using a cookie reading function
var vals = (function() {
var pairs = utmz.split('.').slice(4).join('.').split('|');
var ga = {};
for (var i = 0; i < pairs.length; i++) {
var temp = pairs[i].split('=');
ga[temp[0]] = temp[1];
}
return ga;
})();
//vals.utmcmd: medium (organic, referral, direct, etc)
//vals.utmcsr: source (google, facebook.com, etc)
//vals.utmcct: content (index.html, etc)
//vals.utmccn: campaign
//vals.utmctr: term (search term)
//vals.utmgclid: adwords-only (value is irrelevant, but means its AdWords autotagged traffic, but it implies that medium=cpc, even though it'll be set to `(none)` or `(not%20set)`
For pageview count and visit count:
var pageviews = readCookie('__utmz').split('.')[1];
var visits = readCookie('__utma').split('.').pop() //returns number of visits
Obviously, if (+visits)===1
, then its a first time visitor. (Remember: values from cookies will be strings, so you'll need to cast them to numbers to safely do numeric comparisons, even though JS is loosely typed.
You should be able to get it all from the cookies set by Google Analytics. They are stored as first party cookies so JavaScript running on a page will be able to read them. The number of visits can be obtained from the last part of the __utma
cookie and the referrer can be taken from __utmz
. The source is the utmcsr
bit of __utmz
while the medium comes from utmcmd
and the keyword is utmctr
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With