2013-10-28 72 views
1

我發現了Google Analytics(分析)的此代碼,可讓您僅分析數據的一個子集用於您的分析。Mixpanel數據抽樣/事件採樣

_gaq.push(['_setSampleRate', '80']); 

我想要做Mixpanel同樣的事情,但是從我的理解SetSampleRate是一個函數,它是專門針對谷歌Analytics(分析)。

我該如何在Mixpanel中做這樣的事情?

我瀏覽過他們的KB &幫助文章,但沒有找到任何與此有關的內容。

回答

2

您所要做的就是創建一個從0到100的隨機數,並檢查它是否低於您擁有的樣本目標。如果它比較低,那麼跟蹤它,否則你不會。

_setSampleRate在Google Analytics中的工作方式是它不是按用戶的樣本進行抽樣。因此,當您生成隨機數時,您還必須將其存儲在cookie中,以便您可以檢查進一步的交互並跟蹤或不跟蹤。

在下面的示例中,我創建了一個幫助函數,用於檢查用戶是否在Sample中併爲我處理Cookie邏輯。

function inSample(target) { 
    var domain_name = 'mysite.com'; // CUSTOMIZE WITH YOUR DOMAIN 
    var sampleCookie = 'mixpanel_sample='; // COOKIE NAME 

    var current = document.cookie; 

    if (current.indexOf(sampleCookie) > -1) { 
    // Cookie already exists use it 
    var current = document.cookie.substring(
     document.cookie.indexOf(sampleCookie) + sampleCookie.length 
    ); 
    if (current.indexOf(';') > -1) 
     current = current.substring(0,current.indexOf(';')); 

    current = parseInt(current); 
    } else { 
    // Cookie not found calculate a random number 
    current = Math.floor(Math.random()*100) 

    } 
    // reset the cookie to expire in 2 years 
    var two_years = new Date(); 
    two_years.setTime(two_years.getTime() + 2*365*24*60*60*1000); 
    two_years = two_years.toGMTString(); 

    document.cookie = sampleCookie + current + 
     '; domain=' + domain_name + '; path=/' + 
     ' ; expires=' + two_years + ';' 

    return target >= current; 
} 

現在您只需使用此功能即可觸發mixPanel跟蹤代碼。

if (inSample(80)) { 
    // MIXPANEL TRACKING CODE GOES HERE 
} 

你最終得到的是一個Mixpanel中的報告,只包含80%的用戶。