Mailchimp Integration: Setup and TroubleshootingPRO
Send FormForge Pro submissions straight to a Mailchimp audience. Paste your API key once globally, then per form pick which audience receives subscribers and which form field carries their email. This page walks through the setup, explains double opt-in, covers merge-tag mapping, and diagnoses the four most common failures.
In Mailchimp: Account > Extras > API Keys > Create A Key, copy the key. In WordPress: FormForge > Integrations > Mailchimp, paste the key, save. Then in the form’s Form Settings > Integrations tab, check Mailchimp, pick your audience from the dropdown, pick your form’s email field, choose double opt-in on or off, save. Test with a real submission.
How the Mailchimp integration works
FormForge Pro uses Mailchimp’s Marketing API v3 to subscribe visitors on form submission. The sequence is synchronous:
- Visitor submits the form.
- FormForge saves the entry in FormForge > Entries.
- FormForge extracts the email address from the form field mapped as Email.
- FormForge builds a subscribe payload (email + optional merge fields + optional groups + optional tags + double opt-in flag) and sends it to Mailchimp’s Marketing API v3.
- Mailchimp adds the contact to the audience (if double opt-in is off) or moves them to Pending (if double opt-in is on) so its confirmation email can fire.
- FormForge sends the success response back to the visitor’s browser.
The Mailchimp call runs inside the same request as the form submission, so a slow Mailchimp response does delay the visitor’s success message (bounded by WordPress’s HTTP request timeout, usually 5 seconds). Errors on the Mailchimp side don’t roll back the entry save; the form submission still succeeds and the error is logged to WordPress’s error log with lines prefixed FormForge Pro - Mailchimp:. If you have WP_DEBUG_LOG enabled in wp-config.php, those lines land in wp-content/debug.log; otherwise check your PHP error log location (varies by host).
Mailchimp API keys are formatted abcd1234...-us14 (or -us1, -eu1, etc.). The suffix after the hyphen is the data center your Mailchimp account lives in. FormForge parses this from your key and builds the API endpoint as https://{dc}.api.mailchimp.com/3.0/. If you ever move your Mailchimp account to a different data center, you’ll need to re-copy the API key so the suffix reflects the new location.
1. Paste your Mailchimp API key
One-time global setup that lets FormForge talk to your Mailchimp account. The API key is shared across every form that uses Mailchimp.
Sign in to Mailchimp
Go to mailchimp.com.
Open Account & Billing
Click your profile icon at the bottom-left of the Mailchimp dashboard. Choose Account & Billing.
Open the Extras dropdown, click API Keys
Along the top of Account & Billing, click Extras, then API Keys.
Click Create A Key
Under Your API Keys, click Create A Key. Give it a descriptive name (something like “FormForge Pro on yoursite.com”) and click Generate Key.
Copy the key immediately
Copy the full API key from the confirmation screen. The format is a long hex string, a hyphen, then your data-center suffix (like abcd1234efgh5678ijkl9012mnop3456-us14). If you navigate away before copying it, the key stays visible in the Your API Keys list on the same page, so you can come back and copy it later.
Paste into FormForge > Integrations > Mailchimp
In WordPress admin, go to FormForge > Integrations, click the Mailchimp card, toggle Enable Mailchimp on, paste the key into the API Key field, click Save Changes. The status should flip to Connected.
2. Enable Mailchimp on a specific form
Each form independently decides whether to push subscribers to Mailchimp and which audience they go to. You can have one form feeding a “Newsletter” audience and another feeding a “Sales Leads” audience.
Open the form in the builder
Go to FormForge > All Forms and click the form name.
Open Form Settings > Integrations tab
In the Form Settings panel on the right, click the Integrations tab. Under the Email Marketing block, find the Mailchimp row.
Check Mailchimp
Toggle the Mailchimp checkbox on. The settings below expand to show the audience dropdown and email-field picker.
Pick a destination audience
The Audience dropdown lists every audience in your Mailchimp account, populated live from Mailchimp’s API. Pick the one that new submissions should join. If the dropdown is empty or shows a loading state indefinitely, see the troubleshooting section below.
Pick the form’s email field
The Email field dropdown lists every Email-type field on your form. Pick the one that carries the visitor’s email address (the address that Mailchimp subscribes). Leave it on Auto-detect if the form has only one email field; FormForge picks it automatically at submit time.
Decide on double opt-in
Check Require double opt-in confirmation email to have Mailchimp send a confirmation email before adding the contact to the audience. Recommended for most business cases. See the section below for details.
Save the form
Click Save Form at the top right of the builder. Submit a test entry with a real email address you control, then check Mailchimp’s Audience > Contacts to confirm the subscriber appears.
Double opt-in: what it means and when to use it
Mailchimp supports two ways of adding subscribers:
| Mode | What happens | When to use |
|---|---|---|
| Single opt-in (checkbox off) |
Contact is added to the audience immediately, no confirmation email. They start receiving campaigns as soon as your next send. | You’re confident the email address is real (typed by the visitor themselves, not scraped or imported) AND you want maximum conversion rate. Higher subscriber count, more dirty data. |
| Double opt-in (checkbox on) |
Contact is added to the audience in Pending state. Mailchimp sends them a confirmation email; they must click the link to be confirmed. Only confirmed contacts receive campaigns. | Everything else. Cleaner list, verified addresses, GDPR-friendlier, protects your sender reputation. Standard for lead-gen and newsletter forms. |
With double opt-in on, contacts appear in Mailchimp under Audience > Manage Audience > Pending until they click the confirmation link. They’re not visible in the main Contacts view during that pending state. If a contact stays pending for more than a few days, they probably didn’t receive the confirmation email (spam folder or wrong address); it’s worth checking Mailchimp’s Manage Contacts > Filter by Subscriber Status: Non-subscribed to find them.
Mapping form fields to Mailchimp merge tags
Every Mailchimp audience has merge tags, which are placeholders for subscriber-specific data. Default merge tags include FNAME (first name), LNAME (last name), PHONE, ADDRESS, plus any custom fields you added under Audience > Settings > Audience fields and *|MERGE|* tags.
FormForge’s per-form Mailchimp settings include an optional Field Mapping section where you pair a form field ID with a Mailchimp merge tag. Values flow with the subscribe call.
Note the merge tag you want to fill
In Mailchimp, go to Audience > Settings > Audience fields and *|MERGE|* tags. Each field’s merge tag is shown in the right-hand column (like FNAME or *|COMPANY|*). Copy the tag name (without the *| pipes).
Note the FormForge field ID you want to map
In the form builder, click the field. Its numeric ID appears at the top of the field settings panel.
Add a mapping row in the Mailchimp settings
In the form’s Integrations tab > Mailchimp block, add a mapping row: FormForge field ID on the left, Mailchimp merge tag on the right. Repeat for each field you want to sync.
Save the form and test
Submit with test data, then check the new contact in Mailchimp. Their profile should show every mapped field populated with the values from your form submission.
FormForge only sends fields you explicitly map. Form fields with no mapping don’t get pushed to Mailchimp; they still save to FormForge > Entries as usual. That’s intentional so a large form doesn’t flood Mailchimp with dozens of unused merge tags.
Troubleshooting the four common failures
1. Audience dropdown is empty in the form settings
Three possibilities:
- API key wrong or missing. The dropdown is populated by a live call to Mailchimp’s API using your global key. Go to FormForge > Integrations > Mailchimp and confirm the key is filled in and shows Connected. Try re-pasting it.
- No audiences exist in Mailchimp yet. Sign into Mailchimp and confirm you have at least one audience under Audience > All contacts. Create one if not.
- Your web server can’t reach the Mailchimp API. Rare, but managed hosts with aggressive outbound firewalls occasionally block calls to
*.api.mailchimp.com. Ask your host to allow outbound HTTPS to that hostname.
2. Submissions aren’t landing in Mailchimp
Four checks in order:
- Confirm the form’s Mailchimp settings are complete: Mailchimp toggle on, audience picked, email field picked (or set to Auto-detect).
- Confirm the visitor is entering a valid email in the form field mapped as Email. Test with a real email you control. If the field is empty or malformed, FormForge logs
No email found in submissionand skips the subscribe call. - If double opt-in is on, check the Pending list. New contacts appear in Audience > Manage Audience > Pending until they click the confirmation link. They’re not in the main Contacts view during that state.
- Check
wp-content/debug.log. FormForge logs Mailchimp-side errors verbatim with lines prefixedFormForge Pro - Mailchimp. Common messages:List ID not configured,No email found, or Mailchimp’s own API error text.
3. Mailchimp rejects with “permanently deleted” or “unsubscribed”
Once a contact unsubscribes from a Mailchimp audience, Mailchimp remembers that unsubscribe forever. The next form submission from that email address is rejected by Mailchimp’s API with a permanent-deletion or unsubscribed error. This is intentional on Mailchimp’s side and there’s nothing FormForge can do. The visitor has to re-subscribe manually via a Mailchimp-hosted signup form (Audience > Signup forms), or via their preference center if they still have a link from a past campaign.
4. Merge tag values not appearing on the new contact
Three checks:
- Merge tag name is exact. Mailchimp merge tags are case-sensitive and shown WITHOUT the surrounding
*|pipes (soFNAME, not*|FNAME|*). Copy directly from Audience > Settings > Audience fields. - Form field has a value on that submission. If the form field was empty, no merge field value is sent. The contact still gets created; the merge field just stays empty.
- Merge tag actually exists on the audience. If you renamed a merge field in Mailchimp, the old tag name stops working immediately. Grab the current tag name and update your FormForge mapping.
Gather: (a) whether the API key shows Connected in FormForge > Integrations, (b) which audience is picked in the form settings, (c) which form field is mapped as Email, (d) whether double opt-in is on, (e) any lines from wp-content/debug.log prefixed FormForge Pro - Mailchimp. Send to support and we can dig in.
FAQ
How do I connect FormForge Pro to Mailchimp?
Two setup surfaces: a one-time global API key, then per form pick which audience to send submissions to. In Mailchimp, go to Account > Extras > API Keys, click Create A Key, copy the key. In FormForge > Integrations > Mailchimp, paste the key, enable Mailchimp, save. Then for each form that should push subscribers, open the form’s Form Settings > Integrations tab, check Mailchimp, pick the destination audience from the dropdown, pick which form field holds the visitor’s email, decide on double opt-in, save.
Where do I find my Mailchimp API key?
Sign in at mailchimp.com. Click your profile icon at the bottom-left, choose Account & Billing. Open the Extras dropdown at the top, click API Keys. In the Your API Keys section, click Create A Key. Give it a descriptive name (something like FormForge Pro) and click Generate Key. Copy the full key from the confirmation screen. The format is a long hex string followed by a hyphen and a data-center suffix like us1 or us14, which is important because FormForge derives the API endpoint from that suffix.
What is double opt-in?
Double opt-in means Mailchimp sends the subscriber a confirmation email after your form is submitted. The subscriber has to click a link in that email before they’re actually added to your audience. This is the recommended default for most business cases (verified email addresses, cleaner list, GDPR-friendlier). Single opt-in adds them straight to the audience without confirmation, which converts higher but gives you dirtier data. Toggle the choice per form in FormForge’s Mailchimp settings. See the double opt-in section for the full comparison.
The Mailchimp audience dropdown is empty in the form settings. Why?
Three possibilities. (1) The global Mailchimp API key is missing or wrong; the dropdown is populated by an AJAX call to Mailchimp using the global key. Check FormForge > Integrations > Mailchimp and confirm the key is filled in and shows Connected. (2) The Mailchimp account has no audiences yet; create one in Mailchimp first. (3) Your web server can’t reach the Mailchimp API endpoint. This is rare, but managed hosts with aggressive outbound firewalls occasionally block calls to api.mailchimp.com. Ask your host to allow outbound HTTPS to *.mailchimp.com.
Submissions aren’t landing in Mailchimp. What now?
Four checks in order. (1) Confirm the form’s Integrations tab has Mailchimp on AND a list is picked in the dropdown. (2) Confirm the visitor is entering a valid email in the form field mapped as the Email field. Test with a real email address you control. (3) If double opt-in is on, the contact appears in Mailchimp as pending until the visitor clicks the confirmation link. Check both your Audience Contacts list AND the Manage Audience > Pending section. (4) Check wp-content/debug.log for lines prefixed FormForge Pro - Mailchimp which surface API-side errors verbatim.
Why did Mailchimp reject the subscriber as unsubscribed?
Once a contact unsubscribes from a Mailchimp audience, Mailchimp remembers that unsubscribe forever. The next form submission from that email address is rejected by Mailchimp with a “permanently deleted” or “unsubscribed” error. This is intentional on Mailchimp’s side (protects the visitor’s opt-out choice) and there’s nothing FormForge can do. The visitor has to re-subscribe manually through Mailchimp’s own signup form or via a Mailchimp-hosted preference center.
Can I map custom form fields to Mailchimp merge tags?
Yes. Every Mailchimp audience has merge tags (FNAME, LNAME, PHONE, etc.) plus any custom fields you added in Mailchimp under Audience > Settings > Audience fields and *|MERGE|* tags. FormForge’s per-form Mailchimp settings include an optional field-mapping section where you pair a form field ID with a Mailchimp merge tag. Values flow with the subscribe call. Unmapped merge tags stay empty. See the merge fields section.
What license tier includes Mailchimp integration?
Mailchimp is included at every FormForge Pro license tier. FormForge Pro ships in three tiers (Pro, Business, Agency) and Mailchimp is available on all of them.