TL;DR, Quick Answer
8 min readForm abandonment rate is the share of people who started a form and left without submitting it: (forms started minus forms submitted) divided by forms started. The hard part is the word "started". GA4 fires form_start the first time a user interacts with a form in a session, Zuko counts field clicks, changes and input and closes a session after 30 minutes of inactivity, and a custom first-keystroke event counts fewer starts than either. Field-level drop-off then shows which field the abandoners touched last.
What is form abandonment rate?
Your form abandonment rate is the share of people who started filling in a form and left without submitting it. It ignores everyone who saw the form and never touched it, which is what separates it from a plain conversion rate measured against page views.
The metric asks how often the form itself loses someone who already decided to engage with it. The number only means something if you define "started" and "submitted" before you count, and analytics tools define both differently.
What is the form abandonment rate formula?
The formula divides the starts that never became submissions by all starts:
form abandonment rate = (forms started - forms submitted) / forms started x 100
form completion rate = forms submitted / forms started x 100The two rates always add up to 100 percent. Here is a worked example for a five-field demo request form over one month:
| Count | Value |
|---|---|
| Sessions that viewed the form | 4,000 |
| Sessions that started the form | 1,600 |
| Sessions that submitted the form | 1,040 |
| Form abandonment rate | (1,600 - 1,040) / 1,600 = 35% |
| Form completion rate | 1,040 / 1,600 = 65% |
| View-to-start rate | 1,600 / 4,000 = 40% |
| View-to-completion rate | 1,040 / 4,000 = 26% |
Keep the view-based rates separate. A 26 percent view-to-completion rate and a 35 percent abandonment rate describe the same month. Low view-to-start is a copy and targeting problem. Losing 35 percent of starters is a form problem.
What counts as a "started" form in each tool?
A form start is whatever event your tool fires first, and each tool picks a different event. This is the biggest reason two dashboards disagree about the same form.
| Tool | What counts as a start | What counts as a submission | Session rule |
|---|---|---|---|
| Google Analytics 4 (enhanced measurement) | form_start: "the first time a user interacts with a form in a session" | form_submit: "when the user submits a form" | One form_start per form per session |
| Zuko | A field interaction, tracked on the change, click and input events | Zuko.COMPLETION_EVENT, fired on a URL, page load or event you choose | Session expires after 30 minutes of inactivity and is "classed as abandoned" |
| Custom event you build | Whatever you fire: first focus, first keystroke, or first valid field | Whatever you fire: submit click, 200 response, or thank-you page | Whatever your analytics tool uses |
Google's own help page says you can use form_start and form_submit "to see how many users started to fill out a form and compare the information to users who submitted the form." Both events carry form_id, form_name and form_destination, and form_submit adds form_submit_text. Google notes you can only report on those parameters after creating custom dimensions for them, so a site with three forms sees one blended rate until then.
Zuko's documentation describes a session as running "from when a visitor first views your form, then interacts with it, to when they either complete the form or stop interacting with the form." A visitor who comes back after 31 minutes starts a new session, so one person can produce one abandoned session and one completed session.
Now rerun the worked example with a stricter start. Suppose 1,600 sessions focused or clicked a field, but only 1,280 typed a character. Count starts on first keystroke and the abandonment rate becomes (1,280 - 1,040) / 1,280 = 18.75 percent. The form did not change. The definition nearly halved the number.
What counts as a "submitted" form?
A submission is either a submit attempt or a confirmed completion, and the gap between the two holds your validation and server errors. GA4's form_submit fires when the user submits. Zuko's installation guide tells you to fire the completion event wherever it "accurately represents the point that a visitor has completed your form", which in practice means a thank-you page or a success callback.
Back to the example. Say 1,040 sessions pressed submit, but only 910 reached the confirmation page, because 130 hit a server-side error such as an email already registered. Measured against confirmed completions, the abandonment rate is (1,600 - 910) / 1,600 = 43.1 percent. Measured against submit attempts, it is 35 percent. Report the confirmed number and track the 130 failed submissions on their own.

