5

Is there a way when creating a form (Web Form for Marketers) to make it so when a person fills out the form and it's successfully submitted that the same person cannot submit the form again?

2

I would recommend using Sitecore Personalization to hide the form and show different content based on various criteria, like a contact facet that indicates that this particular form has been submitted already. Personalization is a powerful tool that uses the Sitecore Rules Engine to evaluate various conditions. Components can be hidden or shown, have their datasource changed or rendered with a different compatible rendering.

More detail on personalization can be found on the Sitecore Documentation Site.

You can also handle that scenario more simply during the form post and return a message if that contact has already submitted that form (or any other relevant condition).

| improve this answer | |
1

Agree with @Nathan that you should use Personalization to control the visibility of the form. One option is to use Goals. When you insert a form the wizard gives you the option to create a new form (or select an existing one):

Set Form Goal

If you have already added the form then you can add a Goal from the Content Editor using the Tracking field.

Set Goal from Content Editor

You can then use Personalization to hide the form is the Goal has previously been triggered (i.e. the form has been completed). Add a new personalization rule for the component, configure the rule to checked if the Goal has been triggered and then set the action to Hide:

Form Completed Personalization Rule

This relies on the use of xDB, Goals will not be recorded if you are running CMS mode only. You may be able to create a custom Rule in this case to achieve a similar result.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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