🎉 Celebrate with 10% OFF on All Products! Use Code: GFEX10 Or Buy Any 2+ Items for 30% OFF with Code: GFEX30!

Gravity Forms Waitlist Premium Add-on Setup Guide

Updated 8 min read Gravity Forms Integrations A–Z
On this page
  1. Video walkthrough
  2. What you need
  3. Install and activate
  4. Switch the waitlist on for a form
  5. Places and how many an entry takes
  6. The sign-up form
  7. How invitations work
  8. Keep the line
  9. Groups that do not fit
  10. Automatic or by hand
  11. The Waitlist screen
  12. The Gravity Forms entry limit
  13. Shortcodes, functions and hooks
  14. Privacy
  15. Frequently asked questions
  16. Does it work with forms that take payment?
  17. What if the invited person never answers?
  18. Can I let a person in who is not first in line?
  19. Does it change the Inventory & Submission Limits or Seat Picker add-ons?
  20. Does it work on cached pages?
  21. Which Gravity Forms versions does it support?
  22. Get started

Video walkthrough

Gravity Forms Waitlist Setup Guide: Capacity Limits, Waitlist Sign-Up & Automatic Invites
Video setup guide: Gravity Forms Waitlist Watch on YouTube

The Gravity Forms Waitlist Premium Add-on turns a full form into a waiting list. When the places of an event, a class or a limited offer are gone, visitors no longer meet a dead end: they see a short sign-up instead of the form. When a place frees up, the next person in line gets an email with a private link, and the place is held for them for the time you choose.

It works on its own, and it fits the add-ons that already limit a form. It reads the Gravity Forms entry limit, the submission limits and sold-out stock of the Inventory & Submission Limits add-on, and the seat chart of the Seat Picker add-on. It never changes them.

What you need

  • WordPress 5.8 or newer and PHP 7.4 or newer.
  • Gravity Forms 2.5 or newer. The add-on is tested with Gravity Forms 3.1.2 on PHP 8.3 and Gravity Forms 2.9.8 on PHP 7.4.
  • An active license key for this add-on.
  • A working way to send email from your site. Invitations are ordinary WordPress emails.

Install and activate

  1. Install and activate the add-on like any plugin, after Gravity Forms.
  2. Open Forms → Settings → Waitlist and enter your license key.
  3. In the same screen, choose how many days closed sign-ups are kept (180 by default) and whether the data is deleted when the add-on is deleted (off by default).

Switch the waitlist on for a form

Open the form, go to Settings → Waitlist and turn the waitlist on. A form counts as full when any one of these is true:

  • The places you set here are used up. The add-on counts the active entries of the form. An entry whose payment failed, was cancelled, voided or refunded gives its place back.
  • The Gravity Forms entry limit of the form is reached.
  • A submission limit of the Inventory & Submission Limits add-on is reached.
  • Every stock item of that add-on is sold out, when you chose to hide the form in that case.
  • Every seat of every session of a Seat Picker chart is taken.
  • Your own code says so, through the gewl_is_full filter.

If the form is closed by a schedule or hidden behind a password in the Inventory & Submission Limits add-on, no waitlist is shown. A closed form is not a full form.

The Waitlist form settings: places, how many places an entry takes, the sign-up form options and the invitation settings such as how long a place is held
The Waitlist form settings.

Places and how many an entry takes

Fill in Places when this add-on should do the counting, for example 20 seats in a workshop. Leave it empty when another setting already decides, such as the Gravity Forms entry limit. If one entry can take several places, choose the field that holds the number in How many places an entry takes. A Number, Quantity, Drop Down, Radio Buttons or Hidden field works; a value such as 3 or a priced choice such as 3 pipe 45.00 is read as 3 places. Without a field, every entry takes one place.

The sign-up form

The sign-up always asks for a name and an email address. You can add a phone number, a number of places (up to the maximum you set), a short note and a consent checkbox with your own text. You can also write the message for a full form, the message shown while places are offered to the line, and the message after joining. Two optional emails are available: a confirmation to the visitor with their place in line, and a short alert to one address of your choice for every new sign-up.

A Gravity Forms page where the form is full: a waitlist box with a message, name, email, phone, places needed, a note and a consent box, and a Join the waitlist button
When the form is full, visitors see the waitlist instead of the form.

The sign-up is a plain form post. It works without JavaScript, and it protects itself with a hidden trap field, a signed timer that a robot cannot skip, a limit of eight sign-ups an hour from one connection, and a check that refuses a second sign-up with the same email while the first is open.

How invitations work

When a place frees up, because an entry is deleted, moved to the trash or marked as spam, because a payment fails or is refunded, or simply because time passes, the add-on invites the next people in line. It checks right after those events and again every five minutes.

  • The person gets an email with a link made only for them. The link carries a random code that is stored only as a hash, so nobody who reads your database can use it.
  • Following the link puts the code in a private cookie and removes it from the address bar. The form is shown with a banner that says until when the place is held.
  • While the invitation is open, the place is held. With places counted here, the held places are taken off the free places at once, so nobody else can take them.
  • When the person submits the form, the invitation is used up, the sign-up shows as Took a place, the entry gets a note, and the next free place goes to the next person in line.
  • If the time runs out, the sign-up shows as Did not answer and the place goes to the next person.

