# 数据采集
在 we 分析控制台可以免费启用体验分析,无需更改一行代码即可自动采集数据和拥有完整分析能力,也可自定义上报用户 ID、属性和自定义事件。
当需进行更精细化的人群分析时(如进行 abtest、看不同渠道来源、会员/非会员人群的转化和热力对比等等),关联更多业务数据可以获得更多洞察,此时可以自定义上报业务自定义事件和标记自定义的用户属性/ID,在可视化日志、热力图、转化分析中都有提供丰富的人群筛选和对比功能。
# 小程序
开通后即开始自动采集数据。默认自动采集的数据足以支持可视化日志、热力图、转化分析等各个分析模块的使用。也建议使用小程序接口 按需上报自定义用户 ID、用户属性、和自定义事件,从而可以进行更精细化的人群分析和事件分析。
注:
- 当用户退出小程序至后台超过 30 分钟,再回到小程序 (且场景值不为1089) 后,系统会自动结束上次采集,重新开启新的采集。在管理端将看到两条不同的可视化日志。
# Web 项目
新建 Web 项目后,进入项目,选择“设置->采集配置”,即可看到接入代码,将接入代码写入到要接入 web 项目的 index.html 文件中即可。不需额外操作即可自动采集数据。Web SDK 文档
# web 端跨域采集
跨域采集允许您在主域和一个或多个副域之间采集可视化日志。这在以下情况下特别有用:
- 用户在多个相关网站间导航。
- 一个应用跨多个子域运行,需要一致的用户追踪和行为分析。
在实现上,跨域采集通过URL参数传递可视化日志信息,并在目标域中解析和应用这些信息。这样确保了用户在主域和副域间的行为能够被连贯地追踪和分析。
# 示例
假设您有一个在www.example1.com运行的主应用和一个在www.example2.com运行的副应用。以下是如何使用跨域采集功能的步骤:
- 在主域中启动采集:
// 在www.example1.com中
if (window.__wxobs__) {
window.__wxobs__.setup({ /* 初始化参数 */ });
}
- 生成跳转到副域的链接:
// 仍在www.example2.com中
let auxiliaryDomainInfo = '';
if (window.__wxobs__ && window.__wxobs__.getAuxiliaryDomainInfo) {
auxiliaryDomainInfo = window.__wxobs__.getAuxiliaryDomainInfo();
}
const subDomainUrl = `https://www.example2.com?wxobsMetadata=${auxiliaryDomainInfo}`;
// 使用subDomainUrl作为跳转链接
- 在副域中启动采集,采集器会自动根据 url query 合并可视化日志
# 联合采集
如果要在小程序中采集 web-view 中的内容,需使用联合采集功能。
使用步骤如下:
- 创建小程序项目 A 和 web 项目 B
- 在管理端的小程序项目(项目 A)中,进入【设置-高级选项-联合采集项目】配置子项目,将子项目配置为 B 项目
- 根据指引,启动 web 采集(项目 B)
- 根据指引,在小程序中(基础库版本>=2.29.1),使用 sdk(>=0.1.4) 方式采集(A 项目),调用 setup 函数时,此时函数将返回一个类型为 string 的
sessionId
import wxobs from '@wxobs/miniprogram-helper';
App({
onLaunch: async function () {
const { sessionId } = await wxobs.setup({})
},
});
- 在使用 web-view 组件时,将步骤 4 中的
sessionId
作为 url query 填入到 src 中,例如:
<web-view src="https://www.qq.com?wxobsId={{sessionId}}"></web-view>
注意事项:
- 若要采集的 web-view 设置了
x-iframe-options
或Content-Security-Policy
响应头,则会导致热力图等功能无法正常展示 web-view 中的内容,需要:- 去掉
x-iframe-options
属性或者修改为x-iframe-options: ALLOW-FROM dev.weixin.qq.com wedata.weixin.qq.com;
- 修改
Content-Security-Policy
响应头为Content-Security-Policy: frame-ancestors 'self' dev.weixin.qq.com wedata.weixin.qq.com;
- 去掉
- 在内嵌 web-view 中,默认情况下仅首次加载的页面支持联合采集。如果在 web-view 中跳转到其它页面(如从
a.example.com
跳到b.example.com
),则需要在打开b.example.com
时,增加wxobsFollow=true
的 query,如b.example.com?wxobsFollow=true
。