谷歌分析链接跟踪JavaScript剥离会员链接



我们有一个附属网站,我们正在尝试跟踪出站附属网站的点击。 我将以下代码插入到我们的 html 中。

在标题中:

<script>
/**
* Function that tracks a click on an outbound link in Analytics.
* This function takes a valid URL string as an argument, and uses that URL string
* as the event label. Setting the transport method to 'beacon' lets the hit be sent
* using 'navigator.sendBeacon' in browser that support it.
*/
var trackOutboundLink = function(url) {
   ga('send', 'event', 'outbound', 'click', url, {
     'transport': 'beacon',
     'hitCallback': function(){document.location = url;}
   });
}
</script>

在链接的正文中:

<a href="http://domain.com?aff_link=123456" onclick="trackOutboundLink('http://domain.com'); return false;"> The link </a>

此脚本正确跟踪会员链接点击,但在用户点击时设法从域中删除会员代码。换句话说,

http://domain.com?aff_link=123456

成为

http://domain.com

因此,没有跟踪任何佣金。有谁知道为什么会发生这种情况以及如何跟踪与 GA 的链接并保持会员链接的完整性?

谢谢!

所以问题是您在onclick="trackOutboundLink('http://domain.com')传递了一个没有附属信息的 url

......

相反,这应该有效:

onclick="trackOutboundLink(this.href); return false;"

这应该使用链接的"href"属性的值。

话虽如此,我强烈建议使用本机 DOM 事件而不是 html "onclick" 属性。

例如,使用 jQuery:

$("a").click(function(event) {
    event.preventDefault();
    trackOutboundLink(this.href);
});

更新

事件

侦听器方法(第二个选项)的主要优点是,对于同一事件,同一 DOM 节点上可以有多个事件侦听器。这个SO答案很好地解释了它,非常详细。

希望这有帮助!

因此,

您希望跟踪完整的网址而不是根路径。请尝试使用这个。

var trackOutboundLink = function(event) {
   event.preventDefault();
   var url = event.target.href;
   ga('send', 'event', 'outbound', 'click', url, {
      'transport': 'beacon',
      'hitCallback': function(){document.location = url;}
   });
}

我希望它能帮助你。

最新更新