Google 跟踪代码管理器是否通过代理向 Mixpanel 发送额外的事件?
Is Google Tag Manager sending extra events to Mixpanel through a proxy?
我将 GTM 配置为在我域中的每个页面上加载 Mixpanel,并添加了对按钮的点击跟踪,如本博客所述:https://mixpanel.com/blog/2015/03/27/community-tip-implementing-mixpanel-via-google-tag-manager
这还没有部署到任何服务器,只是本地主机,但似乎每当跟踪点击时,我在混合面板中收到来自美国的虚假事件url:https://gtm-msr.appspot.com/render2?id=GTM-XXXXX
使用此用户代理:Mozilla/5.0 (Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; EIE10;ENUSWOL; rv:11.0) like Gecko
有人遇到过这个吗?知道这里发生了什么吗?
作为解决方法,我在 GTM 的混合面板跟踪代码中添加了一个检查以过滤掉虚假的用户代理。当然,这暂时有效,直到他们更改用户代理为止。
<script type="text/javascript">
if (navigator.userAgent != 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; EIE10;ENUSWOL; rv:11.0) like Gecko') {
var pagePath = {{Page Path}};
mixpanel.track("Page Loaded", {"Page Path": pagePath, "User Agent": navigator.userAgent});
}
</script>
在GTM 中添加过滤器本身也不起作用,GTM 将忽略它。
我遇到了同样的问题,正在考虑在执行代码之前检查页面加载的来源。这可能更方便(不依赖于用户代理):
<script type="text/javascript">
if (document.location.href.search('.appspot.') == -1) {
/* run your code */
}
</script>
您搜索的内容可能会有所调整,但 URL 的这一部分发生变化的可能性比用户代理要小得多。
每当 Google 跟踪代码管理器配置更改时,这似乎都会发生,可能是在构建过程中的某个地方,它在 .appspot
域的环境中进行了测试。
这可以通过仅在非违规域上初始化混合面板来纠正:
if (document.location.href.search('.appspot.') == -1)
mixpanel.init(YOUR_TOKEN);
我将 GTM 配置为在我域中的每个页面上加载 Mixpanel,并添加了对按钮的点击跟踪,如本博客所述:https://mixpanel.com/blog/2015/03/27/community-tip-implementing-mixpanel-via-google-tag-manager
这还没有部署到任何服务器,只是本地主机,但似乎每当跟踪点击时,我在混合面板中收到来自美国的虚假事件url:https://gtm-msr.appspot.com/render2?id=GTM-XXXXX
使用此用户代理:Mozilla/5.0 (Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; EIE10;ENUSWOL; rv:11.0) like Gecko
有人遇到过这个吗?知道这里发生了什么吗?
作为解决方法,我在 GTM 的混合面板跟踪代码中添加了一个检查以过滤掉虚假的用户代理。当然,这暂时有效,直到他们更改用户代理为止。
<script type="text/javascript">
if (navigator.userAgent != 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; EIE10;ENUSWOL; rv:11.0) like Gecko') {
var pagePath = {{Page Path}};
mixpanel.track("Page Loaded", {"Page Path": pagePath, "User Agent": navigator.userAgent});
}
</script>
在GTM 中添加过滤器本身也不起作用,GTM 将忽略它。
我遇到了同样的问题,正在考虑在执行代码之前检查页面加载的来源。这可能更方便(不依赖于用户代理):
<script type="text/javascript">
if (document.location.href.search('.appspot.') == -1) {
/* run your code */
}
</script>
您搜索的内容可能会有所调整,但 URL 的这一部分发生变化的可能性比用户代理要小得多。
每当 Google 跟踪代码管理器配置更改时,这似乎都会发生,可能是在构建过程中的某个地方,它在 .appspot
域的环境中进行了测试。
这可以通过仅在非违规域上初始化混合面板来纠正:
if (document.location.href.search('.appspot.') == -1)
mixpanel.init(YOUR_TOKEN);