Run Contests, Raffles, and Giveaways with ContestsWP


ContestsWP was developed so that you can easily build, launch, and operate contests and giveaways on your WordPress site. Whether you are running a promotion for a few dozen or a few hundred thousand contestants, ContestsWP is an effective and simple plugin which seamlessly integrates with your existing installation and plugins.

Launched in 2017, ContestsWP is currently used by hundreds of site owners and developers. Below are some examples of how ContestsWP is currently deployed:

ABC Autos is an up and coming car dealership in Detroit, MI. Upon visiting the dealerships website, a user is encouraged to sign up for the dealerships monthly newsletter via the user facing ContestsWP form (ContestsWP Pro can integrate with Mailchimp) and enter their monthly drawing for free oil changes for one year. The user simply enters their name and email address. Once per month, it takes the dealership just a few seconds to randomly pick the winner using the ContestsWP plugin. Since deploying ContestsWP, ABC Autos has seen a 300% increase in newsletter sign ups and has dramatically reduced the staff time needed to run the giveaway.

DEF Store in the Netherlands wants to increase their online sales. In order to do this they send out an email to their mailing list saying that for every online order they make they will get a code to check for a prize. The customer can then use the code on a ContestsWP form to see what they have won.

The free version has the following features:

  • Front-end contest form that can be easily customized
  • Admin area to manage contest codes with the ability to import codes
  • Admin area to view and export contestants

Additional Features in the Premium Version

  • Set up and run multiple contests
  • Add custom fields to user-facing form
  • Only show additional fields for winner contest codes
  • CAPTCHA support
  • Mailchimp integration
  • Personal support from the developer
  • Run contests of any size with as many contestants as you want
  • And much much more
  • More info at


  • Contest submission form
  • Contestants admin listing
  • Contest code admin listing
  • Contest code admin import area
  • ContestsWP settings area


  1. Upload the contest-code-checker folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Add and/or import your contest codes via the admin area
  4. Set the general options like winning and losing text and date ranges for when the contest is active
  5. Add the short code [contest_code_checker] to any page or post

ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ

Why can’t this plugin do X?

Good question, maybe I didn’t think about having this feature or didn’t feel anyone would use it. Contact me at and
I will see if I can get it added for you.

Is there a GitHub Repository?

Yes, that is where the main development is done –


11 ਨਵੰਬਰ 2020
I am very happy with this plugin. It is simple but is exactly what I need to run an online sweepstakes. I required some support from Mike and he was very prompt in responding.
28 ਫਰਵਰੀ 2018
I have been looking so long for such a plugin. All these social media linking contest plugin are trash. This plugin is easy and great! My company organized a raffel with about 5000 participants. The function to upload a code list including prizes and prize description made the set up so easy.
13 ਦਸੰਬਰ 2017
Brilliant plugin, plus the plugin developer is really helpful in assisting with any queries you may have.
13 ਜਨਵਰੀ 2017
A great plugin, easy to use and maintain. I’m surprised there is very little in the way of plugins to run competitions such as this – definitely worth checking it out
Read all 5 reviews

ਯੋਗਦਾਨੀ ਤੇ ਵਿਕਾਸਕਾਰ

“Run Contests, Raffles, and Giveaways with ContestsWP” is open source software. The following people have contributed to this plugin.




  • Updated the freemius library and updated the tested to 6.5.3


  • Updated the freemius library and updated the tested to


  • Updated the freemius library we use for license activations


  • Set a static date format for start and end dates. As people were running into date format issues.


  • Stylized the form a little bit so they look better by default
  • Changed the submit button from “submit prize” to just “submit”


  • Fixed a problem with imported contest codes having extra serialized data in them and it only showing up during the selection of generic prizes
  • Changed the contest code admin page to order by the contest code by default


  • Added the option to not save invalid contest codes


  • Fixed a bug where javascript validation was not done when the “pop-up” option was selected.


  • Sync with premium version number.
  • Added Freemius integration
  • Cleaned up the admin settings page to make it easier
  • Added checklist to prepare plugin for use


  • Fixed an issue in the uninstall script that was accidently deleting all posts, sorry about that.
  • Renamed admin menu from “Contest Code Checker” to “ContestsWP” to be consistent


  • Replaced the old import library with a newer Excel parsing library that is faster and has less bugs.


  • Updated the pot file for translations
  • Made some changes to the contestant export to try and speed it up for larger contests


  • Fixed an issue where the contestant’s first name wasn’t recorded when using a non-AJAX form
  • Added the submission date to the contestant’s grid and export


  • Added the ability to hide the first name, last name and email fields


  • Fixed php short-code openings that don’t work with some PHP configurations


  • Implemented boolval if the function does not exist which only happens in old versions of PHP


  • Another small fix for older PHP versions dealing with the empty function


  • Small fix for older PHP versions where the empty function can’t be a recipient of a functions return value


  • Improved the export all functionality so it is quicker


  • Made it so deleting and exporting of a large set of contest codes (30,000+) worked


  • Fixed a bug where if you entered a code that did not have a prize you would get a message saying the code was already used when it wasn’t
  • Set the execution time limit for deleting and exporting of contest codes to be unlimited to allow for large number of contest codes


  • Set the execution time limit for import files to be unlimited to allow for large contest codes to be imported


  • Made it so even anonymous users can use the ajax calls


  • Set email to winners to be text/html instead of a plain-text email


  • Included the generic prize information in the email to winners


  • Small label changes on the front-end form
  • Added ability to export contest codes
  • Added the ability to delete all contest codes
  • Added the option to show a message if the code is invalid, if nothing is specified the losing message will be displayed
  • Added the option to show a message if the code is already used, if nothing is specified the losing message will be displayed
  • Added the ability to specify the pop-up width and height in pixels
  • Split the contestant’s name into two fields first and last


  • Added the ability to create generic prize information that could be associated with multiple prizes
  • Fixed a problem where the “has this code been used” form field was not properly checked on the admin side
  • Added the option to have the prize information show as a modal instead of on the page


  • Added options and functionality to email winners with their prize information


  • Initial release