An invited person who asks for more places than are held is told how many are left, and can try again with a lower number. If the same person submits the form with the email they used on the waitlist, without the link, the sign-up is also closed as taken.

Keep the line

With Keep the line on (the default), a free place goes to the line first. While people are waiting or hold an invitation, other visitors see the waitlist instead of the form, and a direct post to the form is refused. Switch it off if you prefer first come, first served.

Groups that do not fit

When people ask for several places, one group may be too big for the places that are free. Keep the order waits until the first group fits. Skip it invites the people behind who fit in the free places. When places are not counted by this add-on, for example with the Gravity Forms entry limit, the number of free places is not known, so People invited at once decides how many are invited at a time (one by default).

Automatic or by hand

Invite the next person automatically is on by default. Switch it off to decide yourself on the Waitlist screen. You can also change the hold time (48 hours by default) and write your own email. These placeholders work in the subject and the message: name, form_title, claim_link, expires, hours, places, position and site_name, each in curly braces.

The Waitlist screen

Forms → Waitlist shows one form at a time: free places, people waiting, invited, who took a place and who did not answer, and why the form is full right now. The line is a table with the position, name, email, phone, number of places, status, the time held until and these buttons:

  • Invite now: invites that person at once, even if the form is full. This is how you let a particular person in. The invitation lets them past the limits for their one submission.
  • Send again and Invite again: a new link, and the old one stops working.
  • Move to front: puts a waiting person first.
  • Remove and Delete: take a person out of the line, or delete a closed sign-up for good.
  • Invite the next people now: the same check the automatic invitation makes, for when automatic invitations are off.
  • Export (CSV): the whole list; a cell that starts with an equals sign or similar is protected so a spreadsheet never runs it as a formula.
The Waitlist screen in Gravity Forms: cards with free places and people waiting, a note that the form is full, and the line with Invite now, Move to front and Remove buttons
The Waitlist screen: who is waiting, who is invited, and one click to invite the next person.

Everything on the screen needs the Gravity Forms capability to edit entries, and every button is protected by a security token.

The Gravity Forms entry limit

Gravity Forms shows its own limit message and nothing else when its entry limit is reached. With the waitlist on, the visitor sees the waitlist box instead, and the limit still applies to everyone who is not invited. An invited person gets in for their one submission.

Shortcodes, functions and hooks

  • The gewl_waitlist shortcode with a form attribute shows the sign-up on any page when that form is full. Add always equal to 1 to show it all the time.
  • The gewl_waiting shortcode with a form attribute prints the number of people waiting.
  • The functions gewl_get_waitlist, gewl_is_form_full and gewl_invite_next read the line, ask the state and invite the next people from your own code.
  • The filters gewl_is_full, gewl_used_places, gewl_free_payment_statuses, gewl_signups_per_hour and gewl_max_waiting change the rules. The actions gewl_joined, gewl_invited, gewl_claimed and gewl_invite_expired let you connect other tools.

Privacy

Names, emails and phone numbers on a waitlist are personal data. The add-on takes part in the WordPress export and erase tools under Tools → Export Personal Data and Erase Personal Data. Closed sign-ups are deleted after the number of days you chose. The add-on stores a one-way hash of the visitor address for the rate limit, never the address itself, and it contacts no outside service.

Frequently asked questions

Does it work with forms that take payment?

Yes. A payment that fails, is cancelled, voided or refunded gives its place back, and the next person is invited. Pending payments keep their place until they change.

What if the invited person never answers?

The place is held for the time you set. After that the sign-up shows as did not answer and the next person is invited.

Can I let a person in who is not first in line?

Yes. Press Invite now on their row. They get the link, and it lets them submit once even when the form is full.

Does it change the Inventory & Submission Limits or Seat Picker add-ons?

No. It only reads them, and it needs neither of them. For an invited person it steps aside from the submission limit of the Inventory & Submission Limits add-on, but never from its schedule or its password.

Does it work on cached pages?

The sign-up form carries a signed timer that is valid for two days, so a cached page keeps working for that long. The private invitation cookie needs the page to be served by WordPress for the visitor who follows the link, so exclude the form page from full page caching, as you would for any form page.

Which Gravity Forms versions does it support?

Gravity Forms 2.5 and newer. It is tested with Gravity Forms 3.1.2 on PHP 8.3 and Gravity Forms 2.9.8 on PHP 7.4.

Get started

The Gravity Forms Waitlist Premium Add-on keeps the people you would otherwise lose, and fills every place that opens up. See the features, the price and the setup guide on the add-on page.

See the Waitlist add-on

Still need help?

Our support team answers tickets every day, usually within a few hours.

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: $39.00/yr
Bundle Special Price: $23.40/yr