神策sdk埋点

一,提出数据需求

首先要把数据需求提出来,先落地成一个标准的文档。数据需求是由业务或者产品去做,然后设计数据采集方案是基于我们的数据需求,首先要满足数据需求,其次在数据在设计完成之后要进行评审。/基于需求设计完成之后需要跟业务以及技术进行技术评审,去沟通是不是能满足业务需求,然后技术这边要去沟通是不是可实现的,或者实现代码是否过大,也要去做一些权衡。

关于需求的常见误区

(1)全都要埋(就是不管我看不看,全埋)
  • 埋点范围不清晰,研发人员无从下手
  • 研发资源有限,无法对全局进行细致埋点
(2)全都会看(就是每个指标我都设计出来,但是后期会不会看,后期会不会看其实并不是这个指标我们要不要设计,这个指标设计出来也会有优先级,就像本次梳理优先级一样,我们指标并不是所有的指标都会去看,所以在设置和配置这个指标的时候要去考虑优先级和必要性)
  • 没有明确分析目标,看数时思路混乱
  • 业务人员精力有限,无法每日消化大量数据
(3)全都得用(就是数据都拿出来了,是否符合我们当前的场景)
  • 汇报时失去重点,难以得出分析结论
  • 管理人员时间有限,无法快速获取信息

合理需求的三要素

(1)应用场景:首先我们要基于场景,就是非常重要的场景我们一定要看

(2)指标:场景那么基于场景后我们需要将指标落地,比如这个地方我要看转化

(3)维度:指标的话还有一些细分的维度,比如课程,会有一些偏好。维度会直接关系到埋点老师的工作量,因为维度落地下来全都是事件的属性。

所以以上三点就是考虑要不要实现以及要不要转化成代码的一个主要的考量

需求梳理步骤

完善需求文档 

二,设计数据采集方案

(1)提交需求文档:落地出来需求指标,那就是这个需求文档

(2)判断实现方式:判断是全埋点还是自定义才可以实现的,或者说是一些东西要去做公共属性,比如说区分,这个东西是从小程序还是app来的,这个是实现方式的基本判断。

(3)理解事件模型:理解神策底层的事件模型因为我们所有事件设计的话都是基于某个模型设计出来的,然后这个才是一个符合规范的事件,这样的话才可以正常的入库。

(4)抽象行为路径:比如一个关键的场景下可能分为1234,我们需要把这几部分抽象出来,然后做为事件,比如这块一个点击,那块一个浏览,那就是第一步点击,第二步浏览。

(5)明确事件的字段:字段其实就是刚刚提到的维度,明确事件字段的话就是比如刚刚有一个按钮点击的事件,那么这个按钮点击有那些必要采的属性,比如按钮名称,按钮当前所在的页面需要采,这就是一些事件字段。

(6)定义采取规范:采集规范就是我们最后落地下来的埋点文档,就是某一个事件对应的属性,属性类型的规范,最重要的是触发时机的规范。

(7)完善采集方案:这块是基于评审的基础上去完善,比如评估这个地方不好实现,那么这个属性可能就采不了了,那我们就要去掉或者是换成其他的采集了。

以上则是步骤。

提交需求文档

eg:希望通过对登录注册流程的各节点进行数据分析,优化用户登录,注册的用户体验

首先第一步我们要提供以下文档,比如说之后我们产品迭代的时候可能就是某一个功能点的一些指标,比如新增一个登录注册的一个方式,要去看用这个功能的人数,人数占比等。

判断实现方式

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/809782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【docker】linux删除大于特定时间的备份文件

目录 shell 删除脚本命令解析 环境:linux容器:docker 前提: 继上次讲述如何备份线上数据库之后,我们来看如何删除多余的dump备份文件 参考:linux写shell脚本备份线上数据库(备份为dump文件) …

JavaScript之Object.defineProperty详解

Object.defineProperty 是 JavaScript 中用于定义或修改对象属性的方法之一。它允许我们精确地控制对象属性的特性,包括可枚举性、可写性、可配置性等。 1. 基本语法 Object.defineProperty(object, propertyName, descriptor); object:要在其上定义属性…

【PyQt5】环境配置

PyQt5 环境配置 一、前言1.1 PyQt5介绍1.2 PyCharm集成Pyqt5 二、pyqt5安装三、PyQt5-tools工具包安装四、常用工具环境配置4.1、环境变量配置4。2、验证是否安装成功 五、pycharm中设置Qt工具(Qt Designer、PyUIC、PyRcc)5.1、配置Qt Designer5.2、配置…

gitee上传出现git did not exit cleanly (exit code 1)的错误

在最后push的时候出现下面的结果: 出现这个错误的原因有好多种,目前介绍博主遇到的两种: 在第一次进行push操作的时候,需要输入用户名和密码,如果输入错误,则最后可能会出现上述报错 解决方法:…

centos7安装 on-my-zsh

如下👇 yum install -y zsh chsh -s /bin/zsh yum install -y git sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 重启即可生效啦~

