2016-04-14 29 views
1

Ben iki gruba kullanıcıları sınıflandırmak için bir web sitesi belirli bir dizinin herhangi bir sayfasında gider herhangi bir ziyaretçi için kullanıcı kapsamına sahip bir özel boyut ayarlamak planlıyorum:Google Analytics Özel Boyut kullanım

  • Belirtilen dizindeki bölümü ziyaret etmiş olan ziyaretçiler.
  • Belirtilen dizindeki bölümü ziyaret etmediniz (hiç).

Bu question benzer bir konu hakkında konuşurken ve Google Analytics'in özel boyutlar kriterleri karşılandığında bu yüzden buna bir çözüm her zaman varsayılan değeri göndermek ve yalnızca onu değiştirmektir varsayılan değerleri yok belirtiyor okumak Ancak bu, kullanıcı kapsamındaki değişkenlerin değerlerini nasıl aldıklarıyla ilgili olarak Google Analytics documentation ile çakışmaya girer: kısaca son vuruş kaydedilir.

Bu yüzden aşağıdaki yaklaşımı düşünüyordum, yalnızca kullanıcılar bu dizindeki herhangi bir sayfayı ziyaret ettiğinde ve bu iki grubu ayırmak için include/exclude işlevini kullandığında kullanıcı değişkeniyle özel değişkeni ayarladım ama korkarım ben bir şey eksik olabilir.

  • Bu yaklaşım, bu özel boyutta bir isabet gerçekleşmediğinde google analitiği bir araya getirilmediğinde dikkate alınacak mı?
  • Bu değişkeni yakalamak için özel değişkeni nasıl ayarlayabilirim, ancak bu dizinin dışındaki bir sayfayı ziyaret ediyorlarsa üzerine yazamazlar mı?

cevap

0

Bence yaklaşımınız işe yarayacak, ancak bu özel boyut için bir değer atanmamış olan herhangi bir kullanıcının bu boyutu kullanan raporlardan hiçbirinin dışlanmayacağını unutmayın.

Kullanıcıların söz konusu sayfalarda bulunup bulunmadığını izleyecek bir çerez ayarlamanın daha iyi olacağını düşünüyorum. Böylece her zaman bir değer gönderebilirsin. Aşağıda, javascript çerezlerine alışkın olmadığım için cookie işlevlerini w3schools.com'dan ödünç aldım. Eminim daha kısa bir yol bulabilirsin.

//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 
});