Add the one-line tracker
Paste <script src="https://splitforms.com/embed.js" async></script> after your form. Every install snippet in the dashboard already includes it, so builder and copy-paste forms are covered.
Feature · Drop-off Analytics & Partial Leads
One script tag shows how many visitors start your form, which field they quit on, and — if you turn it on — what they typed before they left.

Your form posts to one splitforms endpoint — no server, API route, or SDK. splitforms is the backend.
Every submission is saved to a searchable dashboard and emailed to you — spam filtered before it lands.
No glue code, no third-party middleman — it ships as part of splitforms and works from your first submission.
Copy-paste ready
Replace YOUR_ACCESS_KEY with the key from your splitforms dashboard. No SDK to install, no build step — the same html you already write.
<!--
Drop-off analytics and partial leads need one line after your form.
It works with any form that posts to splitforms — hand-written HTML,
framework components, WordPress, or the builder's iframe.
-->
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="text" name="name" placeholder="Name" required />
<input type="email" name="email" placeholder="Email" required />
<input type="tel" name="phone" placeholder="Phone" />
<textarea name="message" placeholder="Message"></textarea>
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />
<button type="submit">Send</button>
</form>
<script src="https://splitforms.com/embed.js" async></script>
<!--
AJAX / multi-step forms can report progress explicitly:
window.splitforms.step(formEl, 2); // visitor reached step 2
window.splitforms.done(formEl); // confirmed submit
No cookies and no localStorage — the session id lives in memory for
one page load. Password, file and hidden inputs are never read.
-->How to set it up
How drop-off analytics & partial leads flows through splitforms — what you do, what we do, and what lands in your inbox.
Paste <script src="https://splitforms.com/embed.js" async></script> after your form. Every install snippet in the dashboard already includes it, so builder and copy-paste forms are covered.
See views, starts, completions, the most-abandoned fields, device split, and median time to abandon. Suggestions appear once the form has enough views to be meaningful.
Enable partial-lead capture for the form. Visitors who fill at least two fields and leave appear under Partial leads; they're removed automatically if the visitor later submits.
How drop-off analytics & partial leads works
Drop-off analytics answers the question every form owner eventually asks: how many people start this form and never finish, and why? Add one line after your form — <script src="https://splitforms.com/embed.js" async></script> — and splitforms records views, starts, and completions, then ranks the fields where people most often give up, splits the funnel by device, and shows the median time before someone abandons. Once a form has enough traffic, the dashboard suggests plain-language fixes, such as making a field optional or moving it later. Route the same submission to an email inbox or a webhook at the same time — nothing here is one-or-the-other.

What you get
Every reason below is the boring, reliable kind — the fundamentals of drop-off analytics & partial leads, built once and tested in production so you never have to.

How SplitForms works
splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. With Stripe connected, your forms can take payments too.

Common questions
Add <script src="https://splitforms.com/embed.js" async></script> after the form (every dashboard install snippet already includes it). Then open the form's Analytics page to see views, starts, completions, and the fields where people most often stop.
A visitor who filled in at least two fields and left without submitting. With partial-lead capture on, splitforms saves what they typed so you can follow up. If the same visitor submits later in that visit, the partial is deleted and only the real submission remains.
Both are included on the paid plans: Pro ($5/month) or Annual ($49/year). The tracker is harmless on Free — it simply doesn't record anything for the dashboard.
It sets no cookies and uses no localStorage; the session id lives in memory for one page load. It never reads password, file, or hidden inputs, caps each stored value at 500 characters, and only records typed values when you've switched on partial-lead capture for that form. Tell visitors about partial capture in your privacy notice if you use it.
Yes. The tracker finds any form that posts to splitforms (or carries a data-sf-key attribute). AJAX and custom multi-step forms can report progress with window.splitforms.step(form, n) and a confirmed submit with window.splitforms.done(form). When you submit with fetch(), send the whole form (new FormData(form)) so the hidden sf_sid field it adds goes along.
Simple pricing
Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.
For side projects and indie devs.
Every paid feature, for agencies and growing products.
Every Pro feature with triple the volume — $0.27 per 1,000 at full use.
No credit card required on Free • Cancel anytime • Full pricing and FAQ