Docs

Forms

The forms plugin tracks form interaction without reading any value.

EventWhenProps
form_startfirst focus inside a form on this pageviewform
form_submitsubmit (sent immediately)form
form_abandonthe pageview ends after form_start without a submitform, 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.