数据埋点

前言

为了获悉用户的行为,我们的业务计划在项目中加入埋点的能力,得到用户的行为,以此好对我们系统可以更好的分析去优化

在下面,我要对什么是数据埋点?为什么需要数据埋点?数据埋点的意义和实现,进行一个简单的介绍

一、何为数据埋点

数据埋点,一种常用的数据采集方法,在应用中特定的流程收集一些信息,后续用来进一步优化产品或提供运营的数据支撑。比如访问数、访客数、停留时长、页面浏览数和跳出率。

二、数据埋点

2.1 数据埋点的意义

可以根据用户在APP上的一系列操作线索,提炼信息,进行数据分析,进而分析输出业务分析结论。

  1. 分析运营机制的合理性
  2. 分析产品功能的合理性
  3. 分析用户消费行为,挖掘流失点
  4. 监控产品的流畅性
  5. 分析不同渠道的用户行为差异

2.2 埋点级别划分

  • 初级埋点

    在产品流程关键部位植入相关统计代码,用来追踪用户每次的行为,统计关键流程的使用程度;

  • 中级埋点

    在产品中植入多段代码追踪用户连续行为,建立用户模型来具体化用户在使用产品中的操作行为;

  • 高级埋点

    与研发及数据分析师团队合作,通过数据埋点还原出用户画像及用户行为,建立数据分析后台,通过数据分析、优化产品

2.3 数据埋点的信息收集

  • 页面统计
  • 统计操作行为

2.4 埋点技术

埋点技术划分,以及他们的优缺点:

  • 全埋点
    • 优点:成本低
    • 缺点:只覆盖基本行为
    • 适用场景:业务简单
  • 可视化埋点
    • 优点:自主采集
    • 缺点:不支持与服务端交互
    • 适用场景:业务标准化
  • 代码埋点
    • 前端埋点(H5、PC)
      • 优点:采集全面
      • 缺点:非登录场景采集复杂
      • 适用场景:业务复杂
    • 客户端埋点(APP埋点)(Android、ios)
      • 优点:采集标准
      • 缺点:依赖版本、延迟上报
      • 适用场景:业务复杂
    • 后端埋点(服务端埋点)
      • 优点:实时有效、属性整合
      • 缺点:只支持调接口
      • 适用场景:整合属性

三、埋点应用

3.1 神策埋点

神测数据 - 新手入门

神策埋点有一些名词的概念介绍,在这里我就赘述了,可自行去神策官网查看,例如:什么是用户行为分析

关于神策埋点的使用,官网里也有教程:Web JS SDK集成文档(Web)

3.1.1 神策埋点的事件模型

事件模型是用来描述用户的各种行为,事件模型包括事件(Event)和用户(user)

我们在描述用户行为时,往往只需要描述清楚几个要点,即可将整个行为描述清楚,要点包括:是谁、什么时间、什么地点、以什么方式、干了什么。

3.1.2 神策埋点的使用

后面的内容是基于Web JS SDK 的一些简单介绍,框架是Vue2

sa-sdk-javascript - Github

sa-sdk-javascript - npm

  • 埋点安装

    js 复制代码
    npm i sa-sdk-javascript
  • 参数配置

    全埋点 - Web JS SDK

    全局引入:

    js 复制代码
    // main.js
    var sensors = require("sa-sdk-javascript");
    sensors.init({
      server_url: "", // 服务端接受数据地址
      // is_track_single_page:true, // 单页面配置,默认开启,若页面中有锚点设计,需要将该配置删除,否则触发锚点会多触发 $pageview 事件
      // use_client_time: true,
      show_log: true/false, //是否显示conlog到控制台
      // heatmap: 点击图设置,默认配置表示不自动采集元素点击事件和页面保留事件,配置成 {} 表示开启 $WebClick 采集 和 $WebStay 自动采集,默认 $WebClick 只采集 a,button,input ,textarea 四个 dom 元素的点击事件。
      heatmap: {
        // //是否开启点击图,default 表示开启,自动采集 $WebClick 事件,可以设置 'not_collect' 表示关闭。
        clickmap: "not_collect",
        // //是否开启触达图,not_collect 表示关闭,不会自动采集 $WebStay 事件,可以设置 'default' 表示开启。
        scroll_notice_map: "not_collect",
        // //  collect_tags:配置是否开启div的全埋点采集,默认不采集。如需开启,配置 collect_tags 参数如下:
        //  collect_tags:{
        //   div: {
        //    max_level: 3 // 默认是 1,即只支持叶子 div。可配置范围是 [1, 2, 3],非该范围配置值,会被当作 1 处理。
        //   },
        //   li: true,
        //   img: true,
        //   svg: true
        //   ...其它标签
        //   },
        // // 配置自定义属性支持可视化
        // track_attr: ['hotrep', 'anotherprop', "data-prop2"],
      },
    });
    // sensors.quick('autoTrack'); //用于采集 $pageview 事件。
    Vue.prototype.$sensors = sensors;

    Web JS SDK全埋点包括三种事件:Web 页面浏览、Web 元素点击、Web 视区停留

    使用示例:

    js 复制代码
    // index.vue
    
    methods: {
        // track:自定义事件的方法
        shortcutLinkClick(item) {
          this.$sensors.track("ShortcutLinkClick", {
            key1: XXXX,
            key2: XXXX,
          });
          func();
        },
    
        // setProfile: 设置用户属性
        loadData() {
            this.$sensors.setProfile({
                email:'xxx@xx'
            });
        },
    }
  • 事件分析如下

  • 自定义查询 在右侧的编辑框,编辑完成后,点击点头指向的三角形按钮,运行

资料来源

相关推荐
下雪天的夏风8 分钟前
TS - tsconfig.json 和 tsconfig.node.json 的关系,如何在TS 中使用 JS 不报错
前端·javascript·typescript
diygwcom19 分钟前
electron-updater实现electron全量版本更新
前端·javascript·electron
volodyan22 分钟前
electron react离线使用monaco-editor
javascript·react.js·electron
^^为欢几何^^31 分钟前
lodash中_.difference如何过滤数组
javascript·数据结构·算法
Hello-Mr.Wang36 分钟前
vue3中开发引导页的方法
开发语言·前端·javascript
WG_1740 分钟前
C++多态
开发语言·c++·面试
鱼跃鹰飞1 小时前
Leetcode面试经典150题-130.被围绕的区域
java·算法·leetcode·面试·职场和发展·深度优先
程序员凡尘1 小时前
完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!!
前端·javascript·vue.js
编程零零七4 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
北岛寒沫5 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习