Showing
1 changed file
with
231 additions
and
224 deletions
1 | -网页端数据采集的设计思路和规范 | ||
2 | -------------- | ||
3 | -### 项目命名 | ||
4 | - | ||
5 | -YAS (YOHO! Acquisition System) YOHO!采集系统的前端js的开发包,用于在网页端采集信息(应用信息,用户信息,用户行为信息,浏览器及其系统信息)。 | ||
6 | - | ||
7 | -### 概述 | ||
8 | - | ||
9 | -浏览器端的数据采集的嵌码,主要是两种:一种是通过JS生成cookies作为访客唯一标示,通过JS的能力获取网页端的一些数据,定时发起Ajax请求或者img图片,异步发送数据到服务端,在一些不支持JS的客户端采用嵌入一个透明1像素图片,在打开图片时被动的发起获取图片的HTTP请求(中间可以加一些http的传参)。 | ||
10 | - | ||
11 | -> 第一种方式:可以通过JS采集的内容和频次较为丰富和灵活。 | ||
12 | - | ||
13 | -> 第二种方式:只能通过图片的请求在服务端进行对HTTP的解析获取有限的内容。 | ||
14 | - | ||
15 | - | ||
16 | -### 使用场景 | ||
17 | - | ||
18 | -这两种的使用场景:分别是浏览器和不解析JS的邮件客户端。 | ||
19 | - | ||
20 | -### 关于嵌入图片 | ||
21 | - | ||
22 | -图片采集方式:客户端实现较为简单,只需要嵌入一个 `<img src="http://a.yoho.cn/a.gif"/>` 即可,不在本项目重点实现的内容,需要服务端获取get请求的自定义参数以及http headers,按照一定格式存储即可。 | ||
23 | - | ||
24 | -### JS嵌码部分,百度和谷歌传参规范 | ||
25 | - | ||
26 | -> 百度:http://hm.baidu.com/hm.gif?cc=1&ck=1&cl=24-bit&ds=1920x1080&ep=55400151%2C12430&et=3&fl=16.0&ja=1&ln=zh-CN&lo=0<=1421118345&nv=0&rnd=110278964&si=c816cea5705c8a8d992e813549e4780f&st=4&v=1.0.75&lv=2&u=http%3A%2F%2Fwww.yohoboys.com%2Fwhatever-cn-zh-hk-web.html | ||
27 | - | ||
28 | -``` | ||
29 | -cc:1 | ||
30 | - | ||
31 | -ck:1//是否支持cookies | ||
32 | - | ||
33 | -cl:24-bit //色彩深度 | ||
34 | - | ||
35 | -ds:1920x1080 //屏幕尺寸 | ||
36 | - | ||
37 | -ep:55400151,12430 //页面载入时长 | ||
38 | - | ||
39 | -et:3 | ||
40 | - | ||
41 | -fl:16.0//flash版本 | ||
42 | - | ||
43 | -ja:1 | ||
44 | - | ||
45 | -ln:zh-CN //语言 | ||
46 | - | ||
47 | -lo:0 | ||
48 | - | ||
49 | -lt:1421118345//首次访问时间 | ||
50 | - | ||
51 | -nv:0 | ||
52 | - | ||
53 | -rnd:110278964//随机数 | ||
54 | - | ||
55 | -si:c816cea5705c8a8d992e813549e4780f//统计ID | ||
56 | - | ||
57 | -st:4 | ||
58 | - | ||
59 | -v:1.0.75//监控代码版本 | ||
60 | - | ||
61 | -lv:2 | ||
62 | - | ||
63 | -u:http://www.yohoboys.com/whatever-cn-zh-hk-web.html//url | ||
64 | - | ||
65 | -``` | ||
66 | - | ||
67 | -> GA:http://www.google-analytics.com/r/collect?v=1&_v=j32&a=842371998&t=pageview&_s=1&dl=http%3A%2F%2Fwww.yohoboys.com%2Fwhatever-cn-zh-hk-web.html&ul=zh-cn&de=UTF-8&dt=Yoho!Boys%20%7C%20We%20love%20to%20Play%20%26%20Learn&sd=24-bit&sr=1920x1080&vp=1903x955&je=1&fl=16.0%20r0&_u=MACAAEQBI~&jid=2128925385&cid=1603005881.1414387412&tid=UA-52595809-1&_r=1&z=1237056998 | ||
68 | - | ||
69 | -``` | ||
70 | -v:1 | ||
71 | - | ||
72 | -_v:j32 | ||
73 | - | ||
74 | -a:842371998 | ||
75 | - | ||
76 | -t:pageview//跟踪类型 | ||
77 | - | ||
78 | -_s: | ||
79 | - | ||
80 | -dl:http://www.yohoboys.com/whatever-cn-zh-hk-web.html//url | ||
81 | - | ||
82 | -ul:zh-cn//语言 | ||
83 | - | ||
84 | -de:UTF-8 //编码 | ||
85 | - | ||
86 | -dt:Yoho!Boys | We love to Play & Learn //title | ||
87 | - | ||
88 | -sd:24-bit //屏幕色彩深度 | ||
89 | - | ||
90 | -sr:1920x1080 //屏幕尺寸 | ||
91 | - | ||
92 | -vp:1903x955 //实际可视尺寸 | ||
93 | - | ||
94 | -je:1 | ||
95 | - | ||
96 | -fl:16.0 r0//flash版本 | ||
97 | - | ||
98 | -_u:MACAAEQBI~ | ||
99 | - | ||
100 | -jid:2128925385 | ||
101 | - | ||
102 | -cid:1603005881.1414387412//统计访客ID | ||
103 | - | ||
104 | -tid:UA-52595809-1//跟踪ID | ||
105 | - | ||
106 | -_r:1 | ||
107 | - | ||
108 | -z:1237056998 | ||
109 | - | ||
110 | -``` | ||
111 | - | ||
112 | -### 根据现有数据分析嵌码,我们需要实现什么? | ||
113 | - | ||
114 | -这个SDK主要用于web页面的浏览器或客户端的数据采集,包含应用信息,用户信息,浏览器及其系统信息 | ||
115 | - | ||
116 | -#### 应用数据(Appliaction Info)可以采集的项: | ||
117 | - | ||
118 | ---------------- | ||
119 | -| **名称** | **说明** | **缩写** | | ||
120 | -|----|----|----| | ||
121 | -| host | 主机名 | h | | ||
122 | -| port | 端口 | p | | ||
123 | -| url |链接 | u | | ||
124 | -| anchor | 锚点 | a| | ||
125 | -| code | 编码 | c | | ||
126 | -| loadFinishTime | 加载时长 | ft| | ||
127 | -| title |标题 | dt| | ||
128 | - | ||
129 | -#### 用户信息(Customer Info)可以采集的项: | ||
130 | - | ||
131 | ---------------- | ||
132 | -| **名称** | **说明** | **缩写** | | ||
133 | -|----|----|----| | ||
134 | -| client_id | 访客唯一标示 | cd | ||
135 | -| uid | 会员ID | ud | | ||
136 | -| referer | 来源 |rf| | ||
137 | -| lasttime|上次访问时间|lt | | ||
138 | -| mousePosition | 鼠标位置 | mp | | ||
139 | -| event | 用户页面事件 | ev | | ||
140 | -| scrollTop | 页面滚动 | st | | ||
141 | - | ||
142 | -#### 浏览器信息(Browser Info) | ||
143 | - | ||
144 | ---------------- | ||
145 | -| **名称** | **说明** | **缩写** | | ||
146 | -|----|----|----| | ||
147 | -| screenWidthxscreenHeight | 屏幕宽度x屏幕高度 | sr | | ||
148 | -| windowWidthxwindowHeight | 窗口宽度x窗口高度 | wr| | ||
149 | -| screenDepth | 屏幕色深 | sd | | ||
150 | -| language | 语言 | ln | | ||
151 | -| browserVersion | 浏览器信息| bv | | ||
152 | -| systemInfo |操作系统信息|sy| | ||
153 | -| cookiesEnabled |cookies是否启用|ce| | ||
154 | -| flashVersion | flash版本 | fv| | ||
155 | - | ||
156 | - | ||
157 | - | ||
158 | -### 自定义跟踪 | ||
159 | - | ||
160 | -主要有两种方式:自定义调用方法和自定义页面元素标志属性 | ||
161 | - | ||
162 | -自定义调用方法传参列表` _yas.add('event/page','type/url','action','label','value') `。 | ||
163 | - | ||
164 | ----- | ||
165 | -| **参数名** | **说明** | **范例** | | ||
166 | -|----|----|----| | ||
167 | -| trackType | 跟踪类型;event页面事件,page页面点击| event| | ||
168 | -| input | 输入类型,如果是event,设置类型,如果是page则是点击的链接或者标示输入| nav| | ||
169 | -| action | 动作| click| | ||
170 | -| label | 设置标签,统计维度 | show| | ||
171 | -| value | 标签数值,统计值 | prize| | ||
172 | - | ||
173 | - | ||
174 | -### 配置参数 | ||
175 | - | ||
176 | -主要参数有:定时采集频次,SDK版本信息,采集应用跟踪编码 | ||
177 | - | ||
178 | -```javascript | ||
179 | -( | ||
180 | - function(w,d,s,j) | ||
181 | - { | ||
182 | - var a=d.createElement(s), | ||
183 | - var m=d.getElementsByTagName(s)[0]; | ||
184 | - a.async=1; | ||
185 | - a.src=j; | ||
186 | - m.parentNode.insertBefore(a,m); | ||
187 | - } | ||
188 | - )(window,document,'script','//ya.yoho.cn/ya.js'); | ||
189 | - | ||
190 | -_yas(45,'1.0','ds6das2kkj'); | ||
191 | - | ||
192 | -``` | ||
193 | - | ||
194 | - | ||
195 | -### 发送采集数据的方式: | ||
196 | - | ||
197 | -Ajax方式和img标签方式,Ajax主要用于用户行为数据收集,img方式的第一次记录应用信息,访客标示,浏览器信息。 | ||
198 | - | ||
199 | -一次性发送信息:浏览器信息(Browser Info),应用数据(Appliaction Info), | ||
200 | -部分用户信息 | ||
201 | - | ||
202 | -> 1. client_id(访客唯一标示) | ||
203 | -> 2. uid(会员ID) | ||
204 | -> 3. referer(来源) | ||
205 | -> 4. lasttime(上次访问时间) | ||
206 | - | ||
207 | -定时发送信息: | ||
208 | - | ||
209 | -自定义跟踪信息,部分用户信息 | ||
210 | - | ||
211 | -> 5. mousePosition(鼠标位置) | ||
212 | -> 6. event(用户页面事件) | ||
213 | -> 7. scrollTop(页面滚动) | ||
214 | - | ||
215 | - | ||
216 | -### 定时采集频次 | ||
217 | - | ||
218 | -1. 默认30s发送一次用户数据 | ||
219 | -2. 当用户打开页面发送一次请求,同时记录用户数据 | ||
220 | -3. 当用户关闭浏览器,在浏览器端记录持久化,下次打开页面一并发送 | ||
221 | - | ||
222 | -### 关于session需要在服务端进行维护和记录 | ||
223 | - | ||
224 | -服务端根据客户端记录的访客标示,生成一个session会话,用于记录访问时长。 | 1 | +网页端数据采集的设计思路和规范 |
2 | +------------- | ||
3 | +### 项目命名 | ||
4 | + | ||
5 | +YAS (YOHO! Acquisition System) YOHO!采集系统的前端js的开发包,用于在网页端采集信息(应用信息,用户信息,用户行为信息,浏览器及其系统信息)。 | ||
6 | + | ||
7 | +### 概述 | ||
8 | + | ||
9 | +浏览器端的数据采集的嵌码,主要是两种:一种是通过JS生成cookies作为访客唯一标示,通过JS的能力获取网页端的一些数据,定时发起Ajax请求或者img图片,异步发送数据到服务端,在一些不支持JS的客户端采用嵌入一个透明1像素图片,在打开图片时被动的发起获取图片的HTTP请求(中间可以加一些http的传参)。 | ||
10 | + | ||
11 | +> 第一种方式:可以通过JS采集的内容和频次较为丰富和灵活。 | ||
12 | + | ||
13 | +> 第二种方式:只能通过图片的请求在服务端进行对HTTP的解析获取有限的内容。 | ||
14 | + | ||
15 | + | ||
16 | +### 使用场景 | ||
17 | + | ||
18 | +这两种的使用场景:分别是浏览器和不解析JS的邮件客户端。 | ||
19 | + | ||
20 | +### 关于嵌入图片 | ||
21 | + | ||
22 | +图片采集方式:客户端实现较为简单,只需要嵌入一个 `<img src="http://a.yoho.cn/a.gif"/>` 即可,不在本项目重点实现的内容,需要服务端获取get请求的自定义参数以及http headers,按照一定格式存储即可。 | ||
23 | + | ||
24 | +### JS嵌码部分,百度和谷歌传参规范 | ||
25 | + | ||
26 | +> 百度:http://hm.baidu.com/hm.gif?cc=1&ck=1&cl=24-bit&ds=1920x1080&ep=55400151%2C12430&et=3&fl=16.0&ja=1&ln=zh-CN&lo=0<=1421118345&nv=0&rnd=110278964&si=c816cea5705c8a8d992e813549e4780f&st=4&v=1.0.75&lv=2&u=http%3A%2F%2Fwww.yohoboys.com%2Fwhatever-cn-zh-hk-web.html | ||
27 | + | ||
28 | +``` | ||
29 | +cc:1 | ||
30 | + | ||
31 | +ck:1//是否支持cookies | ||
32 | + | ||
33 | +cl:24-bit //色彩深度 | ||
34 | + | ||
35 | +ds:1920x1080 //屏幕尺寸 | ||
36 | + | ||
37 | +ep:55400151,12430 //页面载入时长 | ||
38 | + | ||
39 | +et:3 | ||
40 | + | ||
41 | +fl:16.0//flash版本 | ||
42 | + | ||
43 | +ja:1 | ||
44 | + | ||
45 | +ln:zh-CN //语言 | ||
46 | + | ||
47 | +lo:0 | ||
48 | + | ||
49 | +lt:1421118345//首次访问时间 | ||
50 | + | ||
51 | +nv:0 | ||
52 | + | ||
53 | +rnd:110278964//随机数 | ||
54 | + | ||
55 | +si:c816cea5705c8a8d992e813549e4780f//统计ID | ||
56 | + | ||
57 | +st:4 | ||
58 | + | ||
59 | +v:1.0.75//监控代码版本 | ||
60 | + | ||
61 | +lv:2 | ||
62 | + | ||
63 | +u:http://www.yohoboys.com/whatever-cn-zh-hk-web.html//url | ||
64 | + | ||
65 | +``` | ||
66 | + | ||
67 | +> GA:http://www.google-analytics.com/r/collect?v=1&_v=j32&a=842371998&t=pageview&_s=1&dl=http%3A%2F%2Fwww.yohoboys.com%2Fwhatever-cn-zh-hk-web.html&ul=zh-cn&de=UTF-8&dt=Yoho!Boys%20%7C%20We%20love%20to%20Play%20%26%20Learn&sd=24-bit&sr=1920x1080&vp=1903x955&je=1&fl=16.0%20r0&_u=MACAAEQBI~&jid=2128925385&cid=1603005881.1414387412&tid=UA-52595809-1&_r=1&z=1237056998 | ||
68 | + | ||
69 | +``` | ||
70 | +v:1 | ||
71 | + | ||
72 | +_v:j32 | ||
73 | + | ||
74 | +a:842371998 | ||
75 | + | ||
76 | +t:pageview//跟踪类型 | ||
77 | + | ||
78 | +_s: | ||
79 | + | ||
80 | +dl:http://www.yohoboys.com/whatever-cn-zh-hk-web.html//url | ||
81 | + | ||
82 | +ul:zh-cn//语言 | ||
83 | + | ||
84 | +de:UTF-8 //编码 | ||
85 | + | ||
86 | +dt:Yoho!Boys | We love to Play & Learn //title | ||
87 | + | ||
88 | +sd:24-bit //屏幕色彩深度 | ||
89 | + | ||
90 | +sr:1920x1080 //屏幕尺寸 | ||
91 | + | ||
92 | +vp:1903x955 //实际可视尺寸 | ||
93 | + | ||
94 | +je:1 | ||
95 | + | ||
96 | +fl:16.0 r0//flash版本 | ||
97 | + | ||
98 | +_u:MACAAEQBI~ | ||
99 | + | ||
100 | +jid:2128925385 | ||
101 | + | ||
102 | +cid:1603005881.1414387412//统计访客ID | ||
103 | + | ||
104 | +tid:UA-52595809-1//跟踪ID | ||
105 | + | ||
106 | +_r:1 | ||
107 | + | ||
108 | +z:1237056998 | ||
109 | + | ||
110 | +``` | ||
111 | + | ||
112 | +### 根据现有数据分析嵌码,我们需要实现什么? | ||
113 | + | ||
114 | +这个SDK主要用于web页面的浏览器或客户端的数据采集,包含应用信息,用户信息,浏览器及其系统信息 | ||
115 | + | ||
116 | +#### 应用数据(Appliaction Info)可以采集的项: | ||
117 | + | ||
118 | +--------------- | ||
119 | +| **名称** | **说明** | **缩写** | | ||
120 | +|----|----|----| | ||
121 | +| tid|跟踪ID|td| | ||
122 | +| vid|访问ID|vd| | ||
123 | +| host | 主机名 | h | | ||
124 | +| port | 端口 | p | | ||
125 | +| url |链接 | u | | ||
126 | +| anchor | 锚点 | a| | ||
127 | +| code | 编码 | c | | ||
128 | +| loadFinishTime | 加载时长 | ft| | ||
129 | +| title |标题 | dt| | ||
130 | + | ||
131 | +#### 用户信息(Customer Info)可以采集的项: | ||
132 | + | ||
133 | +--------------- | ||
134 | +| **名称** | **说明** | **缩写** | | ||
135 | +|----|----|----| | ||
136 | +| client_id | 访客唯一标示 | cd | ||
137 | +| uid | 会员ID | ud | | ||
138 | +| referer | 来源 |rf| | ||
139 | +| lasttime|上次访问时间|lt | | ||
140 | +| mousePosition | 鼠标位置 | mp | | ||
141 | +| event | 用户页面事件 | ev | | ||
142 | +| scrollTop | 页面滚动 | st | | ||
143 | + | ||
144 | +#### 浏览器信息(Browser Info) | ||
145 | + | ||
146 | +--------------- | ||
147 | +| **名称** | **说明** | **缩写** | | ||
148 | +|----|----|----| | ||
149 | +| screenWidthxscreenHeight | 屏幕宽度x屏幕高度 | sr | | ||
150 | +| windowWidthxwindowHeight | 窗口宽度x窗口高度 | wr| | ||
151 | +| screenDepth | 屏幕色深 | sd | | ||
152 | +| language | 语言 | ln | | ||
153 | +| browserVersion | 浏览器信息| bv | | ||
154 | +| systemInfo |操作系统信息|sy| | ||
155 | +| cookiesEnabled |cookies是否启用|ce| | ||
156 | +| flashVersion | flash版本 | fv| | ||
157 | + | ||
158 | + | ||
159 | + | ||
160 | +### 自定义跟踪 | ||
161 | + | ||
162 | +主要有两种方式:自定义调用方法和自定义页面元素标志属性 | ||
163 | + | ||
164 | +自定义调用方法传参列表`<a href='aa' onclick="_yas.add('event/page','type/url','action','label','value')" > index </a> `。 | ||
165 | + | ||
166 | +自定义页面元素标志属性`<a href='aa' _yas_trackType='event' _yas_input='nav' _yas_action='click' _yas_label='show' _yas_val='prize' >index</a>` | ||
167 | + | ||
168 | +---- | ||
169 | +| **参数名** | **说明** | **范例** | | ||
170 | +|----|----|----| | ||
171 | +| trackType | 跟踪类型;event页面事件,page页面点击| event| | ||
172 | +| input | 输入类型,如果是event,设置类型,如果是page则是点击的链接或者标示输入| nav| | ||
173 | +| action | 动作| click| | ||
174 | +| label | 设置标签,统计维度 | show| | ||
175 | +| value | 标签数值,统计值 | prize| | ||
176 | + | ||
177 | + | ||
178 | +### 配置参数 | ||
179 | + | ||
180 | +主要参数有:定时采集频次,SDK版本信息,采集应用跟踪编码 | ||
181 | + | ||
182 | +```javascript | ||
183 | +( | ||
184 | + function(w,d,s,j) | ||
185 | + { | ||
186 | + var a=d.createElement(s), | ||
187 | + var m=d.getElementsByTagName(s)[0]; | ||
188 | + a.async=1; | ||
189 | + a.src=j; | ||
190 | + m.parentNode.insertBefore(a,m); | ||
191 | + } | ||
192 | + )(window,document,'script','//ya.yoho.cn/ya.js'); | ||
193 | + | ||
194 | +_yas(45,'1.0','ds6das2kkj'); | ||
195 | + | ||
196 | +``` | ||
197 | + | ||
198 | + | ||
199 | +### 发送采集数据的方式: | ||
200 | + | ||
201 | +Ajax方式和img标签方式,Ajax主要用于用户行为数据收集,img方式的第一次记录应用信息,访客标示,浏览器信息。 | ||
202 | + | ||
203 | +一次性发送信息:浏览器信息(Browser Info),应用数据(Appliaction Info), | ||
204 | +部分用户信息 | ||
205 | + | ||
206 | + | ||
207 | +> * viewId(当次访问页面的ID) | ||
208 | +> 1. client_id(访客唯一标示) | ||
209 | +> 2. uid(会员ID) | ||
210 | +> 3. referer(来源) | ||
211 | +> 4. lasttime(上次访问时间) | ||
212 | + | ||
213 | +定时发送信息: | ||
214 | + | ||
215 | +自定义跟踪信息,部分用户信息 | ||
216 | + | ||
217 | +> * viewId(当次访问页面的ID) | ||
218 | +> 5. mousePosition(鼠标位置) | ||
219 | +> 6. event(用户页面事件) | ||
220 | +> 7. scrollTop(页面滚动) | ||
221 | + | ||
222 | + | ||
223 | +### 定时采集频次 | ||
224 | + | ||
225 | +1. 默认30s发送一次用户数据 | ||
226 | +2. 当用户打开页面发送一次请求,同时记录用户数据 | ||
227 | +3. 当用户关闭浏览器,在浏览器端记录持久化,下次打开页面一并发送 | ||
228 | + | ||
229 | +### 关于session需要在服务端进行维护和记录 | ||
230 | + | ||
231 | +服务端根据客户端记录的访客标示,生成一个session会话,用于记录访问时长。 |
-
Please register or login to post a comment