TL; 博士; Mixpanel 没有设置它的 cookie 来引起 distinct_id 不断变化

我有 3 个 mixpanel 项目:local/staging/pro。在本地 mixpanel 跟踪中工作得很好,但即使代码相同(mixpanel token 除外),事件也会正确发送,但始终会更改 disting_id。所以,我看到 mixpanel 中的每个事件都好像来自不同的设备?!

我检查了一下,问题可能来自于 mixpanel 根本没有在我的浏览器中设置它的 cookie。

暂存源代码如下所示:

<head>
    ...
    <script type="text/javascript" async="" src="//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js"></script>


<script>
  (function(e,b){if(!b.__SV){var a,f,i,g;window.mixpanel=b;b._i=[];b.init=function(a,e,d){function f(b,h){var a=h.split(".");2==a.length&&(b=b[a[0]],h=a[1]);b[h]=function(){b.push([h].concat(Array.prototype.slice.call(arguments,0)))}}var c=b;"undefined"!==typeof d?c=b[d]=[]:d="mixpanel";c.people=c.people||[];c.toString=function(b){var a="mixpanel";"mixpanel"!==d&&(a+="."+d);b||(a+=" (stub)");return a};c.people.toString=function(){return c.toString(1)+".people (stub)"};i="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
  for(g=0;g<i.length;g++)f(c,i[g]);b._i.push([a,e,d])};b.__SV=1.2;a=e.createElement("script");a.type="text/javascript";a.async=!0;a.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";f=e.getElementsByTagName("script")[0];f.parentNode.insertBefore(a,f)}})(document,window.mixpanel||[]);
  mixpanel.init("xxxxxx3ecxxx68a2ff74xxxx", {debug:true});
</script>

最后我跟踪
<script>
  mixpanel.track('Visit');
</script>

最佳答案

如果它是您的临时站点,您可能正在使用不允许跨子域 cookie(例如 heroku、aws 等)的顶级域,例如 yoursubdomain.herokuapp.com。您可以:

  • 使用 DNS 设置中的 CNAME 记录将您的登台 yousubdomain.topleveldomain.com 映射到 staging.yourdomain.com

  • 或者
  • 在 mixpanel.init 中手动启用 cookie

    mixpanel.init(PROJECT_TOKEN, {cross_subdomain_cookie : false }) ;

  • 这是解释的混合面板文档:https://mixpanel.com/help/questions/articles/mixpanel-and-herokuappcom-subdomains-and-other-common-top-level-domains

    这是破坏 cookie 的顶级 url 列表:https://publicsuffix.org/list/effective_tld_names.dat

    关于未设置 Mixpanel cookie,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34238978/

    10-12 04:34