Google Universal Analytics - 通过一次 link 点击跟踪多个事件

Google Universal Analytics - track multiple events on a single link click

Google 建议 track outbound links:

ga('send', 'event', 'outbound', 'click', url, {
    'hitCallback': function () {
        document.location = url;
    }
});

它使用 "hitCallback" 在成功跟踪事件后将用户重定向到页面。

每次点击跟踪多个事件的语法是什么?

我不想写这样的代码:

ga('send', 'event', 'outbound', 'click', url, {
    'hitCallback': function () {

        ga('send', 'event', 'foo', 'click', url, {
            'hitCallback': function () {

                ga('send', 'event', 'bar', 'click', url, {
                    'hitCallback': function () {
                        document.location = url;
                    }
                });
            }
        });
    }
});

任何解决方案都需要支持 IE7+ 并且没有库依赖性。

你应该试试这个:

ga('send', 'event', 'outbound', 'click', url, {transport: 'beacon'});
ga('send', 'event', 'foo', 'click', url, {transport: 'beacon'});
ga('send', 'event', 'bar', 'click', url, {
    transport: 'beacon',
    hitCallback: function () {
        document.location = url;
    }
});

传输参数由经典像素跟踪回退,因此 IE7 应该可以幸免。

如果使用了sendBeacon/transport,你将独立于回调河,所以最后一次 ga 调用就足够了。

我认为有两种可能的方法:

  • 假设 GA 按顺序处理事件,并且只对最后一个事件使用命中回调。

  • 使用单次命中回调来计算调用次数,并且仅在收到最后一个预期调用时才更改 document.location