Forms
The forms plugin tracks form interaction without reading any value.
| Event | When | Props |
|---|---|---|
form_start | first focus inside a form on this pageview | form |
form_submit | submit (sent immediately) | form |
form_abandon | the pageview ends after form_start without a submit | form, fields (number of fields touched), ms (time since start) |
Form name: data-x3-form, else a stable id, else name, else form-<index>.
<form data-x3-form="contact" action="/api/contact" method="post">…</form>form_submit sets the session flag form_submit, which the default relevance model treats as a
conversion (score 100) and new projects count as a conversion goal.
Forms that do not submit
Single-page forms that send with fetch and never fire submit: call
x3.track("form_submit", { form: "contact" }, { flush: true }) after success – or better,
x3.goal("signup_completed") with a goal on it.
Linking the person
To connect the submission to a person, call identify() (hashed in the
browser) or create the lead on your server with the session id. The forms plugin itself never
captures identities.