浏览量与点击量的计算方式
Web中的浏览量与点击量
GrowingIO采集的页面浏览量指的是页面被渲染一次的数量,元素浏览量指的页面上元素的曝光次数,点击量指的是页面上元素被点击的次数。
关于 HTML5 mobile 页面,浏览器会将 tap 和 touch 事件模拟为 click 事件。
在一个加载完成的页面上,用户进行某个交互操作而页面不重新渲染,某些元素浏览量会加1,但不会触发一次PV。
一些边缘情况:

对大部分标签我们默认只采集、圈选倒数两层节点。如果被圈选元素是 a, button, input, img,并且在倒数两层以下,收集 “点击量” ,不收集 “浏览量” 数据。
IE8及以下的IE浏览器版本GrowingIO不收集浏览量,只收点击量。
Angular 1.4 以下版本与GrowingIO使用的MutationObserver 有冲突,解决方案之一是关闭impression记录;如果网站使用Angular 1.4 以下版本并关闭impression记录,那么页面上的元素不收集浏览数据。
Android中的浏览量与点击量
页面浏览量:
GrowingIO Android SDK以一个Activity为一个页面,用户看了一个Activity一次为一个页面浏览。当用户切换到其他Activity再切换回来,则页面浏览量+1。如果用户离开App后再回到这个Activity,例如切换到其他App再回来、切换到后台再回来、锁屏后再解锁等,都会导致页面浏览量计数+1。页面没有点击量数据。
注意:由于Activity为Android开发中特有的概念,并不一定等同于肉眼直观看到的“页面”概念,因此有时候页面浏览量会与直觉不一致。以下举简单例子说明:
如果你的App有类似iOS一样的底部导航栏设计,你可能会将下面的几个tab页认为是不同的页面,但实际上他们都属于同一个Activity。如果你确实想看某个tab页的浏览量,你可以在该标签处于选中状态时圈选该标签元素,此时该元素的浏览量就是你这个tab页面的浏览量。
又比如,如果你有一个全屏幕的对话框,你可能认为它是一个新的页面,但是它其实只是当前Activity的一个对话框而已,如果你想看该对话框的浏览量,就需要圈选该对话框的标题,而不能定义为页面。
元素的浏览量与点击量
可以点击的元素会有浏览量和点击量数据,不可点击的元素只包含浏览量数据。目前,GrowingIO只能圈选文本框和可点击的元素。如果某个文本框在一个可点击的容器内,那该文本框的点击量等于该容器的点击量。
如果一个元素出现在屏幕可视范围之外,例如一个滚动列表的下端,那么只有当用户滚动到元素所在位置时,浏览量才会+1。
如果一个元素先出现在屏幕可视范围内,然后被滚动到可视范围外,又被反向滚动到可视范围内,那么这个操作中元素的总浏览量依然为1。
如果一个文本框的内容可变,则取决于圈选时是否开启了“忽略文本”选项。举例,界面上有一个“登录”按钮,当用户点击一次时按钮上的文字会变成“登录中…”,此时该文本框在该页面实际被浏览两次,作为“登录”时一次,作为“登录中”一次。如果圈选时开启了“忽略文字”,那该文本框浏览量就是2,如果没有忽略文字,而是匹配固定“登录”字样的话,浏览量就是1。
iOS中的浏览量与点击量
页面浏览量:
与Android类似,iOS中我们以一个ViewController为一个页面,用户看了一个Activity一次为一个页面浏览。当用户切换到其他ViewController再切换回来,则页面浏览量+1。如果用户离开App后再回到这个ViewController,例如切换到其他App再回来、切换到后台再回来、锁屏后再解锁等,都会导致页面浏览量计数+1。页面没有点击量数据。
注意:由于ViewController为iOS开发中特有的概念,并不一定等同于肉眼直观看到的“页面”概念,因此有时候页面浏览量会与直觉不一致。
元素浏览量与点击量:
可以点击的元素包含浏览量和点击量数据,不可点击的元素只包含浏览量数据。目前,GrowingIO只能圈选文本框和可点击的元素。如果某个文本框在一个可点击的容器内,那该文本框的点击量等于该容器的点击量。
当一个元素出现在屏幕可视范围之外时,例如一个滚动列表的下端,那么浏览量如何计算?这要取决于你的App是用哪种方式实现的。如果是通过TableView或CollectionView来实现的话,只有当屏幕滚动到元素所在位置时,浏览量才会+1。如果是用ScrollView或其他方式实现的,那么就算此时元素在屏幕之外还没有被用户看到,浏览量也会+1。
同样地,如果一个元素先出现在屏幕可视范围内,然后被滚动到可视范围外,又被反向滚动到可视范围内,那么TableView或CollectionView情况下是1,其他情况下是2。
如果一个文本框的内容可变,则取决于圈选时是否开启了“忽略文本”选项。举例,界面上有一个“登录”按钮,当用户点击一次时按钮上的文字会变成“登录中…”,此时该文本框在该页面实际被浏览两次,作为“登录”时一次,作为“登录中”一次。如果圈选时开启了“忽略文字”,那该文本框浏览量就是2,如果没有忽略文字,而是匹配固定“登录”字样的话,浏览量就是1。