Campaign best practices
These are the practices we recommend for running a contest, giveaway or sweepstakes. They cover where to put your rules, how to schedule your campaign, how to keep voting fair, which bot-prevention tools to turn on, and how to collect voter details.
Where to put the rules
Watch this video to learn how to display rules in one of the following ways:
- Display rules on your landing page with a scroll-to action
- Display rules in a pop-up
- Display rules directly within your entry form
- Display rules as a downloadable PDF
Use widget scheduling
If your contest needs to begin or end at a specific time, use the widget visibility settings to control when Widget(s) are shown or hidden. You can use the parent Container to set visibility settings for all widgets nested within it. This allows for fewer visibility settings to configure and fewer mistakes from happening.
Learn more about Widget Visibility.
Have separate entry and voting phases
To keep your voting contest fair—especially for late entries—consider dividing the contest into entry and voting phases:
- During the entry phase, users can submit entries, but voting is disabled.
- During the voting phase, no new entries are accepted, and users can vote.
Bot prevention
Contests, sweepstakes, and giveaways often attract bots and fraudulent entries. ShortStack provides tools to help prevent them. For every tool, what it covers and which plan includes it, see Bot and fraud prevention tools.
Google reCAPTCHA
Available on the Scale Plan.
Google reCAPTCHA protects your campaign by analyzing user behavior and other factors to detect bots. You can enable reCAPTCHA in both the Form Container Widget and the Entry Display Widget. You'll need your own Google reCAPTCHA keys, added in Campaign Settings under Security, before the Enable Google reCAPTCHA checkbox becomes available.
Learn more about Google reCAPTCHA and how to create the keys.
Cloudflare Turnstile
Available on the Scale Plan.
Cloudflare Turnstile is a smart CAPTCHA alternative that helps block bots from accessing your campaign. While it may cause a slight delay in page loading, it effectively reduces the number of fraudulent entries. We recommend using the visible option so visitors see a loading screen while verification occurs.
Learn more about Cloudflare Turnstile.
Fraud Filter
Available on the Scale Plan.
The Fraud Filter helps identify and manage suspicious or repeated patterns by labeling, filtering, and rejecting unwanted entries. You can use Entry Filters to reject entries from flagged users or bots, or to keep them out of prize draws.
Learn more about the Fraud Filter.
Entry and voting restrictions
The most secure method for restricting entries and votes is the Email Login. Users will need to enter a verification code sent to their email before proceeding.
You can enable this feature in your form and as a voting restriction.
Form set-up
- Open the Form Container Settings.
- Select the Entry Restrictions tab.
- Enable Entry Restrictions by Login.
- Select the frequency. Save and exit.
- Add a Field Widget to the Form Container.
- Select Login as a Standard Field type.
- Configure the Email Settings.
Entry Display Widget set-up
- Open the Entry Display Widget Settings.
- Select the Voting tab.
- Enable Voting Restrictions.
- Restrict voting by Email Address.
- Edit the frequency.
- Configure the Email Settings.
Check that Email Login is ready
Before you publish, reopen the Login Field or the Entry Display Widget settings and look at the Email Login button. A red Email Configuration Required (or Configure Email Login) button means the verification email hasn't been chosen yet, so visitors can't receive a code. Choose it in Campaign Settings under Email Login, then publish your changes.
Learn more about Entry Restrictions and Voting Restrictions.
Collecting Voters’ information
If you want to collect information from voters, you'll need to use a form. The recommended method is to restrict voting until after the voter completes the form.
Steps to collect voter info
- Add a new Form Container to your campaign.
- Create a new List to store voter information separately from your entries.
- Adjust the new Form Container’s settings as needed.
- Add Field Widgets such as Name and Email to the Form Container.
- Open the Entry Display Widget settings.
- Go to the Voting tab.
- In the Advanced section, enable Start with vote button hidden. Save and exit.
- Add an Action Widget.
- In the WHEN section, click the blue + button, select the second Form Container, and set "form is successfully submitted".
- In the THEN section, click the blue + button, select the Entry Display Widget, and set "show voting button".
- Save and exit.
- Test your campaign to ensure it works as expected!
Related resources
7 Ways to Protect Your Contest From Entry & Voter Fraud (Blog)
Bot and Fraud Prevention Tools (Help Doc)
Restricting Entries Using reCAPTCHA (Help Doc)
Prohibit Fraudulent and Spam Entries with Fraud Filter Feature (Help Doc)
Was this helpful?
Thanks — that helps us decide what to fix next.
Sorry this missed. Tell us what you needed and we'll get you an answer — and fix the page.