私のアプローチはうまくいくと思いますが、このカスタムディメンションの値が割り当てられていないユーザーは、そのディメンションを使用するレポートから除外されます。
ユーザーが問題のページにアクセスしたことがある場合は、その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
});