Mautic forms: how to create, embed and protect them
How to build Mautic forms: Standalone vs Campaign Form, field mapping, post-submit actions, spam protection, embedding and native landing pages.

Forms are the main way new leads get into Mautic: they turn an anonymous site visitor into a trackable contact who can enter your automations. The first decision with Mautic forms is the type. A Standalone Form acts on its own, and a Campaign Form is the source of a campaign. That choice defines where the logic lives, in a capture that only collects emails or in one that starts a whole journey. Picking the wrong one is a common reason a form "works" but automates nothing.
The path from an empty form to a converted lead has five steps: pick the type, build and map the fields, set the post-submit behavior, protect against spam and embed the form on your site.
The two types of Mautic forms
When you click New, Mautic asks for the type before anything else, and the type decides where the form's logic lives.
The Standalone Form is independent. The actions that happen after submission sit in the form's own Actions tab and fire the moment the form is sent: a confirmation email, adding the contact to a segment, adjusting the score. It is the right choice for simple capture (newsletter sign-up, contact form, content download) without branching automation.
The Campaign Form does not use the Actions tab for the flow. It exists to be the source of a campaign: whoever fills it in enters the linked campaign, and you build decisions, waits and conditions in the Campaign Builder. Pick it when you want real marketing automation.
| Aspect | Standalone Form | Campaign Form |
|---|---|---|
| Where the logic lives | the form's Actions tab | the campaign's blocks |
| Depends on a campaign? | No | Yes, it is the campaign's source |
| Best for | simple capture, newsletter, contact | journeys with branching |
| Flow flexibility | immediate, linear actions | decisions, waits and conditions |
A common question is whether you can start with a Standalone Form and switch later. The type is set at creation, so if you know you will automate, create a Campaign Form from the start, even if the campaign is still simple.
How to create Mautic forms step by step
Go to Components > Forms and click New in the top right corner. Choose the type and work through the tabs.
Fields tab
This is where the form takes shape. Click Add Field, pick a type and configure it:
- Label: the text the visitor sees (for example, "Your name").
- Contact field: the Mautic contact field that receives the value, so the data lands in the right place. If you need data that does not exist by default, first create a custom field.
- Required: whether the field must be filled in.
- Placeholder: the hint text inside the field.
Mautic ships with many field types. These are the ones a lead capture form uses most:
| Field type | Typical mapping | Use |
|---|---|---|
| Text | First Name | Contact's name |
| Required, identification key | ||
| Tel | Phone | Phone / WhatsApp |
| Select | Custom field | Segmentation (job title, interest, company size) |
| Country | Country | Ready-made country list |
| Checkbox group | Custom field | Consent under privacy laws such as GDPR or LGPD |
| Hidden | Custom field | Lead source (UTMs) |
| Captcha | - | Native anti-spam barrier |
Do not skip the email field. Every capture form needs a field mapped to the contact's Email, or Mautic cannot create or identify the contact. Mautic also deduplicates through this field: if the email already exists, the form updates that contact instead of creating a duplicate.
What happens after submission
The Post action setting defines what the visitor sees once the data is sent. There are three behaviors:
- Redirect to a URL: sends the contact to a thank you page. It is the best default, because a visit to that URL can be tracked as a conversion in Google Analytics 4.
- Display a message: shows a confirmation in place of the form, without leaving the page.
- Stay on the page: keeps the page and the form in place, useful when the form can be filled in more than once.
Always configure a redirect or a message. A visitor who gets no feedback tends to submit again.
Actions tab for Standalone Forms
In a Standalone Form, this tab is where you tell Mautic what to do on submission. The available actions include:
- Send email to contact: the autoresponder (kickback email) the contact receives.
- Send email to user: a notification to you or to the sales team.
- Modify contact's segments: add the contact to segments or remove it.
- Modify contact's tags: apply or remove tags.
- Adjust contact's points: add or subtract lead score.
- Push contact to integration: send the contact to a connected integration.
A Campaign Form does not need these actions here. The campaign handles them, with more control over the flow.
Spam protection
An unprotected public form can fill the database with fake contacts within days. Mautic has a native Captcha field type that you add in the Fields tab to require an answer before submission. A cheap second layer is a honeypot: a hidden field that humans do not see and bots usually fill in. If it arrives with a value, the submission was automated and can be discarded. For more hostile traffic, you can add reCAPTCHA through community plugins. On any public form, combine captcha and honeypot from day one.
Embedding Mautic forms on your site
After saving, open the form and Mautic shows the embed code in three variations. The code comes from the form itself, not from a campaign.
| Method | How it works | Tracking |
|---|---|---|
| Automatic (JavaScript) | a generated <script> renders the form on the page | full, through Mautic's native cookie |
| Manual (HTML) | you paste the raw HTML of the form | works if mtc.js is on the page |
| Manual (iframe) | an iframe points to the form in Mautic | limited (cross-domain cookie) |
The Automatic method fits most cases. It is the simplest to paste and the one that keeps visitor tracking working. In WordPress, paste the code into the page editor, use a script injection plugin or install the official WP Mautic plugin.
Landing pages for your forms
Mautic also hosts landing pages under Components > Landing Pages > New, with a visual editor, ready-made templates and drag-and-drop blocks. Pages hosted in Mautic have native tracking turned on, so every visit is recorded on the contact's profile once the contact is identified.
To place a form on a landing page, edit the page and drag the form block into the content area, or insert the form token ({form=ID}) where it should appear. Mautic then renders the fields and actions you already configured.
A page that converts usually has a clear headline with the main benefit, a one-line subheadline, 3 to 5 short points on what the lead gets, the form, a button with a specific action text and, optionally, a real testimonial or a concrete number. Remove the navigation menu so the button is the only thing to click. For more elaborate designs, build the page in WordPress and embed the form with JavaScript. Tracking keeps working and the contact lands in the same database.
Landing pages also support A/B tests through variants. You create a variation of a page, set the traffic weight of each version and let Mautic split visitors between them. The winner is judged by a native criterion such as bounce rate or time on page, and you promote it when the test ends.
Good capture practices
- Ask only for what you need. Short forms reduce friction and convert better.
- Use a Hidden field to capture the lead source (UTMs) with JavaScript before submission.
- Turn on progressive profiling to ask for new fields on each visit instead of one long form.
- Add a consent checkbox for privacy laws such as GDPR or LGPD when it makes sense.
- Test the form before publishing and check in Contacts that the contact arrived with the right fields.
Start simple (name and email) and add fields as the lead moves down the funnel. The official reference is the Mautic forms documentation.
Mautic forms FAQ
How do I embed a Mautic form on my website or in WordPress?
When you open a saved form, Mautic shows the embed code in three variations: Automatic (a <script> that renders the form and brings native tracking, the recommended one), Manual (the raw HTML to paste into the page) and Manual via iframe. In WordPress, paste the Automatic code into the page's code editor, use a script injection plugin such as Insert Headers and Footers, or use the official WP Mautic plugin. Cookie tracking works best with the JavaScript embed.
Does Mautic create a duplicate contact if someone submits the form twice?
No. Mautic identifies the contact by email address. If the address already exists in the database, the form updates that contact with the new values instead of creating a new record. That is why every capture form needs a field mapped to the contact's Email field, the identification key. Without it, Mautic cannot match or deduplicate the contact.
What is progressive profiling in Mautic forms?
It is the feature that keeps a form from asking again for data Mautic already has about the contact. On each field you can choose to hide it when the profile already has a value, and you can limit how many fields the form shows per visit. For example, the first form asks for name and email, and on the next one Mautic shows job title or company in their place. You enrich the contact gradually without scaring visitors off with a long form.
Can I customize the design of Mautic forms?
Yes. Mautic generates the form's HTML and CSS, and you can add your own styles in the form configuration or through the CSS of the site where it is embedded. For full control of the layout, you can write the HTML yourself and send the data to Mautic's form submission endpoint.
Can I use a custom domain for Mautic landing pages?
Yes. By default, landing pages live on the domain of your Mautic installation, served by each page's alias. To use your own domain or subdomain, point it to the Mautic server in DNS and adjust the Site URL in the Configuration. From then on, the landing pages answer at the address you chose.


