跟踪表单提交

捕捉用户在你的网站上提交表单的时刻,例如注册表单、联系表单、新闻通讯订阅或结账流程。

使用数据属性

对于简单的表单,直接将跟踪属性添加到提交按钮:

<form action="/subscribe" method="POST">
  <input type="email" name="email" placeholder="电子邮件" />
  <button
    type="submit"
    data-umami-event="form-submit"
    data-umami-event-form="newsletter"
  >
    订阅
  </button>
</form>

使用 JavaScript 进行更多控制

对于使用 JavaScript 提交(AJAX、fetch 或框架表单处理)的表单,在你的提交处理程序中调用 umami.track()

document.querySelector('#contact-form').addEventListener('submit', function (e) {
  umami.track('form-submit', { form: 'contact', source: 'homepage' });
});

React 示例

function SignupForm() {
  async function handleSubmit(e) {
    e.preventDefault();
    umami.track('form-submit', { form: 'signup', plan: 'free' });

    // 继续你的表单提交逻辑
    await submitToAPI(new FormData(e.target));
  }

  return (
    <form onSubmit={handleSubmit}>
      <input type="email" name="email" required />
      <button type="submit">注册</button>
    </form>
  );
}

跟踪表单完成与提交

如果你的表单包含多个步骤(如结账流程),跟踪每个步骤以了解用户在哪里流失:

// 步骤 1:用户输入电子邮件
umami.track('checkout-step', { step: 'email' });

// 步骤 2:用户输入支付信息
umami.track('checkout-step', { step: 'payment' });

// 步骤 3:用户完成购买
umami.track('checkout-step', { step: 'complete' });

然后你可以使用 漏斗 洞察来可视化步骤之间的流失情况。

查看表单数据

导航到 事件 查看提交次数,以及 事件数据 按表单名称、来源或你跟踪的任何其他属性细分提交情况。

要衡量提交表单的访客百分比,创建一个 目标,将 form-submit 事件作为转化动作。