在点击之前或点击时更改链接? GA跨域跟踪

时间:2017-02-15 13:29:34

标签: javascript google-analytics cross-domain

我遇到的情况是,我必须使用Google Analytics linkerParam手动装饰整个网站的特定链接。

这是为了维护会话,将GA客户端ID从我的主站点传递到我的电子商务网站。

通常这会通过自动链接器设置自动发生,但是有一个位于我的网站和电子商务网站之间的服务器端重定向页面。

该重定向页面会传递GA客户端ID,但它永远不会有机会,因为它是我的域名而不是外部域名的页面。自动链接器在这种情况下无法工作,这就是我需要自己手动完成的原因。

我给出的解决方案基本上为每个指向重定向页面的链接添加了一个javascript addEventListener。

该解决方案确实有效。

当人们实际点击特定链接然后用linkerParam装饰该链接时,使用addEventListener会更好吗?

或者在页面最初加载时简单地修改每个链接是否更好?

谢谢

2 个答案:

答案 0 :(得分:2)

在我的自定义链接器中,我只在点击后才装饰链接。我的理由(你可能会或可能不会令人信服):

  • 如果用户将鼠标悬停在链接上,我不希望他看到附加的客户端ID
  • 由于搜索引擎现在执行javascript,他们可能会索引装饰链接
  • 我只能在链接实际上在页面上之后才能修饰链接(但是我可以将回调函数附加到事后创建的链接),所以如果用户在DOM准备就绪之前离开链接没有装饰
  • 在一个包含大量链接的页面上装饰所有这些链接实际上需要花费一些时间和性能来实现我并不需要的东西(毕竟我只需要点击的链接装饰)

至于上面的Ithans评论(我认为他提到了DOM而不是险恶的声音"厄运"),因为用户在点击链接后离开页面(你不会装饰)页内链接),因此多个DOM操作不是问题。

答案 1 :(得分:0)

您可以在页面加载时更改所有链接

类似

    var linksToChange = document.querySelectorAll('.theLinkClass');

   for (var item of linksToChange ) {
     item.href= "http://google.es";
   };