We have for years used a custom script to check the count (Setting a cap) of responses to determine whether it would allow the next response or it would disqualify and throw up a ‘Sorry…event is full’ message.

Now I’m testing a script to check to see if an email exists in the responses before allowing another (registration) or it would disqualify and throw a ‘Sorry…that email already exists’ meaning they have already registered.

The problem I run into with all of these types of scripts is the ‘two-minute delay.’ If I cap a survey at 1, I can register multiple times during that 2-minute delay before the cap is met.

If I set the cap at 20 and send an email out to 100 people and 50 people register right away, it would be way over the set cap. Or if 19 people register and in the next 2 minutes 6 more people register, again…over the cap (by 5).

We do an http post on the thank you page which pushes the responses to our database. It sends the confirmation email, sends the email address to a list for later use, and goes to an external thank you page all before the response appears (and used in the calculation).

Best answer

Since you’re also saving the responses to your own database, one possible workaround is to include an HTTP Connect Action at the beginning of your survey to fetch the response count for that email address from your own database. The HTTP Connect Action would send the email address to your database, your database would send back how many responses you already have for that email address, and then you would populate that number in a Hidden Value. Then, you would use Skip/Disqualify Logic to disqualify if the Hidden Value > 0. The only thing to watch out for is if the HTTP Connect fails.