数据统计之代码埋点

4 篇文章 0 订阅
订阅专栏

一  引言

数据统计平台,一般由数据采集,数据处理,数据存储,数据可视化,数据分析等部分组成,其中数据采集与处理是重中之重,只有及时,高效,准确的获取数据信息,才能正确的了解一个网站,一个软件的使用情况,做出可靠决策。

数据采集,因各个公司需求不同,其实现亦有所差异,不过,大体上可分为三种方案:

1、代码埋点——即在目标页面或事件中添加一小段js代码,向后端脚本异步发出伪请求,以实现基础信息统计。该方案简洁方便,能实现基本需求,而且在市场上也有百度统计,友盟这样方便的三方服务商,是绝大多数公司采用方案。

2、可视化埋点——即通过可视化工具配置采集节点,在前端自动解析配置并上报埋点数据,从而实现所谓的“无痕埋点”, 代表方案是已经开源的Mixpanel;

3、无埋点——它并不是真正的不需要埋点,而是前端自动采集全部事件并上报埋点数据,在后端数据计算时过滤出有用数据,代表方案是国内的GrowingIO

数据处理,是指针对公司业务,指定需要存储的数据和对应数据格式,以实现数据有效,直观,易于分析。

数据存储,由于统计数据存储量大,不宜采用常规数据库来存储,可采用hadoop实现。

数据可视化,换个名词,报表系统,更易于理解,可采用echart等三方实现。

数据分析,运维人员需要注意的事了,为公司战略指向提供可靠数据支持。

二、代码埋点

2.1 基于百度统计

第一步、注册或登录百度统计,并创建应用

第二步、获取代码,织入项目中

第三步、检测代码是否安装成功

第四步、查看数据分析

2.2 自实现

步骤:

1、通过浏览器内置javascript对象收集信息,如页面title(通过document.title)、referrer(上一跳url,通过document.referrer)【referrer 属性可返回载入当前文档的文档的 URL】、用户显示器分辨率(通过windows.screen)、cookie信息(通过document.cookie)以及一些公司需求信息(如用户信息,商品信息,访问接口等)。
           2、创建一个最基本的发送统计的发送函数,用于创建img(实现跨域),发送统计请求到数据采集平台(后台)。

3、解析http请求参数的信息,从服务器(WebServer)中获取一些客户端(前端)无法获取的信息,如访客ip等。然后将信息按格式写入log。最后生成一副1×1的空gif图片作为响应内容并将响应头的Content-type设为image/gif(可能需要在响应头中通过Set-cookie设置一些cookie信息)。

代码:

1、js埋点代码

<script type="text/javascript"> 
    var _maq = _maq || [];
    //添加所需统计信息
    _maq.push(['_setAccount', '网站标识']);
    (function() {
        var ma = document.createElement('script'); ma.type = 'text/javascript'; ma.async = true;
        //设置统计函数路径
        ma.src = ('https:' == document.location.protocol ? 'https://www' : 'http://www') + '.xxx.xxx/ma.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ma, s);
    })();     
</script>

2、统计函数

(function () {
    var params = {};

    //Document对象数据    
    if(document) {
        params.domain = document.domain || ''; 
        params.url = document.URL || ''; 
        params.title = document.title || ''; 
        params.referrer = document.referrer || ''; 
    }   

    //Window对象数据     
    if(window && window.screen) {
        params.sh = window.screen.height || 0;
        params.sw = window.screen.width || 0;
        params.cd = window.screen.colorDepth || 0;
    } 
  
    //navigator对象数据     
    if(navigator) {
        params.lang = navigator.language || ''; 
    }  
 
    //解析_maq配置     
    if(_maq) {
        for(var i in _maq) {
            switch(_maq[i][0]) {
                case '_setAccount':
                    params.account = _maq[i][1];
                    break;
                default:
                    break;
            }   
        }   
    }   

    //拼接参数串     
    var args = ''; 

    for(var i in params) {
        if(args != '') {
            args += '&';
        }   
        args += i + '=' + encodeURIComponent(params[i]);
    }   

    //通过Image对象请求后端脚本     var img = new Image(1, 1); 
    img.src = '后端脚本地址?' + args;
})();

 


 

 