- 1,040 sessions pressed submit
- Abandonment rate: 35%
- 910 sessions reached the confirmation page
- 130 hit a server-side error
- Abandonment rate: 43.1%
How do you measure field-level drop-off?
Field-level drop-off assigns each abandoned session to the last field the visitor interacted with, then divides by the sessions that reached that field. The form-level rate tells you that 560 sessions left. The field-level view tells you where.
| Field (in order) | Sessions that reached it | Abandoned here | Field drop-off rate |
|---|---|---|---|
| Full name | 1,600 | 45 | 2.8% |
| Work email | 1,555 | 70 | 4.5% |
| Phone number | 1,485 | 280 | 18.9% |
| Company size | 1,205 | 95 | 7.9% |
| Message | 1,110 | 70 | 6.3% |
| Submitted | 1,040 |
The phone field accounts for half of all 560 abandonments and has the highest field drop-off rate in the form. Make it optional, explain why you ask, or remove it, then rerun the numbers.
Two cautions keep this table honest. First, visitors do not move top to bottom. Someone who fills in the message box and then quits on the phone field counts as a phone abandonment in a "last field touched" model even though the message box came later. Second, a field can cause trouble without being the last one touched. Zuko tracks this as a field return, "when a user exits a field after entering some data only to return to it at a later stage in their session", and a high return count on an email field points at a validation rule worth checking against real input. Matomo's Form Analytics plugin has comparable "Drop off fields" and "Field timings" reports.
Flowsery
Start Your 14-Day Free Trial
Real-time dashboard
Goal tracking
Cookie-free tracking
A table gives you the field. A session replay of a few abandoned sessions at that field gives you the reason, whether that is a date picker that fails on mobile or an error message that renders below the fold.
Is there a published benchmark for form abandonment rate?
The largest public dataset we found is Zuko's industry benchmarking page, titled "Average Conversion Rate Statistics by Industry 2025". Its table covers 93,022,997 tracked sessions and lists an "All Forms" overall conversion of 51.71 percent, with 54.48 percent on desktop and 47.53 percent on mobile. Zuko's companion "About the data" page summarizes the study as 739 forms, 93 million form views, 60 million form starts and 38 million completions.
The figures do not line up with each other, and that matters before you quote any of them:
- The same page's glossary says view-to-completion "is also called a Conversion Rate", but its prose gives view-to-completion as 37.2 percent on desktop and 31.3 percent on mobile, far below the table.
- The table's desktop and mobile columns sit close to the page's starter-to-completion figures, 55.5 percent and 47.5 percent, so the column reads as completions per starter, not per view.
- The summary totals divide to 38 / 60 = 63 percent starter-to-completion and 38 / 93 = 41 percent view-to-completion, and neither matches 51.71 percent.
- The page gives no date range for the underlying sessions.
If the 51.71 percent is starter-based, the implied average form abandonment rate is 48.29 percent. The page does not say which denominator it uses, so treat any single "average form abandonment rate" as unconfirmed and compare your form against its own history instead.

