Web 全埋点

优质
小牛编辑
129浏览
2023-12-01

全埋点采集默认是不采集,开关默认是关闭状态,需要您在页面接入SDK的代码window.zhuge.load()中,通过设置autoTrack参数,手动开启全埋点数据采集开关。

autoTrack:true  //全埋点开关

1. 页面访问数据采集

开启全埋点数据采集后,SDK会将页面访问自动作为事件上传。页面标题会作为内置属性上传。

单页应用(SPA)页面访问事件采集时机

针对单页应用,除了在SDK载入时做一次默认的页面访问数据采集外,还针对不同路由类型做了支持,在window.zhuge.load()中,可以设置singlePage参数来指定,默认为false。

singlePage: true  //单页应用

2. 页面点击数据采集

当用户在页面进行点击操作时,我们会检测点击行为是否有效,如果是一次有效的点击操作,则会上传该次点击行为数据。

点击行为在普通事件采集(track)基础上,增加了一些内置属性:

  • $page_title:页面标题
  • $element_id:元素id
  • $element_content:元素的文本内容
  • $element_type:元素的标签类型
  • $element_style:元素的样式名称
  • $element_selector:元素的选择器

SDK会自动为目标元素生成唯一样式选择器来作为元素的唯一标识,以便后续的数据分析等操作。如果元素拥有id属性,则选择器会优先以id选择器为准,否则会根据元素在父级中的索引位置,递归向上拼接选择器,直到某一个拥有id属性的元素或body根元素,因此页面实现我们建议dom树结构层级尽量精简或者适用id属性。

  • $element_link:元素的链接地址

元素可点击判断规则

  • 具有有效连接地址的a标签(超链接) 链接地址如果是以javascript开头,即认为该标签不是一个有效的超链接
  • button元素
  • 类型为button、reset、submit的input元素
  • 绑定有click事件的其它任意元素

除了上述默认的一些判断外,我们还提供了页面点击的回调函数,来进行自定义的点击判断,回调函数需要返回Boolean值。如:

window.zhuge.load('appKey', {
    autoTrack: true,
    isClickAble: function(targetElement) { //targetElement为点击的dom元素     
        return true;
    }
})

3. 关于表单提交和超链接跳转

由于表单提交和超链接跳转如果是发生在当前页面,则数据上传可能会因页面刷新导致上传中断,会极大影响数据的准确性,因此,如果跳转的目标页面是当前页面而非打开新页面,sdk会自动阻止页面的默认行为,并在事件上传的回调函数中执行页面跳转或表单提交,类似于:

< a href = "page1"id = "a" > </a>  
 <script>
$("a").onclick(function() {
    var link = this;
    zhuge.track('click', {
        props...
    },
    function() {
        location.href = link.href
    });
    return false
}
</script >

4. 注意事项

  1. 在分析场景中,诸葛io分析平台使用iframe加载您的网站页面,如果网站禁止了 iframe 加载,就无法正常分析。

    如果您的网站使用HTTPS协议,需将配置修改成

     X-Frame-Options: Allow-From https://www.zhugeio.com
    

    如果您的网站使用http协议,需将配置修改成

     X-Frame-Options: Allow-From http://www.zhugeio.com
    
  2. 页面的一次浏览访问或者页面的某个元素的一次点击,会被记为一个事件,对事件的总量上限限制会有影响。