使用谷歌分析跟踪链接点击?

40

我是Google Analytics的完全新手,我需要知道如何设置它以便跟踪我的网站上链接的点击次数?

例如,我有一个链接:

<a href="https://google.com">link</a>

我知道应该在某处添加一个onClick事件,但是我不知道它如何与Google Analytics相关联?

这段代码是否正确:

onClick="_gaq.push(['_trackEvent', 'Link', 'Click', 'Banner Advert1']);"
5个回答

41

你可能想使用事件跟踪 - 这是一个简单的JavaScript函数,可以从您的链接点击事件触发。您还需要确保页面上有标准的Google跟踪脚本

来自Google事件跟踪指南

事件跟踪是ga.js跟踪代码中可用的一种方法,您可以使用该方法记录用户与网站元素的交互,例如Flash驱动的菜单系统。这是通过将方法调用附加到要跟踪的特定UI元素来实现的。使用此方式时,这些元素上的所有用户活动都将计算并显示为分析报告界面中的事件。此外,使用事件跟踪方法跟踪的用户活动不会影响页面浏览计算。最后,事件跟踪采用面向对象模型,您可以使用它来收集和分类与您的Web页面对象的不同类型的交互。

示例:

<a href="www.google.com" onclick="_gaq.push(['_trackEvent', 'Google Link', 'Action label', 'Additional info']);">link</a>

更新

上述内容适用于旧版API - ga.js。如果您正在使用更新的通用跟踪代码,请参考文档。传递的数据与以前相同,但调用方式不同。

使用新版API进行事件跟踪的示例:

<a href="www.google.com" onclick="ga('send', 'event', 'Google Link', 'Action label', 'Action Value');">link</a>

好的,所以我只需要在我想要追踪的链接上添加 onClick=”_gaq.push(['_trackEvent', 'Link', 'Click', 'Banner Advert1']);” 这一行代码,然后它就会在 Google Analytics 上显示出来了吗? - user3191726
类别字段的其他选项是什么? - user3191726
@user3191726 根据您的需求,您可以使用任何字符串来填写所有字段。 - geedubb
3
这个答案存在的问题是页面导航可能会在事件有机会被记录之前发生。请参见我的回答 - Flimm
1
@eAi 是的,事情确实已经改变了6年了 ;) - geedubb
显示剩余2条评论

29
请注意,_gaq.push(..) 是指使用传统的 经典分析 Web 追踪 (ga.js) 进行跟踪。新的标准 通用分析 Web 追踪 (analytics.js) 使用不同的方法,如下所示:

ga('send', 'event', 'button', 'click', 'nav buttons', 4);

前两个选项不能更改,它们将 send 选项和打击类型 event 传递给 ga 函数。
接下来的两个选项也是必需的,最后两个选项是可选的。它们代表:
  • button (字符串 | 必填) : 类别
  • click (字符串 | 必填) : 操作
  • nav buttons (字符串 | 非必填) : 标签
  • 4 (正整数 | 非必填) : 值
可在以下网址查找更多信息:https://developers.google.com/analytics/devguides/collection/analyticsjs/events

根据文档,只有前两个(在此示例中为button和click,即文档中的eventCategory和eventAction)是必需的。EventLabel和eventValue不是必需的。 - Strabek
感谢@Strabek指出了这一点。我想那个可能已经更新了。我会相应地更新我的帖子。 - AnuragBabaresco
这里数字 '4' 的作用是什么? - Osmani

21

其他回答没有考虑到请求可能在页面更改之前未完成,导致事件未被记录。

这是其他回答中发现的问题:

 <a
    href="http://example.com"
    onclick="ga('send', 'event', {eventAction: 'click', eventCategory: 'Example'})"
 >example</a>

谷歌分析文档提供了解决方案

跟踪外部链接和表单可能会很棘手,因为大多数浏览器一旦加载新页面就会停止执行当前页面上的JavaScript。解决此问题的一种方法是将 transport字段设置为beacon

beacon传输允许数据在页面关闭后异步发送到服务器。

添加 transport: 'beacon',如下所示:

 <a
    href="http://example.com"
    onclick="ga('send', 'event', {transport: 'beacon', eventAction: 'click', eventCategory: 'Example'})"
 >example</a>

不幸的是,一些浏览器不支持beacon,包括IE 11 (caniuse)。为了解决这个问题,您可以取消页面导航,将请求发送到Google Analytics,等待其完成,然后启动页面导航。幸运的是,所有现代主流浏览器都支持它。


传输方式为beacon能保证传输的可靠性吗? - Dmitry
2
@Dmitry 运输信标意味着即使选项卡关闭或页面导航离开,请求仍将被发送。当然,没有什么绝对保证交付,你可能会遇到停电,机器可能会被关闭。 - Flimm

7

我看到其他回答提到了旧的函数:ga()。如果你正在使用最新版本的Google Analytics跟踪功能,这些方法将无法工作...

以下是使用最新的GA版本gtag()进行事件跟踪的示例:

<a href="http://example.com" onclick="gtag('event', 'click', {'event_category': 'Navbar button', 'event_label': 'Navbar blue Download button'});">Download</a>

上面的示例具有以下选项:
  • 命中类型(Event| 必需): 不能更改
  • 事件操作(文本 | 必需):交互类型(例如,'click')
  • 事件类别(文本 | 必需):通常是与之交互的对象(例如,'Navbar button')
  • 事件标签(文本 | 可选):用于分类事件(例如,'Navbar blue Download button')

更多详细信息请参见:https://developers.google.com/analytics/devguides/collection/gtagjs/migration#track_events


7
我在每个页面的页脚中都使用此功能,并将其设置为Google Goals中的一个事件。
在成功页面之前,将register替换为页面路径的标识符。
<script>

  window.addEventListener('load',function(){

    if(window.location.pathname =="/register/" )

    {

      ga('send','event','register page','referrer',document.referrer)

    }

  });

</script>

然后在管理>目标中:
  1. 自定义
  2. 目标描述

enter image description here

  1. 目标详细信息

enter image description here

这使得您可以跟踪链接被点击的页面URL,如果它导致成功的目标完成。

转到行为>事件>概述以获取报告数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接