Contents

Web-to-lead forms - Plugixa CRM

Build a form, put it on a page, and submissions become leads.

The web forms screen, listing each capture form with its status and submission count

Building one

Administration -> Web forms -> Create, then use the builder to choose the fields, their order, which are required, and the labels and helper text.

The fields map onto lead fields, so a submission arrives as a lead with nothing to reconcile.

A web-to-lead form on a page of the site

Putting it on a page

Either works, and they do the same thing:

[plugixa_crm_lead_form id="3"]

or the CRM lead form block, with the form chosen in the sidebar.

Why this one is simpler than it would be anywhere else

Worth a short digression, because it explains what is missing compared with a standalone CRM.

A CRM that is not part of your website has to get a form onto a site it does not control. That means an API key, a form id, a hosted form URL, a list of allowed frame ancestors for the iframe’s security policy, and pages of example-request documentation. Every one of those exists to cross an origin boundary.

This plugin is already inside the site. The form renders in the page itself and posts to a same-origin route, so none of that exists. There is no API key to manage and no embed code to paste.

Double opt-in

A form can require confirmation: the person submits, receives an email with a confirmation link, and becomes a lead only when they click it.

Setting What it does
Opt-in Require confirmation
Template The message that is sent, from your email templates
Hours How long the confirmation link is valid
Create before opt-in Whether the lead exists before they confirm, or only after

That last one is the decision. Creating before confirmation gives you the lead even if they never click, at the cost of a list full of unconfirmed addresses. Creating after gives you a clean list and loses the ones who meant to confirm and did not.

Abuse control

The public endpoint is protected by three things rather than a nonce, because a form a stranger fills in cannot carry one:

  • A honeypot field, invisible to people and irresistible to bots.
  • A rate limit, per IP address.
  • An optional CAPTCHA.

There is no privileged action for a forged request to trigger: the worst a successful forgery achieves is a junk lead.

It works without JavaScript

The form posts as an ordinary HTML form when scripts are unavailable, and the endpoint accepts both that and JSON. A page with no form on it loads none of the form’s assets at all.

Where else leads come from

Your site probably already has a contact form. The premium Forms connector PRO feeds Contact Form 7, WPForms, Gravity Forms and Elementor submissions into the CRM without rebuilding them here.

Use this feature when you want a form built for the CRM; use that one when you want the forms you already have.

Troubleshooting

Symptom Usual cause
Submissions arrive but no lead appears Double opt-in is on with “create before opt-in” off. They have not confirmed.
The confirmation email did not arrive It goes through wp_mail like everything else. Check your SMTP plugin.
A confirmation link says it expired The opt-in window has passed. It is configurable in hours.
Lots of junk submissions Turn on the CAPTCHA. The honeypot and rate limit catch the lazy ones.
The form does not appear The shortcode has no id, or the form is inactive.
Styling looks wrong The form inherits your theme. It ships almost no CSS of its own on purpose.
Nothing happens without JavaScript It should still post. Check the page is not caching the form’s nonce field oddly.
I cannot find the API key to embed it elsewhere There is none. This form is for this site.

What to do next

Quick Links