How to Track Multi Step Form Progress
A single submit event tells you nothing about where people quit. Here is how to track each step so you can fix the one that leaks.

A multi step form with a single submit event tells you one thing. How many people finished.
It tells you nothing about the far larger group who started, got three questions in, and quit. That group is where your conversion rate is hiding.
What to track
Four event types cover almost everything useful:
Form started. Someone engaged with the first field. Not a page view, an actual interaction.
Step completed. One event per step, with a step number and name.
Form submitted. The finish line.
Field error. A validation message appeared, with which field caused it.
That last one is underrated. Error events point straight at the field that is costing you people, and it is almost never the field anyone guesses.
Name your steps
Send a step number and a human readable name together. Step 3 means nothing in a report six weeks from now. Step 3, budget_range, is immediately useful.
Keep the names stable. If you reorder the form, do not silently reuse numbers, or your historical comparison becomes nonsense.
Image: funnel chart of a five step form showing completion rate per step, with the step causing the biggest drop highlighted.
How to fire the events
Depends on what the form is built with.
Custom built forms. Push a data layer event when the step advances. Cleanest option, needs a developer.
Form builders with callbacks. Typeform, Jotform and similar expose step change events. Listen and push.
Embedded forms in iframes. Use the tool’s own events. Standard triggers cannot see inside the frame, as covered in
Fire on step completion rather than step display. Someone who sees a step and leaves has not completed it, and conflating the two hides the very drop off you are looking for.
Reading the results
Two patterns come up repeatedly.
A gentle decline across every step is normal. People lose interest gradually. You improve this by shortening the form, not by fixing one step.
A cliff at one step is a specific problem with that step. Usually one of four things: asking for a phone number, asking for budget, asking something that feels invasive too early, or a validation rule that rejects legitimate answers.
The phone number field is the reigning champion of unnecessary drop off. Test making it optional before you test anything else.
Should steps be conversions?
No, with one narrow exception.
Keep the completed submission as your conversion. Marking step completions as conversions teaches bidding to find people who start forms, which is not a business outcome.
The exception is very low volume accounts that need more signal for bidding to function. Even then, use a mid funnel step, attach a low value, and watch lead quality closely.
Better still, move in the other direction and make qualified leads your conversion, as in
Verify it
Complete the form fully with GTM preview open. Confirm one event per step, in order.
Abandon halfway and confirm you get the early steps and nothing after.
Trigger a validation error deliberately and confirm the error event fires with the field name.
Go back a step and forward again, then check whether you get duplicate step events. Usually you do, so count unique sessions rather than raw events.
After a week, build the funnel and confirm each step is lower than the one before. If not, something double fires.
Need this built properly?
If your multi step form converts poorly and nobody knows which question is losing people, step tracking answers it within a week. I set up and repair tracking for ecommerce stores and lead generation businesses, so the numbers in your ad accounts match the money in your bank account.
Have a look at what I do, or book a call and we can go through your setup together.



















