js埋点(转载)
页面埋点的作用,其实就是用于流量分析。而流量的意思,包含了很多:页面浏览数(PV)、独立访问者数量(UV)、IP、页面停留时间、页面操作时间、页面访问次数、按钮点击次数、文件下载次数等。而流量分析又有什么用处:
1、提高网站的转化率
根据页面埋点可得到一些重要信息,它告诉你用户对网站的反应,以及如何提高网站流量、改进网站性能,了解用户访问网站的行为,为更好地满足用户需求提供支持。
2、反应用户黏度
即使网站吸引了很多用户访问,但是通过流量分析发现,用户停留的时间非常短,重复访问用户不多,用户平均浏览的页面也少,这样的网站用户黏度不够,有流量但是没有忠实的用户,一旦有其它可替代网站,用户随时可能流失。这样的网站,如果不采取有效的运营措施,很难有长期发展的后劲。
3、为网站内容管理和网站的产品策划提供方向
通过流量分析,可以挖掘出整个网站哪个频道最有人气,频道之间的流量比例是多少,每个页面的流量是多少,哪个页面最受欢迎,每个页面中具体的哪个栏目点击量最高,这样通过对频道、栏目、页面的具体流量分析和对比,可以挖掘出用户的需求,发现用户最关心什么内容,这对评估网站频道、内容、页面的价值有重要的参考作用,也对网站内容下一步的优化有直接的参考意义。
埋点脚本:
借助新浪IP地址库,显示本地城市名称:
- <span style="font-size:12px"><script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js" type="text/ecmascript"></script>
- remote_ip_info.country
- remote_ip_info.province
- remote_ip_info.city</span>
获取客户端IP:
- <span style="font-size:12px"><script type="text/javascript" src="http://www.coding123.net/getip.ashx?js=1"></script></span>
获取用户的访问开始时间、访问结束时间、以及用户与网站的交互时间(当用户在网页无操作时间超过30秒,理解为离开网页),其中无操作包括:鼠标点击、移动、滑轮无操作,键盘无按键操作。
- <span style="font-size:12px">var start = new Date();
- var strStart = start.getFullYear()+"-"+(start.getMonth()+1)+"-"+start.getDate()+" "+
- start.getHours()+":"+start.getMinutes()+":"+start.getSeconds();
- var len = 0;
- var end;
- var status = "in";
- var second = 30;
- function revive(){
- if(status == "out"){
- start = new Date();
- status = "in";
- }
- second = 30;
- }
- window.setInterval(function(){
- second -= 1;
- if(0 == second){
- end = new Date();
- len += (end.getTime() - start.getTime())/1000;
- status = "out";
- }
- },1000);
- $(‘body‘).click(function(){
- revive();
- });
- $(‘body‘).mousedown(function(){
- revive();
- });
- $(‘body‘).mouseup(function(){
- revive();
- });
- $(‘body‘).mousemove(function(){
- revive();
- });
- //(Firefox)
- $(‘body‘).bind(‘DOMMouseScroll‘, function() {
- revive();
- });
- //(IE,Google)
- $(‘body‘).bind(‘mousewheel‘,function(){
- revive();
- });
- $(‘body‘).keydown(function(e){
- revive();
- });
- $(‘body‘).keyup(function(e){
- revive();
- });
- $(‘body‘).keypress(function(e){
- revive();
- });
- window.onbeforeunload = function(){
- end = new Date();
- var strEnd = end.getFullYear()+"-"+(end.getMonth()+1)+"-"+end.getDate()+" "+
- end.getHours()+":"+end.getMinutes()+":"+end.getSeconds();
- len += (end.getTime() - start.getTime())/1000;
- var img = new Image();
- img.src = contextPath + "behavior?stayTime=" + len + "&strStart" + strStart + "&lastDate=" + strEnd;
- };</span>
获取点击按钮:
- <span style="font-size:12px"><a onclick="return getid(this.id)"> 按钮</a>
- function getid(id) {
- var img = new Image();
- img.src = contextPath + "button?id=" + id;
- }</span>
获取搜索来源:
判断从哪个搜索工具找到你的网站,document.referrer(上级URL),这个可以获取到你上级页面,如果看到上级URL里面包含baidu,就可以粗略的判断是从百度访问的页面。
流量统计系统一般包括以下情况分析:
1、按在线情况分析
在线情况分析分别记录在线用户的活动信息,包括:来访时间、访客地域、来路页面、当前停留页面等,这些功能对企业实时掌握自身网站流量有很大的帮助。
2、按时段分析
时段分析提供网站任意时间内的流量变化情况.或者某一段时间到某一段时间的流量变化,比如小时段分布,日访问量分布,对于企业了解用户浏览网页的的时间段有一个很好的分析。
3、按来源分析
来源分析提供来路域名带来的来访次数、IP、独立访客、新访客、新访客浏览次数、站内总浏览次数等数据。这个数据可以直接让企业了解推广成效的来路,从而分析出那些网站投放的广告效果更明显。
以上这些网站分析技巧,为网络营销人员从不同方面分析网站运营的效果提供了方便,不过,这些基本统计信息本身所能反映的问题并不全面,有些隐性问题可能并非反映出来。对一些问题的深度分析,则需要考虑更多的因素,也可能涉及到更多的专业分析手段。
js埋点(转载)的更多相关文章
- JS埋点 小结
今天在看<大型网站性能监测.分析与优化>一书,提到性能监测方式,才知道有这个名词 “JS埋点”. 大概作用:通过在web页面中,添加js脚本,实现对页面性能监测(如加载时间.服务器响应时间 ...
- 网站js埋点
js埋点 1.埋点作用: 页面埋点的作用:其实就是用于流量分析.而流量的意思,包含了很多:页面浏览数(PV).独立访问者数量(UV).IP.页面停留时间.页面操作时间.页面访问次数.按钮点击次数.文 ...
- JS闭包(转载加整理)
原文地址:http://www.jb51.net/article/24101.htm 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 一.变量 ...
- js学习笔记—转载(闭包问题)
---恢复内容开始--- 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 一.变量的作用域 要理解闭包,首先必须理解Javascrip ...
- javascript深入理解js闭包(转载)
一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量 ...
- Node.js的优点和缺点(转载)
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:FengqiAsia链接:http://www.zhihu.com/question/19653241/answer/1599 ...
- 带你一分钟理解闭包--js面向对象编程(转载他人)
什么是闭包? 先看一段代码: function a(){ var n = 0; function inc() { n++; console.log(n); } inc(); inc(); } a(); ...
- 100个常用js代码(转载)
作者:小萧ovo链接:https://zhuanlan.zhihu.com/p/23076321来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. JavaScript定点 ...
- 数据采集之js埋点
一.后台nginx环境搭建 web点数据采集后台配置nginx:https://blog.csdn.net/weixin_37490221/article/details/80894827 下载数据源 ...
随机推荐
- python高级编程之选择好名称:完
由于时间关系,python高级编程不在放在这边进行学习了,如果需要的朋友可以看下面的网盘进行下载 # # -*- coding: utf-8 -*- # # python:2.x # __author ...
- STS(Spring Tool Suite)使用前准备
sts 的基础框架拿的eclipse的,你可以理解为eclipse + spring插件的高级升华版.在使用上可以很大限度的参考eclipse的操作. 首先,调整字体. 中文很麻烦的,因为编码问题.习 ...
- 跨服务器查询sql语句样例
若2个数据库在同一台机器上:insert into DataBase_A..Table1(col1,col2,col3----)select col11,col22,col33-- from Data ...
- 显示器 RUIGE瑞鸽高清显示器TL-S1700HD
版权声明:本文博客琅邪工作室原创文章,博客,未经同意不得转载.
- 如何在编译内核时添加缺少的固件(随着intel wireless 5100 AGN的 iwlwifi 案例)
我不知道你在笔记本使用 Linux 在内核编译无线wifi 不能用.我的书"关联 Y450"一个足够的旧书,随着无线网卡: $ lspci | grep Wireless 06:0 ...
- ASP.NET三层架构的分析
BLL 是业务逻辑层 Business Logic Layer DAL 是数据访问层 Data Access Layer ASP.NET的三层架构(DAL,BLL,UI ...
- 2个或多个datable类似于sql inner join 合并查询
public static DataTable DatableInnerJoin(DataTable FirstTB, DataTable SecondTB, DataColumn[] FJC, Da ...
- java进程
package com.process; public class ProcessTest { public static void main(String[] args) { new Proce ...
- javascript sort排序
var arr = [5,32,28,66,2,15,3]; arr.sort(function(a1,a2){ return a1-a2; //a2-a1 输入倒序 }); console.log( ...
- C++程序中不同变量、函数在内存中内存中的分布情况
一.一个C++编译的程序占用的内存分为以下几个部分 1.栈区:由编译器自动分配 存放函数的参数值,局部变量的值等,操作方式类似于数据结构中的栈. 2.堆区:一般由程序员分配释放,若程序员不释放,程序结 ...