Python爬虫怎么挣钱?6个Python爬虫赚钱方式,搞搞副业不是问题

1.最典型的就是找爬虫外包活儿 网络爬虫最通常的的挣钱方式通过外包网站,做中小规模的爬虫项目,向甲方提供数据抓取,数据结构化,数据清洗等服务。新入行的程序员大多都会先尝试这个方向,直接靠技术手段挣钱&#xff0…

Oladance、南卡、Cleer开放式耳机好不好用?深度测评剖析实力王!

​近期,不少朋友都在询问如何挑选适合自己的开放式耳机。面对市场上众多品牌的开放式耳机,它们在音质、舒适度和性能上都有所差异,挑选一款合适的耳机对于音乐爱好者来说尤为重要。购买到品质不达标的耳机可能会影响音乐体验,甚至…

Linux nfs 环境搭建

1.开发背景 nfs 即网络文件共享,主要通过 tcp、udp 等网络通讯的方式实现不同机器间的文件共享 2.开发需求 搭建 ubuntu 下的服务端,嵌入式开发板共享 ubuntu 的某个文件夹 3.开发环境 ubuntu20.04 嵌入式开发板 4.实现步骤 4.1 搭建 ubuntu 服务器…

sonar搭建(linux系统)

前景 静态代码扫描是CI/CD中重要的一环,可以在代码提交到代码仓库之后,在CI/CD流程中加入代码扫描步骤,从而及时地对代码进行质量的检查。这可以有效地降低后期维护成本,优化产品质量,提高产品交付速度。同时&#xf…

浅尝一下ECS(Entity Component System)(学习笔记)

参考文章:浅谈Unity ECS(一)Uniy ECS基础概念介绍:面向未来的ECS - 知乎 (zhihu.com) 视频链接:【青幻译制】GDC讲座系列之三 守望先锋的游戏架构和网络代码_哔哩哔哩_bilibili 云风的 BLOG: 浅谈《守望先锋》中的 E…

XSS攻击与MySQL注入漏洞攻击手法

一、XSS攻击 概念:XSS攻击也被称为 “跨站脚本攻击”,通过将恶意得Script代码注入到Web页面中,当 用户 浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击 用户的目的。 攻击对象&#…

保证线程安全的10个小技巧分享

对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。 线程安全问题通俗的讲:主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源),导致的数据异常问题。 比如:变…

计算两个日期之间相差的天数的四种方法

计算两个日期之间相差的天数的四种方法 第一种:时间戳的方式,计算两个日期的时间戳的差,再除当天的毫秒数即可得到相差的天数。 public static void main(String[] args) {DateFormat dft new SimpleDateFormat("yyyy-MM-dd");t…

家居网购项目(一)

文章目录 1.前置知识1.项目开发阶段2.Java经典三层架构3.项目具体分层(包方案)4.MVC 2.开发环境搭建1.新建普通javaweb项目,导入jar包2.创建项目结构3.搭建前端页面 3.会员注册前端js校验1.需求分析2.代码login.html 3.结果4.调试阶段1.验证信…

LeetCode 题目:两个总和

LeetCode 题目:两个总和 描述: 编写一个函数,输入为一个整数数组nums和一个目标整数target,要求找到数组中两个数的和等于target,并返回这两个数的索引。 函数定义: def two_sum(nums: List[int], targe…

Java多线程开发——基础篇

目录 1.基本概念 2.创建线程方式 2.1直接建立线程 2.2实现Runnable接口 3.3实现Callable接口 3.4 了解Future接口 Future模式主要角色及其作用 3.5实例化FutureTask类 3.实现线程安全 3.1定义 3.2不安全原因 3.3解决方案 3.4volatile与synchronized区别 4.极端情…

Docker 学习笔记(三):Centos7 中 Docker 使用,镜像、容器,以及操作等常用命令小结

一、前言 记录时间 [2024-4-7] 前置文章: Docker学习笔记(一):入门篇,Docker概述、基本组成等,对Docker有一个初步的认识 Docker学习笔记(二):在Linux中部署Docker&#…

【数据结构】FHQ-Treap

因为想要学可持久化平衡树,但是之前用平衡树基本都是splay这种需要旋转的,不利于可持久化,所以今天来学一下fhq-treap这种不需要旋转的平衡树 fhq-treap是一种基于分裂(split)和合并(merge)的一…

(Java)数据结构——排序(第一节)堆排序+PTA L2-012 关于堆的判断

前言 本博客是博主用于复习数据结构以及算法的博客,如果疏忽出现错误,还望各位指正。 堆排序(Heap Sort)概念 堆排序是一种基于堆数据结构的排序算法,其核心思想是将待排序的序列构建成一个最大堆(或最小…

从库延迟案例分析

背景介绍 近来一套业务系统,从库一直处于延迟状态,无法追上主库,导致业务风险较大。从资源上看,从库的CPU、IO、网络使用率较低,不存在服务器压力过高导致回放慢的情况;从库开启了并行回放;在从…