How is form abandonment rate different from cart abandonment rate?
Cart abandonment rate counts shopping carts created that never became orders, and form abandonment rate counts form starts that never became submissions. An add-to-cart action creates a cart before the shopper sees any input field, and the cart can survive for days across sessions. A form start happens inside one session, on one form.
A checkout form sits inside the cart journey, so a store can track both. The cart metric tells you how many buyers left, and the form metric on the payment and address steps tells you which input lost them. For the general version of this calculation across any multi-step path, the drop-off rate formula applies the same logic to funnel steps instead of fields.
How do you track form starts and submissions in Flowsery?
Flowsery's goal and event tracking records signups and custom events, so a team can send one event on the first field interaction and a second on the confirmed completion, using the start and submit definitions chosen above. Place those two events as steps in funnel analysis to see the drop between them, and open the AI session replay recordings for abandoned sessions to find the moment the form broke.
Frequently asked questions
What is a good form abandonment rate?
A good form abandonment rate is one lower than your own form's rate last month, measured with the same start and submit definitions. Public averages mix form types, industries and definitions of "start", and the largest public dataset does not state which denominator its headline figure uses. A short newsletter signup and a ten-page loan application do not belong on the same scale.
Does GA4 track form abandonment automatically?
GA4 collects form_start and form_submit automatically when the "Form interactions" option in enhanced measurement is on. It does not report a form abandonment rate. You calculate it yourself as (form_start count - form_submit count) / form_start count, and you need custom dimensions on form_id or form_name to separate one form from another.
Why do GA4 and a form analytics tool report different abandonment rates?
The tools fire their start and submit events on different actions. GA4 counts one start per form per session on first interaction and counts a submit attempt as a submission. Zuko counts a completion wherever you fire Zuko.COMPLETION_EVENT, so a setup that fires it on the thank-you page leaves out the failed submissions GA4 still counts. In the worked example above, that moves the abandonment rate from 35 percent to 43.1 percent for the same sessions.
Should a failed submission count as abandonment?
A failed submission counts as abandonment if the visitor leaves without a confirmed completion, because the business got nothing from the session. Track it as its own number as well. A spike in failed submissions after a deploy points to a validation or server bug, not to a form that asks too much.
How many fields should a form have to keep abandonment low?
No fixed field count predicts abandonment, because one badly behaved field hurts more than three well-behaved ones. In the worked example above, the phone field alone caused half of all abandonments. Run field-level drop-off on your own form and remove or rework the field with the highest rate before you cut anything else.
Is form abandonment rate the same as bounce rate?
Form abandonment rate and bounce rate measure different groups. Bounce rate counts visits that ended without engagement on the page, and those visitors never started the form. Form abandonment rate counts only people who interacted with at least one field, so a page can have a high bounce rate and a low form abandonment rate at the same time.
What is the difference between view-to-start rate and form abandonment rate?
View-to-start rate divides sessions that started the form by sessions that viewed it, 1,600 of 4,000 views in the worked example, or 40 percent. Form abandonment rate divides sessions lost after they started by all starts, 35 percent in the same month. A low view-to-start rate points to a copy or targeting problem before anyone touches a field, while a high abandonment rate points to a problem inside the form itself.
Flowsery
Start Your 14-Day Free Trial
Real-time dashboard
Goal tracking
Cookie-free tracking
What is a field return in form analytics?
A field return is Zuko's term for when a user exits a field after entering some data and comes back to it later in the same session. A high return count on a field such as email points at a validation rule worth checking against real input. A field can cause trouble this way without ever being the last one touched, so return counts catch friction that a last-field abandonment table misses.
How does a 30-minute inactivity rule affect one visitor's session count?
Zuko closes a session after 30 minutes of inactivity and classes it as abandoned. A visitor who leaves a form idle for 31 minutes and then returns starts a new session in the tool's data, so one person can produce one abandoned session and one completed session from a single visit. That inflates both the start count and the abandonment count compared with a tool that applies no timeout.
Why don't the numbers on Zuko's benchmark page agree with each other?
The page's table gives an "All Forms" overall conversion of 51.71 percent, and its glossary says view-to-completion "is also called a Conversion Rate", yet its prose puts view-to-completion at 37.2 percent on desktop and 31.3 percent on mobile, far below the table. The summary totals of 38 million completions over 60 million starts and 93 million views work out to 63 percent starter-to-completion and 41 percent view-to-completion, neither of which matches the table either. The page never states which denominator the 51.71 percent uses, so treat any single published average abandonment rate as unconfirmed.
Was This Article Helpful?
Let us know what you think!
See us more often in Google
One click marks Flowsery as a preferred source, so our articles sit higher in your Top Stories, AI Mode, and AI Overviews.
Before you go...
Flowsery
Revenue-first analytics for your website
Track every visitor, source, and conversion in real time. Simple, powerful, and cookie-free.
Real-time dashboard
Goal tracking
Cookie-free tracking
Related Glossary Terms


What a Conversion Path Shows Before Someone Buys
Each conversion path is the ordered list of channels a buyer touched before converting. How GA4 splits it into early, mid and late touches, and what to fix.


When to Reach for Path Analysis vs Funnel Analysis
Path analysis vs funnel analysis: a funnel measures steps you define, a path shows the sequences users took. How GA4, Mixpanel and Amplitude build each one.


Running a Checkout Funnel Analysis on the Steps That Actually Leak
A checkout funnel analysis covers only the steps from begin_checkout to purchase, which is where the leak is fixable and the event names are standard.


Where Drop-off Really Happens in a Conversion Funnel
Step conversion and overall conversion answer different questions about a conversion funnel, and the gap between them shows exactly where drop-off happens.


How to Tell What Is a Good Conversion Rate for Your Site
Benchmarks answer what is a good conversion rate differently for ecommerce, SaaS and lead gen, and a single median number hides more than it reveals.


Why Your GA4 Bounce Rate Is Just Engagement Rate Flipped
Your GA4 bounce rate is the share of sessions that were not engaged. How Google defines it, how it differs from Universal Analytics, and where to add it.
Related Articles


What the GA4 Landing Page Report Counts and Where It Goes Blank
Google's GA4 landing page report lists the first page of every session. Where to find it, its default metrics, why (not set) rows appear and how to add source.


How GA4 Site Search Tracking Records What Visitors Type
Set up GA4 site search with enhanced measurement, add your own query parameters, find the Search term dimension and track searches without a URL.


Setting GA4 User Properties and Reporting on Them
Set GA4 user properties with gtag or Tag Manager, register them as user-scoped custom dimensions and stay inside the 25-property limit.

