Все, что вам нужно сделать, это создать случайное число от 0 до 100 и проверить, находится ли оно ниже целевой цели. Если он ниже, вы отслеживаете его, иначе вы этого не сделаете.
Способ работы _setSampleRate
в Google Analytics заключается в том, что он сэмплирует пользователь не по нажатию. Поэтому, когда вы создаете случайный номер, вы также должны хранить его в файле cookie, чтобы вы могли проверять дальнейшие взаимодействия и отслеживать его или нет.
В приведенном ниже примере я создал вспомогательную функцию, которая проверяет, находится ли пользователь в образце и обрабатывает логику 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% ваших пользователей.