- Blog
- How to Add a Waitlist to WordPress (GetWaitly Widget)
Article
How to Add a Waitlist to WordPress (GetWaitly Widget)
Add a real waitlist signup form to WordPress with two lines of code — a Custom HTML block or a footer plugin, plus a no-JavaScript fallback. Step-by-step, with fixes.
You want a waitlist signup form on your WordPress site — not a Mailchimp redirect, but a real waitlist that tracks referrals and sends updates. GetWaitly's embeddable widget drops into WordPress with two lines of code, no plugin required.
Here is exactly how to add a waitlist to WordPress, and the one plan limitation to know about first.
The short answer
Add a Custom HTML block to the page where you want the form and paste your GetWaitly embed snippet. The widget renders inline, matches your brand colors, and collects subscribers straight into your dashboard. On a self-hosted WordPress site (WordPress.org) this always works. On WordPress.com, JavaScript in HTML blocks requires a Business plan or higher. Total time: 5 minutes.
What you need
- A GetWaitly account with a waitlist created. The free plan covers 100 subscribers.
- Your waitlist's public ID (from the Widget/Embed section of the dashboard).
- A WordPress site. Self-hosted (WordPress.org) works on any host. WordPress.com needs a plan that allows custom JavaScript — free, Personal, and Premium strip script tags; Business and Commerce allow them.
Step 1 — Get your embed code
In your GetWaitly dashboard, open the waitlist and go to the Widget section. Copy two pieces of code:
Script tag (loads the widget):
<script src="https://getwaitly.com/widget.js" defer></script>
Container div (where the form appears):
<div class="gw-widget" data-waitlist-id="YOUR_WAITLIST_ID"></div>
Replace YOUR_WAITLIST_ID with your waitlist's public ID.
Step 2 — Add the form to a page
Open the page or post where the waitlist belongs in the WordPress block editor. Click the + button, search for Custom HTML, and add the block.
Paste both parts into the block:
<div class="gw-widget" data-waitlist-id="YOUR_WAITLIST_ID"></div>
<script src="https://getwaitly.com/widget.js" defer></script>
Click Preview or Publish. The signup form renders where the block sits.
That is the whole integration. If your theme supports it, the form inherits your GetWaitly accent color and font automatically.
Step 3 — Or load the script site-wide (optional)
If you plan to show the widget on several pages, load the script once instead of on every page. Add only the script tag globally, then place only the container div on each page.
With a plugin: Install a header/footer plugin like WPCode or Insert Headers and Footers, and paste the script tag into the Footer section (before </body>).
<script src="https://getwaitly.com/widget.js" defer></script>
Then, on each page, add a Custom HTML block with only the div:
<div class="gw-widget" data-waitlist-id="YOUR_WAITLIST_ID"></div>
Without a plugin: Edit your theme's footer.php (in Appearance → Theme File Editor) and paste the script tag just before </body>. A plugin is safer — theme updates overwrite manual edits.
Step 4 — Use the popup variant (optional)
If you want a button that opens the form in a modal instead of an inline form, use the trigger variant. Add the script once (Step 3), then place a button where you want it:
<button class="gw-trigger" data-waitlist-id="YOUR_WAITLIST_ID">Join waitlist</button>
This is a good fit for a header CTA or a sticky button.
Step 5 — Test it
Publish and open the page in a private window. You should see the signup form. Submit a test email and confirm:
- The success message appears.
- The subscriber shows up in your GetWaitly dashboard.
- On mobile, the form is full-width and easy to tap.
If the form does not appear, see the troubleshooting section below.
Troubleshooting
The form is blank. Most often, JavaScript was stripped from the HTML block. On WordPress.com, move to a Business plan, or use the no-JavaScript method below. On self-hosted sites, check whether a security or caching plugin is stripping <script> tags — some "optimization" plugins defer or remove them.
The script loads but the form does not render. The data-waitlist-id must be the waitlist's public ID, not its URL slug. Copy it again from the dashboard.
Nothing shows in the editor. Some block editors do not run third-party JavaScript in the editor preview. Check the published page, not the editor.
Alternative: no JavaScript at all
If you cannot run scripts (for example, on WordPress.com free), point a native HTML form at your waitlist's form action URL. No widget script, no plugin:
<form action="https://getwaitly.com/api/join/YOUR_WAITLIST_ID" method="post">
<input type="email" name="email" required placeholder="Your email" />
<button type="submit">Join the waitlist</button>
</form>
The browser posts the signup and redirects to your thank-you page. You lose the inline success animation and the match-your-branding styling, but the signup still lands in your dashboard.
Alternative: the hosted page
If editing your WordPress theme or blocks is more than you want to do right now, GetWaitly includes a hosted page. Publish it at getwaitly.com/w/your-id, customize the content and branding, and link to it from your site. It works as a standalone destination while you build the product.
FAQ
Do I need a plugin to add a waitlist to WordPress?
No. A Custom HTML block on the page is enough for the inline form. A plugin is only useful if you want to load the widget script site-wide and place the form on multiple pages without repeating the script tag.
Does the GetWaitly widget work on WordPress.com?
Yes, if your plan allows custom JavaScript. WordPress.com free, Personal, and Premium plans strip <script> tags; Business and Commerce allow them. On lower plans, use the no-JavaScript form action above or link to the hosted page.
Will the widget slow down my WordPress site?
No. The script uses defer, so it loads after your content, and it is under 15KB. Load it site-wide once via a footer plugin if you use the widget on several pages.
Can I add the waitlist to a sidebar or footer widget area?
Yes. Use a Custom HTML widget in Appearance → Widgets (or the block-based widget editor) and paste the container div there. Load the script site-wide first.
Does the form match my site's design?
The widget uses your waitlist's accent color and font from GetWaitly settings. It cannot be styled independently, but you can control its width and alignment by placing the container div inside a styled wrapper in the block editor.
How do I collect names or phone numbers, not just emails?
Enable those fields in your GetWaitly widget settings. The inline widget form renders the fields you configure. Custom fields are supported too.
Related guides
- How to Embed GetWaitly on Carrd — the same widget on Carrd, step by step
- How to Add a Waitlist to Webflow — the Code Embed method
- Which Form Builder for a Waitlist? — form builders vs a dedicated waitlist tool
- 7 Best Waitlist Tools for Solo Founders in 2026 — the full comparison
The simple, affordable waitlist for indie hackers. Start free in 5 minutes — no credit card required. Try GetWaitly free →
Written by
Aymane E.
Founder of GetWaitly. I write about validating ideas, pre-launch, and growth from building a waitlist tool as a solo founder.
Follow on X →