前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数字基建系列(一)数分如何参与埋点工作

数字基建系列(一)数分如何参与埋点工作

作者头像
HsuHeinrich
发布2023-02-24 20:07:16
6780
发布2023-02-24 20:07:16
举报
文章被收录于专栏:HsuHeinrich

数字基建系列(一)数分如何参与埋点工作

正如开篇所说,分析师应该协同产研一起进入埋点工作中。由于大部分公司的埋点系统或平台都不太一致,这里也仅以笔者的经验进行简单分享。首先,埋点的整体流程大同小异,产品过稿-->埋点设计-->埋点开发-->埋点测试与验收-->上线后统计需求。

产品过稿

产品过稿是了解埋点需求的最直接方式,在这期间你需要仔细理解产品稿的业务逻辑,并在脑中形成埋点数据框架,有疑问需及时提出。一般产品并不会特别清楚最终需要统计哪些数据,因此就会要求数分将所有可能的点都埋上。

这个时候有人可能就会疑惑了,那全埋了工作量岂不是很大;没埋全到时候出不了数怎么办。其实日常业务常见的统计需求就是点击率,因此产品稿的所有点击事件都需要埋上,每个点击事件都会对应着一个曝光,但大多数情况下曝光都是公用的或着可替代的,所以对于曝光事件只需要埋上典型性的和特异性的即可。

除此之外,还需要关注是否有特别强调的点或者关于时间长度的点,这类点也是必埋的。下面是一个简单的首页-meTab优化产品稿,为了避免不必要的麻烦,这里隐去了公司的信息;为了简化,这里隐去了不必要的信息。

可以看到,黄色标注点为此次改动,改动细节如右边的详细信息。因为隐去了一些信息,所以接下来的埋点设计只关注个人信息的状态、头像、昵称;VIP状态、运营banner位、底部tab【我】。

个人主页产品稿优化

埋点设计

根据产品稿厘清业务逻辑,然后设计出相关的埋点文档交由研发进行开发。常见的以三段式【事件类型/页面/事件】和四段式【事件类型/页面/模块/事件】为主,但对于后续开发和统计都没有影响,因此可根据个人逻辑理解进行设计。需要注意的是埋点命名采用驼峰命名,且需要记录主要参数。

URL

页面

说明

参数

备注

/event/homePage/enter

首页

进入页面

login_status(0:未登陆,1:已登陆)

已有点,新增参数login_status

/click/homePage/Button/me

首页-底栏

点击底栏-我

login_status

已有点,新增参数login_status

/event/me/enter

个人主页

进入页面

login_statusme_vip_type(0:VIP已过期,1:立即开通,2:某日到期,3:今天到期,4:某某某)

已有点,新增参数me_vip_type

/click/me/nickName

个人主页

点击昵称

login_status,me_vip_type

/click/me/myPic

个人主页

点击个人头像

login_status,me_vip_type

/event/bannSDK/show

banner位

banner曝光

poseid,activityid等

沿用banner设计,特殊埋点仅供分享使用

/click/bannSDK/click

banner位

banner点击

poseid,activityid等

上面案例可以看出,有些埋点已经存在但需要新增一些参数,这时候需要在文档中进行备注提醒,防止埋点重复开发并造成新旧埋点断层。这就引出了埋点管理的一个难题,多人协作时,如何确认该埋点是否已存在。一般在埋点体系不完善的情况下,都是手动测试一遍。

像一些特殊的埋点,例如banner位等都是单独设计的,内部通过一些参数区分banner的内容和位置。且大多数banner是H5页面的,所以这里加上banner的埋点也是为了方便介绍下面的埋点测试。

埋点开发

这个环节是由研发进行的,但在开发过程中经常会有一些问题需要数分及时解答,例如定义错误、参数不明确等,因此一个优秀的埋点文档能极大的提高双方的效率。

埋点测试

埋点开发完以后,就需要数分进行测试和验收了。常见的埋点分为客户端埋点和H5(前端)埋点,客户端又分为安卓和iOS。一般情况下,安卓采用ADB测试,iOS采用mac控制台测试,H5页面采用charles抓包

⚠️注意:下述配置方式为MAC,Windows电脑可自行查找相关内容。

