# 数据采集

在 we 分析控制台可以免费启用体验分析,无需更改一行代码即可自动采集数据和拥有完整分析能力,也可自定义上报用户 ID、属性和自定义事件。

当需进行更精细化的人群分析时(如进行 abtest、看不同渠道来源、会员/非会员人群的转化和热力对比等等),关联更多业务数据可以获得更多洞察,此时可以自定义上报业务自定义事件和标记自定义的用户属性/ID,在可视化日志、热力图、转化分析中都有提供丰富的人群筛选和对比功能。

# 小程序

开通后即开始自动采集数据。默认自动采集的数据足以支持可视化日志、热力图、转化分析等各个分析模块的使用。也建议使用小程序接口 按需上报自定义用户 ID、用户属性、和自定义事件,从而可以进行更精细化的人群分析和事件分析。

注:

  • 当用户退出小程序至后台超过 30 分钟,再回到小程序 (且场景值不为1089) 后,系统会自动结束上次采集,重新开启新的采集。在管理端将看到两条不同的可视化日志。

# Web 项目

新建 Web 项目后,进入项目,选择“设置->采集配置”,即可看到接入代码,将接入代码写入到要接入 web 项目的 index.html 文件中即可。不需额外操作即可自动采集数据。Web SDK 文档

# web 端跨域采集

跨域采集允许您在主域和一个或多个副域之间采集可视化日志。这在以下情况下特别有用:

  • 用户在多个相关网站间导航。
  • 一个应用跨多个子域运行,需要一致的用户追踪和行为分析。

在实现上,跨域采集通过URL参数传递可视化日志信息,并在目标域中解析和应用这些信息。这样确保了用户在主域和副域间的行为能够被连贯地追踪和分析。

# 示例

假设您有一个在www.example1.com运行的主应用和一个在www.example2.com运行的副应用。以下是如何使用跨域采集功能的步骤:

  1. 在主域中启动采集:
// 在www.example1.com中
if (window.__wxobs__) {
  window.__wxobs__.setup({ /* 初始化参数 */ });
}
  1. 生成跳转到副域的链接:
// 仍在www.example2.com中
let auxiliaryDomainInfo = '';
if (window.__wxobs__ && window.__wxobs__.getAuxiliaryDomainInfo) {
  auxiliaryDomainInfo = window.__wxobs__.getAuxiliaryDomainInfo();
}

const subDomainUrl = `https://www.example2.com?wxobsMetadata=${auxiliaryDomainInfo}`;
// 使用subDomainUrl作为跳转链接
  1. 在副域中启动采集,采集器会自动根据 url query 合并可视化日志

# 联合采集

如果要在小程序中采集 web-view 中的内容,需使用联合采集功能。

使用步骤如下:

  1. 创建小程序项目 A 和 web 项目 B
  2. 在管理端的小程序项目(项目 A)中,进入【设置-高级选项-联合采集项目】配置子项目,将子项目配置为 B 项目
  3. 根据指引,启动 web 采集(项目 B)
  4. 根据指引,在小程序中(基础库版本>=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({})
    },
  });
  1. 在使用 web-view 组件时,将步骤 4 中的 sessionId 作为 url query 填入到 src 中,例如:
<web-view src="https://www.qq.com?wxobsId={{sessionId}}"></web-view>

注意事项:

  1. 若要采集的 web-view 设置了 x-iframe-optionsContent-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;
  2. 在内嵌 web-view 中,默认情况下仅首次加载的页面支持联合采集。如果在 web-view 中跳转到其它页面(如从 a.example.com 跳到 b.example.com),则需要在打开 b.example.com 时,增加 wxobsFollow=true 的 query,如 b.example.com?wxobsFollow=true