HappyForms Integration
HappyForms is a WordPress form builder that uses the WordPress Customizer as its form editor. WP Smart Consent integrates with HappyForms to add an opt-in checkbox to any form, with per-form configuration accessed from the HappyForms form list.
Enabling the Integration#
In the WP Smart Consent dashboard, go to Form Sources and toggle HappyForms on. Per-form behavior is then configured individually from the HappyForms form list.

Per-Form Settings#
WP Smart Consent integrates with HappyForms as a form field you add in the HappyForms builder. HappyForms’ own CRM integrations are Pro-only, so WP Smart Consent adds a dedicated WP Smart Consent field that works on the free version of HappyForms and carries all of its settings on the field itself.
Adding the field#
HappyForms builds forms inside the WordPress Customizer rather than a standard post editor. To add consent tracking to a form:
- Go to HappyForms → Forms and open the form you want to edit (this launches the HappyForms builder in the Customizer).
- In the Build tab, click Add a Field.
- Choose WP Smart Consent from the field list. It appears alongside HappyForms’ native fields.
- Configure the field (see below), then click Update to save the form.
All WP Smart Consent settings for the form live on this field — there is no separate settings page. Add the field once per form where you want to capture consent.
Form Type#
The Form type setting controls when a submission is forwarded to your CRM destinations. The field always renders as a consent checkbox on the front end; the form type only changes the forwarding logic.
- Contact — forward only when this box is ticked. The submission is forwarded to your CRM destinations only when the visitor ticks the consent checkbox. Submissions left unticked are still recorded in your dashboard logs (with consent marked as not given) but are not forwarded.
- Newsletter — forward every submission. Every successful submission is treated as an opt-in and forwarded automatically.
You can also edit the Consent text shown next to the checkbox, and toggle Enable WP Smart Consent to turn the field’s processing on or off without removing it from the form.
Collect Fields#
Under Map the form fields WP Smart Consent should collect, map the form’s fields to standard WP Smart Consent data fields. Each dropdown is populated automatically from the form’s other fields.
- Email field — required.
- First name, Last name, Phone, Company, Country — all optional.
HappyForms identifies each field by an integer part ID, and submitted values are keyed by that ID, so lookups are direct. Because IDs are assigned when a field is created, deleting and re-adding a field changes its ID — see Troubleshooting.
Extra Fields#
The Extra fields section maps any additional HappyForms field to a custom CRM key. Click Add extra field to add a row, choose the form field on the left, and enter the CRM key on the right. Add as many rows as you need; remove a row with the × button. Each mapped value is sent alongside the standard contact data on every opt-in, and is also recorded with the submission in your dashboard logs.
CRM Overrides#
The CRM overrides section lets you override list IDs and tags per CRM for this specific form. Click Add CRM override to add a row, then enter the CRM slug (for example, mailchimp), a comma-separated list of list IDs, and comma-separated tags. These values take precedence over the global settings for that CRM when this form is submitted.
Submission Hook#
WP Smart Consent listens on happyforms_submission_success, which fires after every valid, non-spam HappyForms submission. Failed validations and spam-filtered submissions never trigger this hook, so consent is only captured on genuine successful submissions. Values are read from the submission array by each field’s integer part ID.
Logging#
Every qualifying submission is recorded in the WP Smart Consent dashboard under the happyforms source, including the mapped contact fields, the actual consent state (whether the box was ticked), and any extra mapped fields. Submissions with no email and no consent given are skipped to keep the log meaningful.
Troubleshooting#
WP Smart Consent field not appearing in the builder — confirm both HappyForms and WP Smart Consent are active, then reload the form in the Customizer (HappyForms → Forms → open a form). The field is added to HappyForms’ field list on init; open the Add a Field panel in the Build tab and look for WP Smart Consent.
Field settings panel is blank — this usually means the builder scripts didn’t finish loading. Do a hard refresh of the Customizer screen. If it persists, temporarily disable other plugins that enqueue scripts on the Customizer to rule out a conflict.
Submissions not being logged — confirm the WP Smart Consent field is added to the form and Enable WP Smart Consent is on. Make sure the Email field is mapped, and in Contact mode that the consent box is ticked on submit. Enabling WP_DEBUG_LOG will surface a [WP Smart Consent] HappyForms … line for each submission indicating exactly what happened.
Wrong field values forwarded — HappyForms field IDs are integers assigned at field creation time. If a field was deleted and re-added in the Customizer, its ID changes. Re-open the WP Smart Consent field settings for that form and re-select the correct fields.