Signup with Forms API creates duplicated forms submissions + extra form views



We've build our signup with the help of Forms API. ID of form is 52f5b5fb-c135-403d-8a68-afd5477d4922

Our signup is multi-step.

When I look at form submissions and form views I see that there are duplicated submissions + submission rate is super high. Does each step of our signup is counted as form submission? If yes, how we can fix it?

Also does each step create view in analytics?

Thanks for your help!


Hi @Eugene,

What is your Hub ID? The form ID doesn't help me much on its own.

To my knowledge, form views and submission rates are only calculated for native or embedded HubSpot forms — not through the Forms API. Could you please share a link to the form in your portal so I can investigate further?


Sure, here it is:


Have you seen my answer?


Thanks for tagging me, @Eugene.

My tests confirm that each form step logs a separate submission. As a result, this test contact has three submission events but this test contact only has two because I didn't complete the process.

You can prevent this behavior by sending all the form data to the Forms API at the end instead of after each step. Since you are using the v2 Forms API endpoint, you must be sending data to your server already, so you should be able to combine all submitted fields into a single payload.

A form view is counted when the form embed code loads. I can see an embedded but hidden form in this page's source code. During my test submissions, I did not see the code load again, so I do not believe each step creates a new view in analytics.


Thanks for your help @Isaac_Takushi

Got it about views.

But if to speak about submissions: we need data about users only if they fill in first step. Is it possible to record data on each step, but not create duplicated submissions?



Hi @Eugene,

The only way to prevent multiple submissions is to make one Forms API call per visitor. Multiple calls will create multiple submissions.

As such, you could store each step's submission data client-side and then retrieve and send it to HubSpot when the visitor either completes all steps or leaves your site.

Here are some options I have found:

Store submission data with JavaScript:

Call functions before visitor leaves page: