跳到主要内容
FormFlow

在收件箱安静下来之前读懂表单健康

FormFlow 从表单自身的流量计算四个健康信号——摩擦、拒收、枯竭和结构漂移——并在某一个新出现时提醒一次,而不是对没变的状态反复提醒。

本文由机器翻译。 阅读英文原文

A dark FormFlow plate separating Form health into Friction, refusal, drought and schema drift.

客户的 HTML 放在客户自己的站点上。它一旦坏掉——字段改名、按钮被删、脚本不再运行——没有任何错误会送到 FormFlow。提交只是变差或停止,而人们最先注意到的,通常是一个安静的收件箱。

表单健康就是 FormFlow 对此的回答:它计算一个表单是否还在收到提交、是否还是预期的形状、是否还是预期的节奏。它从表单自身的流量算出来,而它的边界也正在这里。

FormFlow 能知道什么、不能知道什么

FormFlow 从不看页面。它看到的是到达:一次预检跑了或没跑、它发出的一次拒收、它接受的一次提交,以及每个请求体带了哪些字段。每个健康信号都从这些记录推出来,所以健康依赖于历史。有一个月流量的表单可以拿自己的基线来判;今天早上刚建的表单不行。

所以空白的健康面板不是健康证明。它是缺乏证据,而 FormFlow 不会把它当作一项测出来的结果来呈现。

四个信号

一共四个,前三个是同一处损失在越来越晚的阶段被发现。

信号

它捕捉什么

它不是什么

摩擦

预检在填写者还在页面上时指出了一个错误。

拒收:什么都没有被拒。

提交拒收

表单因为自己的设置,在拒绝自己流量中相当一部分。

枯竭:流量来了,只是被拒。

提交枯竭

提交率相对表单近期基线的塌陷。

流失线索的计数。

结构漂移

表单声明过的某个字段不再收到。

掉到零:表单还在工作,只是变差。

摩擦和提交拒收各自独立记录,因为表单可能在发送前劝退一个人,又在接收时拒绝另一个人。只有在两者都没有触发时才报告枯竭,因为劝退或拒收流量的表单两种情况都写不出提交,看起来同样像是没声音。结构漂移可以和其中任何一个同时出现;它只用嵌入表单的流量来判断:托管页是按结构渲染的,所以声明过的字段不可能在那里悄悄不再到达。

读状态,但别读过头

面板显示健康,或显示有风险并列出活跃信号。健康意味着当前没有信号在触发。没有开启的表单——被关掉,或不再接受提交——同样是健康的:它是有意安静的。

有两种读法很容易出错。有风险不是收入损失的预测,健康也不是每个字段都按预期到达的证明。状态告诉你检测到哪种故障,而不是它造成了多少代价。

针对手里的信号采取行动

健康提醒是品牌邮件,在某个信号第一次出现在某个表单上时发出。状态没变就不会重复发送,所以漂移了一周的表单不会每天早上都给你写信;它只写了一次,在漂移开始时。提醒向团队所有者报告表单的健康,而提交摘要向通知地址报告它的提交。

该做什么取决于信号。摩擦把你带到那些在填写者还在页面上时就卡住的尝试。提交拒收把你带到表单留下的拒收记录和造成它们的设置。枯竭把你带回标记所在的那个页面。结构漂移把你带到不再到达的那个字段,通常是一个没经过 FormFlow 就被改过的表单。

大多数表单一周读一次就够了。健康不是要盯着看的实时仪表;它是一次检查,看表单是否还在做上个月做过的事。

健康信号的钝处

它也看不到一个本来就不会有人填的表单。从来没有流量的页面没有什么可失去的,健康对此什么也不说,而不会称它健康。

v1.0.0 的变更记录条目 把表单健康按发布时的样子列了出来:在表单悄悄丢掉线索之前,先在被静默时收到提醒。支撑它的那些记录的参考和 API 的其余部分放在同一处,而 v1.1 的那篇文章 讲的是决定某次提交本该携带哪些字段的步骤与分支。