14

JavaScriptでGoogleAnalyticsAPIを使用して、現在の訪問者に関する次の情報を取得することは可能ですか?

  • リファラーサイト(GAの「ソース」)
  • 有料またはナチュラル(GAでは「中」)
  • キーワード
  • 初回/帰国
  • 訪問数

Google Analytics APIでそれが不可能な場合、それを行う他の簡単な方法はありますか(HTTPリファラーの解析、訪問統計のDBへの保存などを除く)?

4

3 に答える 3

27

まだ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を数値にキャストする必要があります。

于 2011-04-12T15:49:29.827 に答える
1

GoogleAnalyticsによって設定されたCookieからすべてを取得できるはずです。それらはファーストパーティのCookieとして保存されるため、ページ上で実行されているJavaScriptがそれらを読み取ることができます。訪問数は__utmaCookieの最後の部分から取得でき、リファラーはから取得できます__utmz。ソースはメディアの由来でutmcsrあり、キーワードはです。__utmzutmcmdutmctr

于 2011-04-12T15:47:27.343 に答える
1

どうやら、これはもう動作しません。2013年以降、SSLが有効になっているため、すべてのキーワードがリファラーURLから削除されています。

今後、統計データ(ユーザーごとではない)を取得する唯一のオプションは、検索コンソールを有効にすることです。

于 2017-05-13T20:38:17.883 に答える