【问题标题】:Change links before or when clicked? GA Cross-domain tracking在点击之前或点击时更改链接? GA 跨域跟踪
【发布时间】:2017-07-04 04:41:49
【问题描述】:

我有一种情况,我必须使用 Google Analytics(分析)linkerParam 手动装饰整个网站上的特定链接。

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

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

该重定向页面会传递 GA 客户端 ID,但它从来没有机会,因为它是我域上的页面,而不是外部域。自动链接器在这种情况下不起作用,这就是为什么我需要自己手动完成。

我得到的解决方案基本上是向重定向页面的每个链接添加一个 javascript addEventListener。

该解决方案确实有效。

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

还是在页面初始加载时简单地修改每个链接更好?

谢谢

【问题讨论】:

  • 尝试从目标站点上的 ga 对象中获取 UserId。如果两个站点都使用自动链接链接,则应该与源站相同
  • 我对目标站点没有太多控制权。这就是为什么我在将人们发送到目标站点之前尝试装饰 URL。
  • 对不起。我错过了自动链接对您不起作用的部分,您也找到了解决方案。

标签: javascript google-analytics cross-domain


【解决方案1】:

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

类似

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

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

【讨论】:

  • 我应该更清楚。我知道该怎么做。我想知道哪个更好?当有人点击(addEventListener)或修改页面加载时的href?
  • 哦,抱歉,最好的方法是在页面加载时修改每个链接,这样就不必每次调用事件时都修改厄运
【解决方案2】:

在我的自定义链接器中,我仅在点击后才装饰链接。我的理由(你可能会也可能不会觉得有说服力)是:

  • 如果用户将鼠标悬停在链接上,我不希望他看到附加的客户端 ID
  • 由于搜索引擎现在执行 javascript,它们可能会索引装饰链接
  • 我只能在链接实际出现在页面上后对其进行装饰(但我可以将回调函数附加到事后创建的链接),因此如果用户在 DOM 准备好之前离开,则链接不会被装饰
  • 在一个包含大量链接的页面上装饰所有链接实际上需要一些时间和性能来处理我并不真正需要的东西(毕竟我只需要装饰点击的链接)

至于 Ithans 上面的评论(我认为他指的是 DOM,而不是听起来险恶的“厄运”),因为用户在单击链接后无论如何都会离开页面(您不会装饰页面内链接) ,所以多个 DOM 操作不是问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多