If you’re reading this, you probably want a simple way to show a WordPress form in a popup without wrestling with code or complex setup. Ninja Forms and Popup Maker are your perfect pair for exactly that. You can launch a basic WordPress popup form for free in minutes, and the same setup can scale as your needs grow.
Ninja Forms gives you a free core form builder with optional add-ons for things like conditional logic, multi step forms, payments, and direct connections to popular email and CRM platforms. Popup Maker gives you a free core popup engine with simple triggers and targeting, and optional extensions for advanced display rules like exit intent, scheduling, and geotargeting. Put the two together and you have a fast start now with room to expand later.
Just 3 easy steps to go live with a WordPress popup form
1. Create your form in Ninja Forms
Build your form as usual. When you are ready to place it, copy the form shortcode from your Ninja Forms dashboard or use the Ninja Forms block. That shortcode works anywhere WordPress renders content, which includes a popup content area.

2. Create a popup in Popup Maker
Add a new popup in your WordPress admin, paste your Ninja Forms shortcode into the popup editor, then publish. Popup Maker’s quick start and editor guides show where to find the popup settings and how to add a trigger.

3. Choose a trigger and targeting
On the free tier of Popup Maker, you can open the popup after a short delay, on click of a button or link, or after a form submission. You can also target the popup to posts, pages, categories, tags, and other standard content types right from the popup settings. That is usually all you need for a contact form, newsletter signup, lead magnet, or quote request.

Bonus: Grow into advanced control when you are ready
As your goals get more specific, turn on extensions in Popup Maker and add-ons in Ninja Forms. You can layer in exit intent and scroll triggers, advanced targeting rules, scheduling, and geotargeting on the popup side, and connect your form directly to Mailchimp, HubSpot, Salesforce, Constant Contact, and many more on the form side. You can also add conditional logic, multi step pages, and payments to the form when it makes sense. Build up only what you need.
What the free combo gives you today
A fast path to a working popup form
Create a form, paste its shortcode into a popup, pick a simple trigger, and publish. Popup Maker documents the process of adding a trigger and shows exactly where those settings live.
Core triggers that cover most basic use cases
Time delay for a gentle prompt, click to open from any button or menu item, or open after a form submission. These three triggers are included for free.
Straightforward targeting
Show the popup on a single page, all posts, only a category, or similar standard content targets using the built in conditions that ship with the free plugin.
A flexible form builder that does not lock your data
Ninja Forms core covers all the basics like letting you publish forms, see and export submissions for free, and manage email notifications. When you begin needing advanced features, you can add just what you need from a large catalog of add-ons including conditional logic, file uploads, multi step pages and more, or bundle and save via our membership packages.
This WordPress popup form setup scales when you need more
Smarter popup timing and behavior
Add exit intent popups to catch visitors before they leave or show a popup after a reader scrolls a certain amount. These are available as premium extensions in Popup Maker.
Target the right audience at the right moment
Move beyond basic content targeting with advanced conditions, geotargeting, and scheduling. Run a weekend promo, show a region specific message, or exclude customers who already converted.
Connect directly to your marketing stack
Send new leads straight into your email service or CRM with official Ninja Forms integrations for Mailchimp, Constant Contact, ActiveCampaign, HubSpot, Salesforce, Zoho, and many others. Prefer to automate through a gateway like Zapier or Webhooks instead? That’s available too!
Build richer form experiences
Guide visitors through multi step forms, show or hide fields with conditional logic, collect files, take payments, and more. Every one of these capabilities is a modular Ninja Forms add on, so you only add what you plan to use.
After submit options without custom code
Want to show a thank you message in a second popup or close the popup after a short delay when the form is submitted? Popup Maker’s form submit actions cover this workflow.
Wrap up and next steps
You do not have to choose between simple and scalable. Ninja Forms and Popup Maker give you a free start that can grow step by step into advanced targeting, smarter timing, and direct marketing integrations. Create your form, drop it into a popup, pick a trigger, and you are live. When you need more, add the features that fit your goals.
Ready to try it? Download Ninja Forms here or install directly from your WordPress dashboard and create your first form. Then install Popup Maker and add your form to a new popup with a simple trigger. Both are free to start, and both have upgrade paths when you want them.



Aimee Paterson says:
Hello!! Thanks for this. I use Ninja Forms Pro and just installed Popup Maker. Could you by chance help provide instructions on how to do this exact same thing, but have the form pop-up when a button on a specific page is clicked? I have worked through some other tutorials and have not had luck setting it up correctly.
Thanks!!
Quay Morgan says:
Aimee,
Hey! That’s something you’d have to work within Popup Maker to achieve; I believe what you’re looking for is a Trigger, and those can be set to clickable parts of a page. I know you can do it, I’m just not sure specifically what the mechanics look like.
Here’s Popup Maker’s documentation to help you out: https://docs.wppopupmaker.com/
And more specifically, this is probably what you’re looking for: https://docs.wppopupmaker.com/article/144-trigger-click-open
Cheers,
Quay
Jana says:
Hello!
I really enjoyed your discussion, but seem to have run into an issue.
Ninja form is not showing up in all the pop-ups on the webpage I shared.
(The same ninja form get’s pulled in every time).
Please go to the exhibition stand availability blocks to see what I mean. Only the EB08 block seems to work correctly. If you compared it to EB07 for example, you will see that the form doesn’t show up.
Is there a restriction on how many times the same ninja form (in this case ninja_form id=25) can be used on a specific page with different popups?
Thank you very much for your time!
Jana
Quay Morgan says:
Jana,
Having the same form on a page multiple times can be problematic, popups aside. You may try duplicating the form and using a unique copy for each popup. If that doesn’t help, please let us know in our support channela nd we’ll work through it with you!
https://ninjaforms.com/contact/
Cheers,
Quay
Eric says:
The “Add Form” button doesn’t appear on my site next to the “Add Media” button.
Ideas?
Curtis Brownlee says:
Hi Eric,
If you would, can you contact our support team at https://ninjaforms.com/contact/ so that they can take a look and help point you in the right direction?
Best Regards,
Curtis
John Roberts says:
@Ninja, Best contact plugin ever. It’s too far good from contact form 7.
Thanks, ninja team
Declan Lawton says:
Hi James McCluskey,
Thanks for the amazing guide. I am going to try it straight away.
Alice says:
Hello,
How can i reset the ninja form after closing the popup?
I have the form in a popup and when it is submitted correctly it shows a message in the popup, but I would like to reset the form when i close the popup to be able to send the form again.
Shaylee Hansen says:
Hello Alice,
Take a peek at Popup Maker’s documentation. In My Popup Only Opens Once it gives you information on how to reset the cookie.
Eugenia says:
Using a Ninja Form on my main page and another Ninja Form inside a popup results in a critical JavaScript error: Uncaught SyntaxError: Identifier ‘nf_check_recaptcha_consent’ has already been declared.
This seems to happen because Popup Maker is injecting Ninja Form’s front-end-deps.js script a 2nd time without checking if the script is already enqueued and without using a script id a version.
Mia Cantrell says:
Hi
Good catch! Have you reached out to Popup Maker’s support team? I would assume they would be in the best position to make sure their plugin doesn’t do that.
Thanks
Mia