How to win or cheat ANY online voting contest – Whole Whale
It’s no secret that I’m not a fan of voting competitions, especially ones that are built irresponsibly. That’s why I’ve set out to create the definitive guide on breaking (/cheating) poorly designed nonprofit voting problem with voting competitions is that they pit nonprofits against each other for a prize that usually doesn’t come close to the true cost of the votes that these organizations push to get. What’s more, they run the risk of burning out the supporters of these great organizations.
In the worst case scenario, one organization decides to cheat because the system is designed with flaws by some marketing firm and they see a way to easily game the system to win money for their great cause. I am not justifying or endorsing cheating – I actually believe the only way to win these contests is by not playing. However, in an effort to scare the pants off of people creating these contests I decided to create this Whole Whale does not cheat on behalf of our clients. It is not a service WW offers nor will ever! @WholeWhale just wrote the guide on how to beat most nonprofit online voting contests. Click To Tweet
Step 1: Figure out how it is built
Online voting competitions will use a variety of ways to track votes through a website. Here are the most common building technical:
A Web Form Built with the GET method
This method (low security) means that the form will push the data into the URL and you will see it. e. g. to break: Find that URL and go ham on the refresh button. Hide the cookies and IP address if they are tracking. Post that link anywhere you can and every click will equal a vote. Honestly, no reputable contest will be built this way because it isn’t 2006, but hey, you never know…
A Web Form Built with the POST method
This method (medium security) means that the form will push the data through the body of the request and will not show in the to break: you may be able to use the back button if cookies aren’t being set. If they are being set you can hide cookies with a browser like Chrome with cookies disabled. If they built it correctly you will need a more advanced human assisted tech approach (see step 2 below).
Cookies – contests that don’t require a sign in and allow anonymous votes depend on cookies that may have timers in some cases. To break: clear your cookies, vote, repeat. Use Chrome and a cookie remover to block the cookies of the site, if it still lets you vote you’re all set to click away. The browser has very good privacy protection that will block this type of tracking. Cookie and IP on mobile – if you are using a mobile device you can try switching to airplane mode and using a wifi network to confuse the IP tracking. IP – Some use the IP to determine location voting. You can use a proxy server or a local VPN like Hotspot Account – This will require multiple accounts and a more advanced approach to get enough votes. Depending on how the account is authenticated, it may be not be possible to automate mass confirmation – This is the most common system I see, it requires an email to be confirmed from the inbox with the link to record the vote.
Step 2: Human assisted automation
The following are various tactics which can be combined to break most voting systems with a little help from third party tools. In order to not look suspicious it is important not to show suspiciously large voting counts – I can immediately tell if a distribution of votes is unnatural and violating an expected power law (20% of the contestants getting 80% of the total votes). In one case we spotted this in a contest one of our clients were considering and we advised them not to participate – later we found several articles on the cheating that had Whole Whale does not cheat on behalf of our clients. It is not a service WW offers nor will ever offer.
A macro is a program that you can setup on a computer that goes through a series of clicks and keyboard strokes on a timed interval. If a voting system doesn’t require a captcha or other human test, a macro can be created to go through a voting cycle unabated. Combine these tools with a hotspot shield and cookies disabled on a computer can break most non-email verification process. Some tools:
Macro Express – downloadable software that will let you turn your computer into a bot that is timed to click and enter information as toHotkey – downloadable software that will let you click the heck out of buttons or load pages.
For secure voting systems that don’t have strict email confirmations, there are ways to generate emails quickly. These email hacks can also be used to create accounts for systems the require logins.
Any single Gmail, Hotmail, Yahoo or normal domain email address can be made into thousands of emails by adding a “+” or “. ” after the name and before the “@” sign. For example, can be and the email will still be delivered to your you own your own domain, you can create a bunch of aliases for one email ilinator – this is a site that will generate emails for you on demand and give you a quick inbox that the confirmation link will be sent to. Using a variety of email domains can help make this look less spammy. This is a list of temporary email domains hosted via mailinator:
For a nominal amount of money, an organization can purchase votes or emails through ‘Vote Brokers’. These groups will do your bidding in the same way they translate audio to text or do other simple outsource tasks for companies. Technically it is against the Amazon Turk policy to pay workers to vote – which is great. However you can still hire someone on a site like UpWork to build a script that could use the above tactics.
A proxy vote traditionally means that a voter transfers their right to vote to a third party. Massive lists of proxy accounts can be managed by a single person simply logging in one by one and voting. Imagine if political staffers could collect permission to vote on behalf of voters in a district in perpetuity — not really the will or action of a crowd, but highly best way to win a nonprofit voting competition is by not entering. Click To Tweet
Finally, for the contest creators
This post is meant to ruin poorly designed voting competitions and to scare anyone thinking about building a nonprofit voting competition. I hate the idea of cheating nonprofits and I think that starts when a contest doesn’t use responsible design.
Responsible Contest Design Questions
Can your online system be quickly gamed by the exploits above? (I beg you not to use GET requests or anonymous voting)Can you use a third party authentication to stop the email hack? Is the prize pool large enough to make an expected value equation make sense for all participants?
Expected Value for Voting Contest = Prize amount * (total # winners / total # charities)
Do the nonprofits involved get to keep the voter data that relates to their org? In the case of emails, do they get them? Is there a way to build this so that every participant wins in some way? Is the time frame limited so there is only a small window of nonsense voting requests? Is there a clever way to design the voting process so that it actually produces some positive impact for the nonprofit? e. g. voters have to submit photos they take of the cause that the nonprofit can have access to later for their photo database. Or they must submit 1 idea that they think would improve their work. you use a threshold voting, where nonprofits need to get to X votes to be considered by a panel? This caps the voting nonsense while still getting a bit of the network effect you are hoping for your brand. This pairs well with a social integration.
I hope these questions will spur some more creative approaches to contest design and will add more value to the nonprofits who Whole Whale does not cheat on behalf of our clients. It is not a service WW offers nor will ever offer. Also, please don’t reach out to us to vote for your contest.
So there you have it – our guide to breaking online voting contests so your nonprofit can win. And more importantly, to bring transparency to this one-sided marketing tactic.
Even more awesome resources
To truly leverage the power of Facebook Fundraisers, you and your team need a clear and easy-to-read view of the data. Sound like a lot of work? Thankfully, Whole Whale’s already done the work for you with this Facebook Google Data Studio dashboard! Check it out!
Facebook Fundraiser Dashboard Template
Plus, download this free, simple checklist to make sure you’re covering all your bases when you set up your next nonprofit campaign!
Web scraping 101. How to make a simple bot for winning in…
How to make a simple bot for winning in any voting or competitionWeb scraping is a process of retrieving data and conducting certain actions online. It is usually done by a bot in order to automate certain repetitive tasks. This is a rather large field of study and there are a lot of fun things you can do with it. Getting started does not have to be slow and difficult. In this article, I will bring you through a simple process of creating a bot and how you can expand on it in the future. No prior experience is required, just Python and Internet tutorial is intended for beginners with any programming level and everything will be explained as clear and straightforward as possible. I will use a random folklore competition to demonstrate the voting. You can use any website you like and adapt based on that. (Screenshot by Author)Before diving straight into coding there are two things we have to have set 1. Install an IDEFirst, we need a place where the code will be written if you do not have one already. I prefer using Visual Studio Code as it is simple and provides anything you can need. Simply search “Visual Studio Code” and download the latest it is installed click the Extension Button and install Python. (Screenshot by Author)Step 2. Download ChromeDriverWe need a module to be able to work with Google Chrome. This step is rather short. Search for “ChromeDriver Chromium” and download the latest version. Once it is downloaded, unzip the Windows, copy the file, create a folder such as “C:\webdrivers” and place it there. Now, go to the PATH settings and add the folder path there(if you do not know where this is, there are plenty of explanations in Google) Mac and Linux, open terminal and typemv ~/Downloads/chromedriver /usr/local/binStep 1. Prepare files and packagesGreat, now we are set up and ready to start! Let’s create a new folder and call it “web-scraping”. Now, open Visual Studio Code and create a new file called “” the terminal window type:python -m venv venvThis will create a virtual environment, which basically allows us to install packages without modifying anything in your system packages. To activate it:source venv/Scripts/activateNext, we need one package, that will help us in working with a web browser. Type:pip install seleniumStep 2. Start CodingOpen our vote_bot file in VS Code. The first line we are going to have is:from selenium import webdriverimport timeThis will add the web driver support to our project and help us in later steps. Additionally, we are importing time just to be able to keep the page open for, we are going to define a bot. This bot will be doing the work for us. The class definition is basically describing an object we want to have. For example, a dog has certain characteristics, such as legs, height, speed, and age. Same with a bot, we need to input its characteristics. In this tutorial, I am trying to make it as simple as possible so the only definition we need is the driver we will use for working with a VoteBot(): def __init__(self): = (“C:\webdrivers\”)Now
when we create a bot the first thing that happens is the driver is defined. We can actually try it out and see how it works. By typing python we can run the program. If we add “-i”
we can directly interact with the code. (Screenshot by Author)After repeating the steps above a new browser window should open. If you do not see a new Chrome window make sure you have properly installed ChromeDriver and selenium
Frequently Asked Questions about voting bot free
which is explained in the previous need a function that will do the voting. Here the voting process is simply opening a link
so say we are picking the second contestant and we will just copy the link for voting. The following code will open the page for voting
keep it open for 1 second
and then close VoteBot(): def __init__(self): = (“”C:\webdrivers\””)def vote(self): (”) (1) ()Now
we have finished making our bot. All we need is to add a loop so we can generate an infinite amount of votes and test it. The full code is attached VoteBot(): def __init__(self): = (“”C:\webdrivers\””)def vote(self): (”) (1) ()while True: bot = VoteBot() ()Step 3. Sit back and enjoy(Screenshot by Author)Simply type “python ” in your terminal and watch the bot repeat the task many many times. As you can see the bot will vote
close the windows