Capture & forms
Optcatch builds your list from the forms you already have, and records a consent basis for every contact it stores.
Universal auto-detect
Universal auto-detect is on by default and picks up any form with an email field: contact forms, newsletter boxes, popups, theme and page-builder forms, or hand-written HTML. You don't need any code or a specific form plugin.
- Login, password, search and payment forms are ignored.
- Passwords, payment/card data and other sensitive field types are never captured.
- The setting lives in Optcatch → Settings: Enable Universal Form Auto-Detection across entire website.
If you'd rather choose forms yourself, turn auto-detect off. Then only forms you have marked with the consent class (see below), plus the form-plugin integrations you switch on, are captured.
Consent policy
Under Settings you choose one of two policies:
| Policy | What happens |
|---|---|
| Strict Consent (default, recommended) | Optcatch adds a consent checkbox to the forms it detects. A contact is stored only if the visitor ticks a marketing opt-in checkbox. If the box is not ticked, nothing is sent or stored and the form submits normally. A privacy-policy or terms checkbox on its own never counts as marketing consent. |
| Automatic Consent on Submission | Every form submission is stored as a contact, without an extra checkbox. The contact is recorded as captured under this policy, not as a ticked checkbox. You are responsible for having a legal basis (for example under GDPR) to email these contacts. |
Under Strict Consent you also choose the Form Submission Gate:
- Optional Checkbox: visitors can submit without ticking; only ticked leads receive email campaigns.
- Required Checkbox: the form cannot be sent until the box is ticked.
Use Required only on newsletter sign-up forms. On contact or enquiry forms, GDPR requires marketing consent to be optional: a visitor must be able to send their message without agreeing to receive marketing emails.
Forms with their own consent checkbox
Two situations, one rule:
- A form with no consent checkbox of its own needs nothing. Universal auto-detect captures it and adds the consent checkbox where Strict Consent requires one.
- A form that already has its own marketing opt-in checkbox (form plugin, page builder, theme or custom HTML): add the class
lcc-consentto that checkbox, or to its field wrapper. The form is then detected automatically and your checkbox is used as the consent gate instead of a second one.
In WPForms, Elementor and most builders, put the class in the field's CSS Classes setting. In plain HTML:
<label class="lcc-consent">
<input type="checkbox" name="newsletter">
Yes, send me news and offers by email
</label>
The class name can be changed under Settings → Advanced: Your Own Consent Checkbox Class.
Contact Form 7 acceptance field
Universal auto-detect already captures Contact Form 7 forms. If you would rather have the checkbox be part of your CF7 form (validated and styled by CF7), use CF7's native acceptance tag. Any acceptance tag whose label mentions marketing, newsletter or updates is recognised as the opt-in:
[acceptance acceptance-optin optional] I agree to receive marketing updates [/acceptance]
Consent wording and versions
Under Settings → Consent Wording & Checkbox Text you set the text shown next to the plugin's consent checkbox. The wording in force, with its version id, is recorded with each contact for your audit trail.
- Every change to the text creates a new consent version automatically. Settings shows the current version.
- Each contact keeps the consent text recorded at signup and its version id, so a later wording change never rewrites older records. For your own
lcc-consentcheckbox the browser only reports that it was ticked, so the recorded text is your Settings wording in force at that time. For a form plugin's own consent field, the plugin records that field's label where the form plugin passes it, otherwise a note that the label text was not available.
Supported form tools
Every form with an email field is captured. On top of universal capture, these are also integrated server-side, with their native consent/acceptance fields recognised and the form name recorded as the contact's source:
- Contact Form 7
- WPForms
- Elementor Pro Forms
- Gravity Forms
- Fluent Forms
- Ninja Forms
- WooCommerce
For WooCommerce, customers can opt in at checkout or at account registration. Divi, Bricks, Beaver Builder, theme footers, popup builders and custom HTML forms are captured through universal auto-detect.
Leads from outside your site Pro
To push leads from Zapier, Make, Typeform or any other tool, Optcatch Pro adds a webhook / REST API endpoint. See Webhooks & REST API. Forms on your own site never need it.
No form yet? The shortcode
Only for sites with no form at all. Drop this shortcode on any page, post or footer widget and it renders a ready-made, mobile-friendly signup form with the consent checkbox built in:
[optcatch_form]
CSV import and manual entry
Bring an existing list in under Optcatch → Contacts → Import.
- Prepare a
.csvfile whose first row contains column headers. Standard names such as Email, First Name, Last Name, Phone and Tags are recognised automatically. - If your headers are different (for example in another language), fill in Custom Column Header Mapping.
- Optionally tick Update existing contacts. By default, a matching email only has its blank fields filled in.
- Confirm that all contacts in the file have affirmatively consented to receive email from you, then import.
- Up to 5,000 rows per file, on every plan. Split larger lists into several files.
- Imported contacts are recorded as customer-declared, with the permission statement you affirmed, a timestamp and your user id.
- A contact who unsubscribed stays unsubscribed, even if you import them again.
- Use Manual Contact Entry on the same screen to type in a few contacts.
- Use Export Filtered CSV on the Contacts screen to export.
What is stored per contact
Captured from a form (only when the visitor ticks the consent box, under Strict Consent):
- Email address, and any of phone, first name and last name, read from your form's own fields.
- The URL of the page the form was on.
- Consent evidence: status opted in, the consent basis (checkbox ticked, or your automatic-consent policy), the consent wording version in force with its recorded text, and a UTC timestamp.
Imported: the fields you provide (email, phone, first and last name, tags) and the consent evidence described above. There is no per-contact company field; the {{company}} merge tag always shows your own company or site name.
Sending data: per-recipient send records (campaign, contact, sent / failed / skipped, timestamp) and unsubscribe events.
By default no contact data leaves your site. If you connect SendGrid, Gmail, Microsoft 365 or an SMTP server, the recipient address and email content are sent to that provider to deliver each message.