We're seeing duplicate submissions. It's between 2 - 15 of the same submissions, usually 7. They come in irregularly over the next couple minutes after the first one. And only sometimes. They are all distinct in the database, and seem like copies of a legitimate user submission.

Does this sound like a known issue? What's the best way to approach troubleshooting this?

--- Update 19/11/2019 ---

Duplicate form submission protection through Invisible Captcha is enabled.

I'm using custom form templates with:

  {{ getCsrfInput() }}
  {{ craft.sproutInvisibleCaptcha.protect() }}

But not

  {% hook 'sproutForms.modifyForm' %}

--- Update 25/11/2019 ---

Setting the required time on form to 15 seconds, disabling the Enable Sprout Forms Protection option which automatically adds Invisible Captcha support for all Sprout Forms using the craft.sproutForms.displayForm() tag, removing {% hook 'sproutForms.modifyForm' %}, and keeping {{ getCsrfInput() }}{{ craft.sproutInvisibleCaptcha.protect() }}, allowed a submission to be recorded 13 times over the course of 2 minutes.

--- Update 27/11/2019 ---

The duplicate submissions came from from another, unprotected, instance of the form with it's own template. It submits without loading the redirect URL, clearing the form, or presenting any messages, leaving the user to click the button multiple times.

  • 1
    In the Settings->Spam Protection, do you have the Duplicate Captcha enabled? If so, have you overridden the provided Form Templates with custom templates? If so, do your custom Form Templates have following line in the templates: {% hook 'sproutForms.modifyForm' %}? Nov 15, 2019 at 11:36

1 Answer 1


I believe the issue here is most likely that you just need to add the modifyForm hook to your custom templates. All the Captchas look for that hook and output the necessary hidden input fields and javascript that they need to do their thing when the form loads.

You can see how we include the modifyForm hook in the default templates. It can be added anywhere within the tags.

  • Adding the hook modifyForm tag renders another similar, but unique, set of Invisible Captcha fields. Should both the modifyForm hook, and sproutInvisibleCaptcha.protect() be on the same form?
    – ponies
    Nov 20, 2019 at 23:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.