生命周期(服务器端)

会话一旦获得您自己的客户 ID,就从我们的服务器将回放链接推送到 ActiveCampaign、Mailchimp、Iterable 或 Klaviyo。

1. 为什么在浏览器桥接之外还有它

MousePlayer 已有生命周期桥接,会写入您自己页面中运行的 SDK,包括 Klaviyo、Braze、Customer.io 及另外六个平台。此桥接改从我们的服务器执行同一任务,因为两个最大平台根本没有可用的浏览器路径:

  • ActiveCampaign 完全没有用于事件的浏览器 API。 其 vgo() 可设置账户和电子邮箱地址并启动跟踪,但不能发送事件。事件必须通过带独立事件密钥的 Event Tracking API 发送,仅限服务器端。
  • Mailchimp 有浏览器 API,但词汇范围封闭。 其网站跟踪像素接受 PAGE_VIEWED、 PRODUCT_VIEWED、 PURCHASED 以及少量其他预定义名称。没有自定义事件的位置,将我们的数据硬塞进 PAGE_VIEWED ,会在您自己的数据模型里制造虚假信息。

对于 Iterable 和 Klaviyo,服务器路径只是更可靠:不受广告拦截器影响,不依赖 SDK 是否已加载,也不受标签页过早关闭影响。

2. 需要什么

三个字段,具体填写哪些取决于平台。

平台账户字段密钥
ActiveCampaignactid网站 → 网站跟踪,事件密钥旁
Mailchimp受众 IDAPI 密钥,保留其 -us14 形式的后缀,数据中心由此读取
Iterable不需要,留空带有“Allow event track calls”权限的密钥
Klaviyo不需要,留空一个 私有 API 密钥

第三个字段是显示时使用的事件名称。请保持简短: 最多 32 个字符。这是 API 的限制,不是我们的限制;我们会在保存时缩短,而非发送时才缩短,否则表单显示的内容会与实际收到的不同。

Mailchimp:保留 API 密钥后缀。 最后一个短横线之后的部分(-us14)表示账户所在的数据中心,地址据此构建。缺少此部分的密钥会被明确拒绝并提示原因,避免在看不到的地方失败。

3. 何时触发,何时不触发

会话被识别的那一刻:网站调用 MousePlayer.setUserId()、分析桥接读回 distinct ID,或服务器调用 identify 端点时。在此之前,我们不知道录制属于谁。

仅限电子邮箱地址

四个平台都通过电子邮箱地址定位联系人。如果客户 ID 是合同编号,就不发送任何内容;将注定失败的任务排入队列,只会让日志充满噪声。

联系人必须已存在。 这些平台均不会根据事件创建联系人;ActiveCampaign 无法识别地址时会完全丢弃事件。此桥接丰富现有联系人资料,不负责建立联系人列表。

每个事件都携带 ID

因此,即使任务重试,同一会话也不会被重复计数。

4. 对端收到什么

一个事件,以名为 mouseplayer_session_url的属性携带回放链接。打开后即可进入该确切会话的录制。

此后由平台自身逻辑决定:将事件用作自动化触发器、细分条件,或只是让团队从联系人资料打开录制。

密钥始终保留在我们的服务器内

它以 AES-256-GCM 加密存储,保存后不再显示,也刻意不放入承载任务的内部队列;工作进程会自行从数据库获取。

HTTP 200 不等于已投递

ActiveCampaign 拒绝事件时,会返回状态 200 和 {"success":0} 。我们读取响应正文,而非只看状态,因此拒绝会在投递日志中显示为失败,而非悄然显示为成功。

5. Braze、Customer.io 和 Brevo

服务器端路径又增加了三个平台。其中两个需要其他平台不需要的信息:位置。

需要提供识别依据
BrazeREST 端点与 API 密钥电子邮箱地址
Customer.io站点 ID、API 密钥与所在地区您自己的客户 ID
Brevo仅跟踪器密钥电子邮箱地址

其中两个位于特定位置

Braze 使用绑定实例的 REST 端点;Customer.io 有两个独立地区,主机不同。两者均无法从密钥推导;选错会返回 401,让人误以为是密钥有问题。这两个字段正是为此而设。

Customer.io 不需要电子邮箱

它通过您分配的同一 ID 识别用户,因此要求电子邮箱只会人为增加障碍。其他六个平台都按电子邮箱匹配;对于它们,以合同编号识别的会话不会产生任何发送,这是正确的行为。

不创建新画像

Braze 调用携带 _update_existing_only。这与 CRM 桥接的取舍相同:浏览器会话不能可靠说明谁是您的客户,而为每个匿名访客新建画像的生命周期平台,比没有集成更糟。

Brevo 返回 204,Braze 返回 201,但有一点需注意

Brevo 完全不返回正文,此时 2xx 就已完整反映结果。Braze 返回 "message": "success" ,旁边可能还带有 errors 数组:致命问题出现在 message 中,可容忍的字段损失仅出现在 errors 中。只读取其中任何一项,都会向某个方向误判。

此处提及的所有商标均属于各自所有者。MousePlayer 与这些提供商不存在商业关系。