我有一些对出站链接点击情况进行统计的需求,例如:
- 阿里云大使链接的访问量。
- 京东联盟返利链接的点击情况。
这些都需要统计页面的 URL,及点击量。我好根据统计数据来判断具体页面的转化率是否符合预期。
之前只用过百度统计的自定义上报功能,但是不知道如何跟踪出站链接。
百度统计官方文档中的例子
https://tongji.baidu.com/web/help/article?id=236&type=0
对当前页面的客户端下载链接进行点击事件统计,具体示例代码如下:
<a id="download" onclick="_hmt.push(['_trackEvent', 'software','download', '千千静听客户端']);"
href="http://www.example.com/download/ttpsetup.exe" target="_blank">下载</a>
然后就可以在百度统计后台的“访问分析”- 事件分析”中看到相关的统计了。
a 标签中的 href 的链接先被打开,还是 onclick 先执行
查了一下,是 onclick 会优先执行;然后再打开 href 中的链接。
但是有一种情况例外,那就是 onclick 里返回 false。这种情况下,则不打开 href 中的链接。
同时需要注意的是,这个上报操作既然是 ajax 请求,那这段 js 代码会在上报完成之前,立即执行下面的操作。那么 target 为 _blank 就非常必要了。否则无法保证完成上报。
实际测试
实际测试会看到,上报代码会发送一个请求,链接如下:
https://hm.baidu.com/hm.gif?cc=1&ck=1&cl=24-bit&ds=1920x1080&vl=937&ep=%E4%B8%83%E7%89%9BCDNfooter%E9%82%80%E8%AF%B7&et=4&ja=0&ln=en-us&lo=0<=1577324997&rnd=665077168&si=0c96e9f929c017b87f20eb15ec5cd11e&v=1.2.67&lv=3&api=8_0&sn=32870
参数里附加了上报的数据。
统计有延迟,待会才能看到统计数据。
类型、操作、标签分别如何设置
其实不必拘泥于百度统计官方的称呼,关键是要记录下自己需要参考的数据。例如:
- 事件名
- 事件触发的位置/区域
- 当前的网页标题及地址
所以,实际我使用的参数如下,例如:
<a href="https://portal.qiniu.com/signup?code=3ldtiuk3qiogi"
rel="nofollow"
target="_blank"
onclick="_hmt.push(['_trackEvent', '七牛CDN邀请', 'footer', document.getElementsByTagName('title')[0].innerHTML + window.location.href]);">
七牛 CDN
</a>
耐心等待结果
百度统计的事件分析数据收集有延迟,第一次上报得3/4个小时之后才能看到效果。
Google AMP 网页错误
在网页中添加了 onclick 上报之后,第二天就收到了 Google Search Console 的提醒邮件。
不允许在AMP 网页中使用HTML 事件属性(即“on*”)。请改用“amp-bind”。
看来还需要在生成 AMP 网页时,过滤掉 onclick 属性。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式