🎉 Celebrate with 10% OFF on All Products! Use Code: GFEX10 Or Buy Any 2+ Items for 30% OFF with Code: GFEX30!
Home Add-ons Elections & Ranked Ballots
Premium Integration

Gravity Forms
+ Elections & Ranked Ballots

Run member elections for your club, association, union, board or student body on your own site with Gravity Forms. Only the members on your voter roll can vote, each of them once: import the roll from a CSV of e-mail addresses or member numbers, or from WordPress users by role, and send every voter a personal one-time ballot link through a Gravity Forms notification, or let members vote while logged in. Ballots are secret: each vote is stored under a random ID, apart from the record that the member has voted. Ballot fields let voters pick one candidate, pick up to N, or rank the candidates by drag and drop or from the keyboard, with bios, photos and an optional write-in. Counting by plurality, approval, instant-runoff with a round-by-round table, or single transferable vote for several seats, with a published tie-break rule, blank and spoiled ballots counted separately, turnout and quorum. Results stay hidden until voting closes, then appear on an admin page and with a shortcode, with an anonymous ballot CSV and an audit report. All processing is local, with no outside connection.

User User User User
+2k
4.9/5
Trusted by 2,000+ Agencies
Elections & Ranked Ballots

Watch it in action

Gravity Forms Elections & Ranked Ballots Setup Guide: Voter Roll, Ballot Links, IRV & STV Count

Video setup guide: Gravity Forms Elections & Ranked Ballots

Core Features

Voter roll from a CSV (e-mail, name, member number) or from WordPress users by role, with duplicates merged
Personal one-time ballot links, signed and sent through a Gravity Forms notification with election merge tags
Or logged-in voting: only WordPress users on the roll can vote
Opening and closing time; ballots outside the window are refused
Ballot field per position: pick one, pick up to N, or rank the candidates
Ranking by drag and drop, buttons or keyboard, announced to screen readers; bios, photos, write-in and random order
Secret ballot: votes stored under random IDs in their own table, apart from the has-voted flag; no entry is kept
One vote per voter enforced on the server: reused links, forged links and repeats are refused
Counting by plurality, approval, instant-runoff with a round-by-round table, or single transferable vote (Droop quota, fractional surplus transfer)
Published tie-break rule with a seeded lot anyone can repeat; blank and spoiled ballots counted separately
Turnout and quorum; results hidden until the close (organiser preview), then on the admin page and with a shortcode
Paper ballots, an anonymous ballot CSV and an audit report with the SHA-256 of the ballot set. Local only, no outside connection

What does it do?

Clubs, associations, unions, residents' associations, school councils and boards hold elections every year, and more and more of them want members to vote online. A normal form is not enough for that: anyone could fill it in, the same person could vote twice, the answers sit next to the voter's name, and ranked ballots still have to be counted by hand. The Gravity Forms Elections & Ranked Ballots add-on turns a form into a proper election on your own site.

You add a voter roll from a CSV of e-mail addresses or member numbers, or from WordPress users by role, and each voter gets a personal one-time ballot link by e-mail through a Gravity Forms notification. Members can also vote while logged in. Every vote goes into a secret ballot box: it is stored under a random ID, apart from the record that the member has voted, and the server refuses a second ballot from the same voter, a reused or forged link and any vote outside the opening and closing time.

Each position on the ballot is a field: pick one, pick up to N or rank the candidates by drag and drop, with buttons or from the keyboard, with short bios, photos and an optional write-in. The add-on counts with plurality, approval, instant-runoff (with a round-by-round table) or single transferable vote for several seats, follows a published tie-break rule and keeps blank and spoiled ballots apart. Results stay hidden until voting closes; then they appear on the admin page and wherever you place the results shortcode, together with turnout, quorum, an anonymous ballot CSV and an audit report. Your organisation runs the election under its own rules; the add-on gives you the tools and a transparent count.

How does it work?

Each election is a Gravity Forms form with one Election ballot field per position. When a member opens their ballot link, the add-on checks the link's signature, the voter roll and the voting time before it shows the ballot, and checks everything again when the ballot is submitted. A valid ballot is cast in one step: the voter's has-voted flag is switched on only if it was off, and the choices go into the add-on's own ballot box under a random 32-character ID, with no name, account, address, link or time. The Gravity Forms entry never holds the vote and is removed, and the usual submission e-mails are not sent for a ballot. After the close the add-on counts every position: plurality and approval in one round; instant-runoff round by round, eliminating the candidate with the fewest votes until one has a majority of the continuing ballots; single transferable vote with the Droop quota and fractional transfer of surpluses. Ties are broken by the earlier rounds and then by a lot drawn from a published seed. The audit report lists every round and the SHA-256 of the anonymous ballot CSV, so anyone can check the count. Unlike public likes or star ratings on entries, or polls that show live results, this add-on keeps a voter roll, one vote per voter, a secret ballot and ranked counting. Everything runs on your own server — the add-on makes no outside HTTP request beyond the licence and update checks.

Interface Previews

Screenshot
Screenshot
Screenshot
Screenshot

How do I enable this?

1
Install and activate the add-on, then activate your license key in Forms → Settings → Elections.
2
Add an Election ballot field for each position to a form, then turn on Election in Form Settings → Elections and set the ballot page and the voting times.
3
Open Forms → Elections, add your voter roll from a CSV or by WordPress role and press Send ballot links.
4
When voting closes, read the results with every round, publish them with the shortcode and download the anonymous ballots and the audit report.

Customer Reviews

Submit your review
1
2
3
4
5
Submit
     
Cancel

Create your own review

GravityExtra
Average rating:  
 0 reviews

Have a new Feature idea?

Didn't see a feature in our plugin that you think would be useful? Share with us and let the team be a part of it.

Submit a Feature Request
$59
$39/year
You Save $20
Add any 2nd item, get 30% OFF both!
Use code GFEX30 at checkout
Secure checkout via Stripe
What's Included
  • Automatic Yearly Renewal
  • 1 Year Free Support & Updates (Renewable)
  • 24x7 Dedicated Customer Care
24/7 Support
For any query, connect with us on our support portal.
Submit a Query →
Quick Info
Version 1.0.1
Changelog
Icon
Gravity Forms Elections & Ranked Ballots
12 people are viewing this

Wait! Don't leave
empty-handed 🎁

Grab these exclusive codes to use at checkout!

10% OFF On all products
GFEX10
30% OFF Best Value
On any 2+ items
GFEX30

No thanks, I'll pay full price

Someone just bought this A few seconds ago
0
0
Your Cart
Your cart is emptyReturn to Shop
🔥 FREQUENTLY BOUGHT TOGETHER
Complete Combo & Save 40%!
ITEM IN YOUR CART
Gravity Forms Klaviyo Add-on
$39.00/yr
+
🎁 RECOMMENDED ADD-ON SAVE 40% OFF
Original Price: $49.00/yr
Bundle Special Price: $29.40/yr