1

我为 Google Analytics 找到了这段代码,它可以让您只分析一部分数据以进行分析。

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

我想用 Mixpanel 做同样的事情,但据我了解 SetSampleRate 是一个特定于谷歌分析的函数。

我怎么能在 Mixpanel 中做这样的事情?

我浏览了他们的知识库和帮助文章,但没有找到任何关于此的内容。

4

1 回答 1

2

您所要做的就是创建一个从 0 到 100 的随机数,并检查它是否低于您的样本目标。如果它较低,则跟踪它,否则您不跟踪。

Google Analytics的工作方式_setSampleRate是按用户而不是按点击进行采样。因此,当您生成随机数时,您还必须将其存储在 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% 的用户。

于 2013-10-28T17:38:00.547 回答