Javascript 如何在新的Google Analytics代码中放置自定义变量

Javascript 如何在新的Google Analytics代码中放置自定义变量,javascript,google-analytics,Javascript,Google Analytics,我想在Google Analytics中放置自定义变量,但Ima对语法有点困惑 这是谷歌让我在我的网站上放置的内容:- (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]

我想在Google Analytics中放置自定义变量,但Ima对语法有点困惑

这是谷歌让我在我的网站上放置的内容:-

(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-xxxxxxx', 'xxxxx.com');
  ga('send', 'pageview');
这就是我要用于自定义变量的内容:-

var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-xxxxxx-XX']);
  _gaq.push(['_setCustomVar', 1, 'age', '<?php echo $_GET["age"]; ?>', 1]);
  _gaq.push(['_setCustomVar', 2, 'gender', '<?php echo $_GET["gender"];?>', 1]);
var _gaq=_gaq | |[];
_gaq.push(['''u setAccount','UA-xxxxxx-XX']);
_gaq.push([''u setCustomVar',1',age','',1]);
_gaq.push([''设置自定义变量',2'性别','',1]);
现在我看到的示例说,我必须将自定义变量代码设置为:-

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-xxxxxx-XX']);
  _gaq.push(['_setCustomVar', 1, 'age', '<?php echo $_GET["age"]; ?>', 1]);
  _gaq.push(['_setCustomVar', 2, 'gender', '<?php echo $_GET["gender"];?>', 1]);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
var _gaq=_gaq | |[];
_gaq.push(['''u setAccount','UA-xxxxxx-XX']);
_gaq.push([''u setCustomVar',1',age','',1]);
_gaq.push([''设置自定义变量',2'性别','',1]);
_gaq.push([''u trackPageview']);
(功能(){
var ga=document.createElement('script');ga.type='text/javascript';ga.async=true;
ga.src=('https:'==document.location.protocol?'https://ssl' : 'http://www“)+”.google analytics.com/ga.js';
var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ga,s);
})();
但最后三行似乎是谷歌页面浏览方式的老一套,谷歌现在给出的(第一个发布的代码)是谷歌现在的做法。你认为这是正确的吗?或者我应该把这些代码粘贴在谷歌给我的代码上吗

那么,简而言之,这是正确的谷歌分析代码,为我添加了自定义变量

  var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-xxxxxx-XX']);
      _gaq.push(['_setCustomVar', 1, 'age', '<?php echo $_GET["age"]; ?>', 1]);
      _gaq.push(['_setCustomVar', 2, 'gender', '<?php echo $_GET["gender"];?>', 1]);
      _gaq.push(['_trackPageview']);


(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-xxxxxxx', 'xxxxx.com');
      ga('send', 'pageview');
var _gaq=_gaq | |[];
_gaq.push(['''u setAccount','UA-xxxxxx-XX']);
_gaq.push([''u setCustomVar',1',age','',1]);
_gaq.push([''设置自定义变量',2'性别','',1]);
_gaq.push([''u trackPageview']);
(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口,文档,“脚本”,“www.google-analytics.com/analytics.js”,“ga”);
ga(“创建”、“UA-xxxxxxx”、“xxxxx.com”);
ga(‘发送’、‘页面浏览’);

您确实混淆了两个不兼容的Google Analytics库-和

analytics.js库中不存在这样的自定义变量,您应该使用。如果在Javascript中定义年龄和性别变量,则可以使用以下调用将其与页面视图一起传递:

<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');
ga('send', 'pageview', {
 'dimension1':  age,
 'dimension2':  gender
 });

</script>

(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口,文档,“脚本”,“www.google-analytics.com/analytics.js”,“ga”);
ga(“创建”、“UA-XXXX-Y”);
ga('send'、'pageview'{
“维度1”:年龄,
“维度2”:性别
});

范围(点击/访问/访问者)和变量名在谷歌分析界面中定义,而不是在代码中定义

您已经向XSS攻击敞开了大门。JavaScript上下文中使用的任何变量数据都应该首先通过
json\u encode()
运行!不要像这样盲目地在代码中插入用户定义的值。谢谢我来解决这个问题。