2

根据新analytics.js的谷歌文档 - 您可以设置多个跟踪器,并通过在单独的发送调用中明确提及跟踪器的名称来向它们发送事件:

https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced#multipletrackers

ga('create', 'UA-XXXX-Y');
ga('create', 'UA-12345-6', {'name': 'newTracker'});  // New tracker.
ga('send', 'pageview');
ga('newTracker.send', 'pageview'); // Send page view for new tracker.'

我想知道是否有一种方法可以将一个事件发送到两个跟踪器,而不必为每个事件编写两个单独的发送调用,或者即使有一种方法可以使用一个发送调用和一个逗号分隔的跟踪器列表或其他东西来发送。有人知道吗?

4

3 回答 3

2

基于异步同步文档和示例代码,您可能可以执行以下操作:

function multiSend() {
  var trackers = ga.getAll();
  for (var i = 0; i < trackers.length; i++) {
     tracker=trackers[i].get('name')+'.send';
     argum = Array.prototype.slice.call(arguments);
     argum = argum.toString();
     ga(tracker,argum);
  }
}

ga(multiSend('pageview')); // send a pageview to all defined trackers...
于 2013-10-10T05:32:06.677 回答
0

创建一个具有三个参数的函数(您也可以为事件添加另外两个可选参数,但在此示例中,我只使用了类别、操作和标签。)

在您的链接、按钮等上,使用 onclick 调用函数并为事件传递您的参数。

<head>
    <script>
        function evtTrack(evtCat,evtAction,evtLabel) {

            ga('send', 'event', evtCat, evtAction, evtLabel);
            ga('newTracker.send', 'event', evtCat, evtAction, evtLabel);
}
    </script>
</head>

//Example
<body>
    <a href="blah.com" onclick="evtTrack('Product Category','Image Click', 'Shoes');">Example</a>
</body>
于 2013-10-10T00:25:18.800 回答
0

基于迈克的回答,它适用于 GA Universal。

function multiSend() {
  var trackers = ga.getAll();
  for (var i = 0; i < trackers.length; i++) {
    tracker=trackers[i].get('name')+'.send';
    argum = Array.prototype.slice.call(arguments); 
    argum.unshift(tracker);
    ga.apply(window, argum);
  }
}
于 2017-06-09T00:26:10.543 回答