安卓-ADB测试 安装:安装xcode和Homebrew,然后通过终端执行命令brew cask install android-platform-tools 连接:打开开发者模式,连接安卓设备和mac,输入adb devices 命令即可。具体如下:

  • 打开 Android 设备的系统设置,在设置列表末尾点击「开发者选项」(如果没找到「开发者选项」,需要先进去「关于手机」连续点击7次「版本号」(MIUI为「MIUI版本」)直至提示「开发者模式已启用」)
  • 启用开发者模式,打开 「USB 调试」,数据线连接 Android 设备和 你的 Mac 电脑
  • 在 Android 设备上允许调试,USB 连接选择 「文件传输」/「MTP传输」/「媒体设备传输」,只要不是选「仅充电」就行了
  • 在 Mac 的终端中再次输入 adb devices 命令,如果 List of devices attached 下方出现了你的设备,说明连接成功

测试:在终端输入adb logcat | grep "keyName"即可。

  • 其中【keyName】为APP埋点关键字,过滤掉非测试埋点的日志。
  • 在设备上进行相关操作(例如滑动、点击等),有埋点的相关信息则会出现在终端屏幕上

⚠️注意:配置是一次性的。首次配置后,只需要连接电脑和手机,打开调试模式,终端输入adb logcat | grep "keyName"即可

iOS-MAC控制台 连接:从启动台找到控制台程序打开,数据线连接 ISO设备和你的 Mac 电脑,选择信任,选择当前设备名称即可。 测试:在搜索栏输入keyName即可过滤非测试埋点的日志,后续测试方式同安卓。

H5-charles 安装:官网下载[1]后,直接安装即可 连接:打开charles,安装根证书,设置代理即可

  • mac安装根证书:Help -> SSL Proxying -> Install Charles Root Certificate。安装完成后双击该证书进行信任设置为"始终信任"。(也可搜索钥匙串访问进入查看所有证书,双击Charles相关证书进行信任设置)
  • 移动设备安装根证书:Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or a Remote Browser会弹出提示,然后在移动设备浏览器输入提示中的url即可下载。下载完成后可在描述文件中找到相关证书进行信任设置
  • 设置代理:
    • charles设置:Proxy->Proxy Setting在Proxies界面设置端口号为8888,并点选Enable transparent HTTP proxying。
    • Proxy->SSL Proxying Setting在SSL Proxying界面增加域名,一般为公司指定前缀,若测试时"keyName"能区分到测试埋点,也可设置为任意域名*:*
    • 获取电脑ip:在终端输入ifconfig en0即可在输出信息的关键字inet后查到本机IP地址。(Charles也能查询本机地址,但有时候由于内部VPN的关系使得IP地址不正确,所以不建议通过Charles查找)
    • 设置手机代理:长按wifi名进入网络设置,选择配置代理->手动,服务器填上获取到的电脑IP地址,端口填Proxy Setting设置的8888。

    测试:在Filter栏输入keyName即可过滤非测试埋点的日志,然后测试H5相关的埋点即可。 ⚠️注意:

  • 证书安装和代理设置都是一次性的,首次配置后,只需要打开charles,在手机上设置代理的IP地址和端口即可
  • charles也可测试客户端埋点,但时效性较差
  • 这些基础足以应付日常测试,复杂的测试建议请求测试同学帮助。其他charles操作可参考Charles抓包[2]

由于埋点测试含有公司信息,为了避免不必要的麻烦,就不截图展示了。测试过程重点关注上报机制是否正确,例如曝光的时机是在全露出还是只要露出一点就算;参数是否正确,有没有缺失等;url是否正确,有无拼写错误等。当所有埋点都正常测试到即可验收了,后续等待研发上线即可。

数据统计

当埋点正式上线后,则可以在相关线上日志表中根据url统计需求数据。如果在统计数据过程中发现埋点异常、丢失或需要增加额外埋点。都需要和产研沟通,在下个版本修复或增加。H5埋点不跟版,可优先修改。

总结

本文主要是帮助没有埋点经历的同学对埋点工作有个大致的理解,而有过埋点经历的同学则入乡随俗,以当前公司标准为主。

共勉~

参考资料

[1]

官网下载: https://www.charlesproxy.com/download/

[2]

Charles抓包: https://www.jianshu.com/p/e19a62c23789

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HsuHeinrich 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数字基建系列(一)数分如何参与埋点工作
    • 产品过稿
      • 埋点设计
        • 埋点开发
          • 埋点测试
            • 数据统计
              • 总结
                • 参考资料
            相关产品与服务
            VPN 连接
            VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档