vue项目前端点的实现
01-19
点方案的确定。业界的点方案主要分为以下三类: 代码点:在需要点的节点调用接口,携带数据上传。如百度统计等; 可视化点:使用可视化工具进行配置化的点,即所谓的「无痕点」,前端在页面加载时,可以读取配置数据,自动调用接口进行点。如开源的Mixpanel; 无点:前端自动采集全部事件并上报数据。如国内的神策数据等; 在当时排期紧凑,人力紧缺的情况下,显然不允许我们去开发可视化点方案和无点方案,所以只能采取代码点方案。 命令式点 命令式点,顾名思义,开发者需要手动在需要点的节点处进行点。如点击按钮或链接后的回调函数、页面ready时进行请求的发送。大
iOS利用Runtime实现友盟页面数据统计的功能示例
08-28
主要给大家介绍了关于iOS利用Runtime实现友盟页面数据统计功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
基于代码覆盖数据分析的代码去冗优化
02-26
目前正在做XX系统的冗余代码清理,系统瘦身,过程中整理的一些方法见下:其中几个关键的步骤:先用TCC对线上的xx应用的war包代码进行插装,然后部署插装后的代码到线上;运行一段时间(1-2周),采集到线上应用的真实的代码覆盖数据。然后对TCC采集的代码覆盖数据作为样本数据,进行分析:可以先确定class覆盖数据为0的文件。对这些文件应用点中心进行统计。关于点中心的详细用法及介绍见淘宝百科:点中心。关于为什么要用点中心对TCC的统计的样本数据进行二次确认?相信通过对比两个工具,就会知道答案了。两个工具的对比:所以,结合两个工具:TCC进行初步的样本筛选,然后用点中心进行精确的线上所
浅谈前端如何做无痕点?
weixin_42650595的博客
08-11 478
浅谈一下前端如何对 click 事件和 impression 事件做无痕
数据点】主流点方式了解
看花容易绣花难
10-24 4390
数据点】主流点方式了解
JavaScript 数据
12-16
Web JavaScript 点 SDK,是一款轻量级用于 Web 端和 H5 端的数据采集点 SDK。使用原生 JavaScript 技术实现代码点、全点、可视化全点、网页热力图和触达图等功能
代码
chjunjun的博客
11-12 2257
这里对点做个总结 1.何为代码点? 代码点就是在你需要统计的地方植入代码统计用户的行为,比如点击量、访客数、访问数、页面停留时间等。便于运营分析网站数据,进一步做优化。 2.点类型 2.1手动点 这种方法比较常见,RD通过在页面需要加点的地方添加代码,将监听的数据传送给server。 优点:可以在精准的地方得到数据信息。 ...
js
大鱼的博客
06-28 6445
一、定义 js点指的是在应用服务器中的每一个页面中都嵌入一段js脚本,使用户在访问页面时 自动触发js,收集用户访问行为日志,并提交到日志服务器。 二、统计指标 进行js点的目的是为了获取并统计网站时刻的访问信息,主要的需要的指标如下(当然不限于下面的指标): (1)pv(点击量) (2)uv(独立访客数) 伪代码: if(从cookie里获取的co_id==””)...
前端点需求(vue.js)
weixin_43695002的博客
01-18 3880
基于vue的前端点,完整实现,可直接copy
数据分析】设计点方案
weixin_43910456的博客
08-15 806
定义事件名称为"viewProductDetail",需要记录的参数有商品ID、用户ID、访问时间等。
Android代码-一个经过充分测试和线上验证的Android客户端自定义数据点SDK
08-06
在这个app都是千人千面,智能推荐,ab流量测试的时代, 一个可以根据BI部门的需求, 可以自有定制的 数据统计上报, 就显得非常重要. 目前, 市面上 做统计的第三方平台有很多, 比如最出名的Google的GTM统计,友盟统计等等....
app嵌入的H5页面的数据点总结
weixin_30347009的博客
02-27 1013
好久没写博客了,大半年时间花费在了许多杂事上。 最近1个月专门为H5页面的app开发了一些点功能,主要是考虑到以后的可复制性和通用型,由于不是前端开发出身,相对来说还是比较简陋的。 正题开始:H5页面的点主要涉及到的元素有a标签,button按钮,以及form表单的提交。 目前实现的功能基本还都是代码点的方式,但是相对来说比较简洁了,我这里主要是针对a标签和button的事件点。 ...
数据点----python
R418520的博客
08-02 1045
数据点 常用单词 document英 [ˈdɒkjumənt , ˈdɒkjument]文件;公文;文献; requirements英 [rɪˈkwaɪəmənts] 必要条件;必备的条件 access英 [ˈækses] 访问,存取(计算机文件); product英 [ˈprɒdʌkt] 产品;制品; designer英 [dɪˈzaɪnə(r)]设计者;构思者 business英 [ˈbɪznəs] 商业;商务; Intelligence英...
前端点实现及原理分析
热门推荐
肖的博客
01-01 2万+
正如在宏观介绍的博客中写到的,做用户行为分析的方式有“前端点”和“后端点”的区分,真好今天敲了一个坤哥整理的“前端点”的程序,理解了之后结合demo来简单讲解“前端点”如何做。 前端点原理图: 如上所示,从broswer到page,再到javascript以及后端backend,浏览器返回正常程序运行结果,本地文件中返回最终的log,这很像是在用户程序中下了一段“暗代码”,无形之中“...
神策数据点实操
jkhedge的博客
08-16 7399
神策数据点实操
点是什么?有什么作用?前端如何点?
weixin_40381947的博客
06-28 7198
点(tracking)是指在应用程序中插入代码或工具来记录某些事件的行为和属性,例如用户在应用中的点击、浏览、购买、注册等操作行为。这些数据可以被用来分析用户行为、优化产品功能、改进用户体验等。通过点,开发人员可以采集用户数据,并将其发送到后台以进行分析和存储。数据通常是跟踪、监测和分析网站或应用程序用户行为的重要组成部分。
js记录用户在网站的浏览记录和停留时间
weixin_34358365的博客
09-07 1908
by weber开发者 from http://weber.pub/ 本文地址: http://weber.pub/js记录用户行为浏览记录和停留时间/163.html 问题 公司想统计一个用户从进入官网到注册,这个流程该用户整个的浏览路线,在哪个页面停留的时间比较长,从而更有针对性的对客户行为进行分析,了解用户的真正需求。。。 虽然百度统计之类的也可以记录用户的浏览行为,但是这类统计是全...
前端JS点自定义采集数据方案
最新发布
qq_42513447的博客
08-29 620
统计某些特定页面的访问数据,进入该页面的入口,该页面下产品的加购、下单、支付数据,以此计算出加购率、下单率、支付率,分析转化率,形成图表等进行展示。查找了很多第三方数据追踪、统计工具,都没有完美适配需求的,最终敲定了原生实现的方案。在实现的过程中主要的难点就是如何正确记录这个操作链路以备后续提交数据,最终确定了一个方案,我称之为“入口生成id",核心就是只要进入新入口就生成新的操作链路id。记录操作链路最终使用了indexedDB + localStorage + sessionStorage的方案……
点JS自定义采集实现
11-02 1231
大家好,欢迎来到本篇博客,博主是一名刚入大数据行业的小白,利用空闲的时间来分享自己所学的知识,帮助和博主一样刚处于起步阶段的同学,水平不高,若有什么错误和纰漏之处恳请大佬不吝赐教,目前个人博客只有CSDN:https://zhenyu.blog.csdn.net/,感谢大家的支持,谢谢 送给大家一句话:今日事,今日毕 本篇博客主要讲解:点JS自定义采集实现 自定义采集实现设计实现确定收集信息确定代码前端数据收集脚本后端脚本日志格式日志切分系统环境部署自定义采集数据实现方案一:基本功能实现方案二.
数据采集点如何实现
06-11
2. 选择采集工具:选择一款合适的点采集工具,比如百度统计、Google Analytics、友盟等等。 3. 安装代码:将采集工具提供的代码嵌入到应用程序或网站的页面中,一般是在 HTML 的 head 标签中。 4. 配置...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 在线语音验证码 37173
  • Java基础四——面向对象思想 36734
  • 模拟select下拉框(简单粗暴又有效) 35670
  • Java实现在线模版预览和下载 34231
  • Idea进行远程Debug 33012

