2016-04-14 17 views
1

私は2つのグループにユーザーを分類するウェブサイト内の特定のディレクトリの任意のページに入るすべての訪問者のためのユーザー・スコープを持つカスタムディメンションを設定することを計画しています:Googleアナリティクスのカスタムディメンション・用法

  • 上記のディレクトリのセクションを(過去に)訪問したビジター。
  • 上記のディレクトリのセクションを訪れたことのない訪問者。

私は同様の問題について話して、このquestionを読んで、それはこれを解決するには、常にデフォルト値を送信し、唯一の基準が満たされたときにそれを変更することですので、GoogleのAnalyticsのカスタム寸法はデフォルト値を持っていないと述べていますしかし、これは、ユーザースコープの変数がどのように値を取得するかについてgoogle analytics documentationを使って(私によると)矛盾します。つまり、最後のヒットが保存されます。

私は次のアプローチを考えていました。ユーザーがこのディレクトリ内の任意のページにアクセスし、レポートではこれらの2つのグループを区切るためにインクルード/除外機能を使用すると、ユーザースコープでカスタム変数を設定するだけですが、何かが欠けているかもしれません。

  • Googleアナリティクスはこのカスタムディメンションでヒットしないと集計で考慮しないと考えていますか?
  • カスタム変数を設定してこのユーザーをキャッチすることはできますが、このディレクトリの外のページにアクセスすると上書きしないでください。

答えて

0

私のアプローチはうまくいくと思いますが、このカスタムディメンションの値が割り当てられていないユーザーは、そのディメンションを使用するレポートから除外されます。

ユーザーが問題のページにアクセスしたことがある場合は、そのCookieを設定する方がよいと思います。あなたはいつも価値を送ることができます。以下は、私がjavascriptのクッキーに慣れていないので、w3schools.comからクッキー機能を借りてきました。私はあなたがそれを行うより短い方法を見つけることができたと確信しています。

//Cookie functons borrowed from w3schools.com 
function setCookie(cname, cvalue, exdays) { 
    var d = new Date(); 
    d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
    var expires = "expires="+d.toUTCString(); 
    document.cookie = cname + "=" + cvalue + "; " + expires; 
} 
function getCookie(cname) { 
    var name = cname + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0; i<ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') c = c.substring(1); 
     if (c.indexOf(name) == 0) return c.substring(name.length,c.length); 
    } 
    return ""; 
} 

//start of Standard code goes here 
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

ga('create', 'UA-XXXX-Y', 'auto'); 

//now check for cookie value 
var everBeen = getCookie('everBeen'); 
if(everBeen != 'hasBeen'){ 
    var path = window.location.pathname; 
    if(path.indexOf('/requireddirectory') != -1){ 
     everBeen = 'hasBeen'; 
    } else{ 
     everBeen = 'neverBeen'; 
    } 
} 

setCookie('everBeen',everBeen,1461); 

ga('send', 'pageview', { 
    'dimension1': everBeen 
}); 
関連する問題