JavaScriptでGoogleAnalyticsAPIを使用して、現在の訪問者に関する次の情報を取得することは可能ですか?
- リファラーサイト(GAの「ソース」)
- 有料またはナチュラル(GAでは「中」)
- キーワード
- 初回/帰国
- 訪問数
Google Analytics APIでそれが不可能な場合、それを行う他の簡単な方法はありますか(HTTPリファラーの解析、訪問統計のDBへの保存などを除く)?
JavaScriptでGoogleAnalyticsAPIを使用して、現在の訪問者に関する次の情報を取得することは可能ですか?
Google Analytics APIでそれが不可能な場合、それを行う他の簡単な方法はありますか(HTTPリファラーの解析、訪問統計のDBへの保存などを除く)?
まだga.js(Google Analyticsトラッキングコードのレガシーバージョン)を使用している場合は、以下のコードを使用して、ブラウザーのCookieを読み取ることにより、ブラウザー内で必要な値を生成できます。__utmz
(ほとんどの人は、キャンペーン情報をCookieに保存しないanalytics.jsに移行します。)
readCookie()
私はあなたが;と呼ばれる関数を持っていると仮定します。私はQuirksModeのものを使う傾向があります
紹介、媒体、およびキャンペーン情報の場合:
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)`
ページビュー数と訪問数について:
var pageviews = readCookie('__utmz').split('.')[1];
var visits = readCookie('__utma').split('.').pop() //returns number of visits
明らかに、もしそうなら(+visits)===1
、それは初めての訪問者です。(覚えておいてください:Cookieの値は文字列になるため、JSの型が緩い場合でも、数値比較を安全に行うには、Cookieを数値にキャストする必要があります。
GoogleAnalyticsによって設定されたCookieからすべてを取得できるはずです。それらはファーストパーティのCookieとして保存されるため、ページ上で実行されているJavaScriptがそれらを読み取ることができます。訪問数は__utma
Cookieの最後の部分から取得でき、リファラーはから取得できます__utmz
。ソースはメディアの由来でutmcsr
あり、キーワードはです。__utmz
utmcmd
utmctr
どうやら、これはもう動作しません。2013年以降、SSLが有効になっているため、すべてのキーワードがリファラーURLから削除されています。
今後、統計データ(ユーザーごとではない)を取得する唯一のオプションは、検索コンソールを有効にすることです。