Google彻底改变了分析,ga.js已被analytics.js取代,而且下面列出的旧方法不再适用:
方法一:
<body onLoad="javascript:pageTracker._setVar('test_value');">
方法2:
<body onLoad="javascript:_gaq.push(['_setVar','test_value']);">
方法3:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setVar', 'exclude_me']);
_gaq.push(['_setAccount', 'UA-xxxxxxxx-x']);
_gaq.push(['_trackPageview']);
// etc...
</script>
新的GA snipplet看起来像这样:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXX-Y'); // Creates a tracker.
ga('send', 'pageview'); // Sends a pageview.
</script>
我检查了documentation,但我无法弄清楚如何设置可在过滤器中使用的变量,以排除来自Google Analytics的内部流量。
有什么想法吗?
答案 0 :(得分:4)
您应该在创建调用之后和发送调用之前将其添加为set调用。
ga('set', 'dimension1', 'internal');
所以在你的情况下,
<body onLoad="javascript:ga('set','dimension1','internal');">
然后,这将该维度(1)与该页面上发出的其余发送呼叫相关联。要在视图上添加过滤器,您需要已经设置维度,然后选择&#34;自定义过滤器&#34; &GT; &#34;排除&#34; &GT;过滤字段应设置为您的自定义维度(通常位于列表的最后)。
虽然首选该方法,因为您可以稍后添加或删除过滤器来捕获该流量,但您也可以使用opt-out setting删除该流量:
window['ga-disable-UA-XXXX-Y'] = true;
UA-XXXX-YY
是您的帐户ID。
答案 1 :(得分:2)
虽然只有链接的答案通常不赞成在Universal Analytics文档中涵盖 ,所以我建议您查看Universal Analytics - Advanced Configuration - User Opt Out。
更新
抱歉,错过了关于过滤的最后一句话。可以通过自定义维度进行过滤(但只能在后端创建它们之后),因此您需要按照以下步骤进行过滤:
创建自定义维度 - 让我们在属性设置中将其称为“选择退出”。
通过跟踪代码发送该维度的值:
ga('send', 'pageview', {
'dimension1': 'true'
});
维度由文字字符串“dimension”和数字索引(在属性设置中的自定义维度对话框中显示)指示。
然后选择一个视图,转到过滤器,选择新过滤器/高级/排除,在过滤器字段中选择自定义尺寸“选择退出”,在过滤器模式中选择“真实”(可能您之前使用自定义变量做了相同的操作,所以应该很熟悉。
答案 2 :(得分:0)
从upgrade documentation看,您需要设置一些自定义变量,并在创建一些过滤器时使用这些变量(see this post)。
那就是说,对我来说似乎相当复杂。从我的角度来看,更简单的解决方案是使用服务器端语言,仅当用户不在排除列表中时才输出Google Analytics代码。
你的标签不提供服务器端语言(好吧,javascript可以在服务器端使用,但我不认为你在这个问题的位置),所以无法提供你用我认识的语言,但在PHP中,我会这样写:
<?php if ($_SERVER['REMOTE_ADDR'] != '127.0.0.1') {?>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXX-Y'); // Creates a tracker.
ga('send', 'pageview'); // Sends a pageview.
</script>
<?php } ?>
答案 3 :(得分:0)
我几乎放弃了寻找答案,但随后找到this section in the documentation。
在您的网站上创建一个虚拟页面。例如: www.yourdomain.com/exclude-traffic.html
添加&lt; meta name =“robots”content =“noindex,nofollow”&gt;在头部,所以页面不会被编入索引。
在head标记内添加跟踪代码上方的脚本。确保更新UA-XXXXXXXX-Y值。您可以在管理员中检查您的GA代码 - &gt;跟踪信息 - &gt;跟踪代码
在body标签内添加链接。
使用浏览器打开页面,然后单击链接。 (您可能正在使用Firefox和Chrome等。)
最终结果:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Remove My Internal Traffic from Google Analytics</title>
<meta name="robots" content="noindex, nofollow">
<script>
// Set to the same value as the web property used on the site
var gaProperty = 'UA-XXXXXXXX-Y';
// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
window[disableStr] = true;
}
// Opt-out function
function gaOptout() {
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[disableStr] = true;
}
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-Y', 'domainname.com'); //now its changed to auto
ga('send', 'pageview');
</script>
</head>
<body>
<h1>Remove My Internal Traffic from Google Analytics</h1>
<p><a href="javascript:gaOptout()">Click here to opt-out of Google Analytics</a></p>
</body>
</html>