Clickport automatically tracks form submissions across your site with zero configuration. Every time a visitor submits a form, the tracker records the event and associates it with the current page and session.
The tracker listens for native submit events on the document using event capturing. This means it intercepts form submissions at the top of the DOM tree before any other handlers run. When a <form> element fires a submit event, Clickport records the submission.
Because the tracker uses the browser's native submit event, it works with all standard HTML forms regardless of how they are built. Contact forms, newsletter signups, checkout forms, search boxes, and login forms are all captured automatically.
<form>form.submit() or dispatches a submit eventWhen a form is submitted, Clickport identifies it using the form element's attributes. The tracker checks these in order of priority:
id attribute (highest priority). If the form has an id, that value is used as the form identifier.name attribute. If there is no id but a name is present, the name is used instead.Each form submission event records the following data:
id or name of the form elementForm submissions appear in two places on your dashboard.
When you expand a session in the Sessions panel, form submissions appear inline in the page timeline. Each form event shows a green F badge next to the goal name, along with the form identifier.
Form submissions power the Form goal type. When you create a goal that tracks form submissions, completions appear in the Goals panel with visitor counts, submission counts, and conversion rates. You can filter goals by type to see only form-based goals.
To track specific form submissions as conversions, create a goal with the Form type. Form goals support four condition fields:
name attribute of the form elementid attribute of the form elementEach condition supports operators: equals, not equals, contains, not contains, starts with, ends with, is empty, and is not empty. You can combine multiple conditions with AND or OR logic.
When a form submission matches a goal's conditions, the session is marked as converted. The conversion counts toward your Conversions KPI and conversion rate.
Form submissions are sent using fetch with keepalive: true. This ensures the event is delivered reliably even when the form submission triggers a full page navigation. If fetch is not available, the tracker falls back to navigator.sendBeacon.
The event is sent as a fire-and-forget beacon. It does not block or delay the form submission in any way. Your visitors experience no added latency.
Clickport's tracker listens for the native DOM submit event, which fires for both traditional form submissions and forms that use JavaScript to prevent the default behavior and submit via AJAX (XMLHttpRequest or fetch).
The tracker captures the submission when the submit event fires, before any preventDefault() call. This means AJAX forms, React forms, and other JavaScript-heavy form implementations are tracked automatically.
For single-page applications, the tracker also works across client-side route changes. Forms on dynamically rendered pages are captured the same way because the event listener is attached to the document root, not to individual form elements.
Add an id or name attribute to every form you want to track. This makes it easy to identify forms in your analytics data and set up goal conditions. Without an identifier, all unnamed forms are grouped together and cannot be distinguished.
Choose form identifiers that clearly describe the form's purpose. Good examples:
id="contact-form"id="newsletter-signup"id="checkout-billing"name="search"If a form submission represents a business conversion (like a contact request, demo signup, or purchase), create a goal for it. This lets you track conversion rates over time and see which traffic sources drive the most form completions.
After adding or changing forms on your site, submit a test entry and check the Sessions panel to confirm the form event appears with the correct identifier.
Form tracking in Clickport is designed with privacy as a core principle.