分类专栏

  • Redis深度学习
  • 常见开发问题 30篇
  • 面试总结 2篇

最新评论

  • Java实现在线模版预览和下载

    sw1227em: 你好,可以给下源码吗

  • Docker入门实战(四)——基于jenkins部署微服务

    社会小刚刚: 看完感觉很简单,搭建一遍报错看不懂,尴尬。求指导[code=html] [/code]Started by user admin Running as SYSTEM Building in workspace /root/workspace/istonecode Updating svn://122.9.156.48/xxxxxx/xxxxx/xxxxx/xx/V1.0 at revision '2022-01-11T12:35:44.818 +0800' --quiet Using sole credentials javaadmin/****** (SVN凭证) in realm ‘<svn://122.9.156.48:3690> /home/svn’ At revision 147 Triggering istonecode » default istonecode » default completed with result FAILURE Finished: FAILURE

  • WebMagic抓取阿里司法拍卖信息

    辉仔988: 我想一个法拍房的小程序电话V:13112728988何生

  • JAVA基础(一)——什么是java

    烨尧: 我的java个人心得,入门很重要,但是大多数人都搞错了方向,把入门变成了入土。。。: 第一.切记不要一上来就找一大本厚书看。这样你绝对会放弃。《Java核心技术》《Java编程思想》等都不适合入门阅读,很容易半途而废。 第二.先找一个入门级别的java教程看。网上有很多极简入门教程。例如runoob网站、w3cschool网站(它还有手机app)(上网搜一下关键词就有了)。我记得我一开始入门找的教程,知识面全而精炼简洁,含有基础、spring、Hibernate Servlet 等,地址如下仅供参考。https://how2j.cn/p/7245 第三.当你学完刚才那些网站之后,你应该此时对java有了一个整体的认识,那就去找一个小项目,GitHub很棒,https://github.com/上手练习,边做项目边查资料。进步会飞快。 第四.这个阶段再回头精读一些java经典书籍。获得内功上的提升。总之,一定要循序渐进,一点点学才是最正确的选择。个人愚见,仅供参考

  • 开发规范(一)——实体类

    Tisfy: 真棒!就像:想当年,金戈铁马,气吞万里如虎。

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 常见问题汇总(二十九)——关于字符处理
  • 记录一次华为特战队的机试题
  • MyBatis源码分析(一)——一级缓存和二级缓存
2020年1篇
2019年13篇
2018年89篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司石家庄营销型网站建设价格海北网站搭建哪家好海南优秀网站设计哪家好淮安模板推广公司朝阳网站设计模板公司滁州SEO按天计费公司信阳网站设计公司红河网站改版推荐临汾网站建设设计随州SEO按效果付费报价九江阿里店铺托管哪家好深圳网页制作多少钱爱联网络推广价格西乡高端网站设计价格黄南网站优化软件哪家好哈密百姓网标王价格甘南外贸网站设计多少钱盐城网站搜索优化迁安网站搜索优化价格甘南网站优化软件报价临沂网站关键词优化推荐南昌网站推广公司龙华关键词排名公司遵义阿里店铺运营推荐肇庆网页制作价格兰州百搜标王推荐汕尾网站排名优化邢台网站优化推荐抚顺SEO按天扣费报价梧州网站优化软件报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化