vue-trace

1.2.10 • Public • Published

vue方案埋点插件

spm定位方案

spmA 唯一标识一个站点 
spmB 唯一标识某站点的一个页面
spmC 唯一标识某页面的一个区块
spmD 唯一标识某区块的一个具体位置
spmE 随机生成的字串,跟时间有关系,在循环页面计算时可以区分点击的时序

埋点统计指标

PV 页面浏览次数
UV 页面浏览人数
按钮点击
跳出率
停留时长
转化率
访问深度

安装

npm i vue-trace --save

全局引入

// main.js
import VueTrace from 'vue-trace'
Vue.use(VueTrace, {
  baseUrl: '', // 选填,日志上报接口路径,默认根路径‘/’
  spm_a: 'msen', // 必填,站点
  domain: 'ds.myyshop.com', // 选填,域名,默认location.hostname 用于存储cookie
  sessionExpireTime: 30 * 60 * 1000, // 选填,会话最大有效时间, 默认30分钟
})

埋点sdk能力

点击事件

一、通过vue指令
<div v-trace:moduleName.click="{item_code: ''}" />
moduleName arg必填
binding.value 选填
二、通过api
this.$buryingPoint({
  module: el,
  moduleName: spmc,
  spm_b: spmb
}).click()

曝光事件

通过vue指令
<div v-trace:moduleName.expose />
moduleName arg必填
binding.value 选填

点击事件 + 曝光事件

通过vue指令
<div v-trace:moduleName.click.expose />
moduleName arg必填
binding.value 选填

注意事项

1.binding.value 可传对象或基本类型,如果是基本类型会默认赋值给实体的event_entity_info.keyword,如果是对象,则会合并到实体对象event_entity_info
2.对于第三方组件内部事件阻止了冒泡的,可以加capture,事件在捕获过程中执行
<div v-trace:moduleName.click.capture />

页面曝光

sdk暴露埋点实例
// 在全局控制路由拦截(router.beforeEach)文件引入,eg: src/router/permission.js
import VueTrace from 'vue-trace'
const { BuryingPoint } = vueTrace
// pageview
const spmb = to.meta ? (to.meta.spmb || '') : ''
if (spmb) {
    new BuryingPoint({
        baseUrl: '/',
        spm_a: 'msen',
        module: 'page',
        title: '',
        spm_b: spmb
    }).pageview()
}

注意: this.$route.meta.spmb需要定义spmb, 需要侵入router的meta中

a标签埋spm

改变所有a标签的href,带上当前区块的dspm
引入全局trance-link组件替换router-link
props
to 必填  跳转地址
spm 选填 传值spmC,不填则是正常link链接,不会埋点
spmIndex 选填,传值spmD,默认1 

存在bug

1、第三方组件内部事件阻止了冒泡,指令无法感知,比如element-ui select组件(可搜索模式);
   1)存在问题页面ds的Search Products中select by location; (已解决,添加修饰符capture,事件在捕获过程中执行)
2、组件无法传递自定义属性,比如element-ui tabs组件无法传自定义属性spm-index,无法自定义原生事件;
   1)存在问题页面ds的Import List\My Products\中tabs组件; (已解决,使用api方式)

Readme

Keywords

none

Package Sidebar

Install

npm i vue-trace

Weekly Downloads

30

Version

1.2.10

License

MIT

Unpacked Size

420 kB

Total Files

8

Last publish

Collaborators

  • sujingjun