=== Integration for Mailchimp - Contact Form 7, WPForms, Elementor, Gravity Forms and More ===
Contributors: plugcrux, integrazo, padmadev
Tags: mailchimp, contact form 7, wpforms, elementor forms, gravity forms
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.0
Stable tag: 1.0.14
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Connect Contact Form 7, WPForms, Elementor Forms, Gravity Forms, and more form submissions with Mailchimp.

== Description ==

This plugin sends form submissions from Contact Form 7, WPForms, Elementor Forms, Gravity Forms, and Formidable Forms to Mailchimp.

When a user submits a form, the plugin can add or update subscribers in your Mailchimp audience. This helps reduce manual data entry and keeps your Mailchimp lists in sync with your website forms.

Supported form plugins:

- [Contact Form 7](https://wordpress.org/plugins/contact-form-7/)
- [WPForms](https://wordpress.org/plugins/wpforms-lite/)
- [Elementor Forms](https://wordpress.org/plugins/elementor/)
- [Gravity Forms](https://www.gravityforms.com/)
- [Formidable Forms](https://wordpress.org/plugins/formidable/)

https://www.youtube.com/watch?v=i4_GFZFVo84

== Authentication ==

To connect your Mailchimp account:

1. Go to the Accounts page in the plugin.
2. Click Add Account.
3. Enter an identifiable account name (for example, “Main Mailchimp Account”).
4. Enter your Mailchimp API key in the API Key field.
5. Click Save Account.
6. After saving, the account will be listed on the Accounts page.

== Add Integration ==

To create a new integration:

1. Go to the Setup page.
2. Click Add Integration.
3. Enter an integration name (for example, “Newsletter Signup Form”).
4. Select the form type (Contact Form 7, WPForms, Elementor, Gravity Forms, or Formidable).
5. Choose the connected Mailchimp account.
6. Select the Mailchimp audience (list) where subscribers should be added.
7. Map form fields to Mailchimp fields in the field mapping section.
8. Optionally map additional fields such as name, phone, address, or tags (where supported).
9. Use the filter criteria section to apply conditions (for example, sync only if a checkbox is selected).
10. Click Save Mapping.

== Logs ==

The plugin provides a logs section to review how data is being sent to Mailchimp.

- Open the Logs page to see a list of submissions and their statuses.
- Typical statuses include:
  - SUCCESS – subscriber created or updated successfully.
  - RECORD_FAILED – subscriber not created due to an error (for example, an invalid email).

Additional options:

- Filter logs by integration, status, or date range.
- Open the log details view to see the full request, response, and error messages.
- Resync or delete individual records, or use bulk actions where available.

== Settings ==

Global settings can be managed from the Settings page:

- Delete data on uninstall – when enabled, plugin data will be removed when the plugin is deleted from WordPress.
- Error email notification – enable or disable email notifications when a record fails.
- Notification emails – specify one or more email addresses (comma-separated) to receive error notifications.
- Email subject – set the subject line for error notification emails.

== Privacy and Data Handling ==

- Form submission data is sent from your WordPress site to Mailchimp via their API.
- The plugin does not send data to any third-party service other than the configured Mailchimp services.

== Free and Paid Features ==

The plugin is available in a free version with optional paid features.

Free version includes:

- Connect up to 2 Mailchimp accounts
- Connect up to 2 forms
- Support for standard fields and basic field mapping
- Custom value support
- System fields mapping (where supported)
- Error log view and basic management
- Email notifications for failed records
- No daily record limit enforced by the plugin

Paid version adds:

- Unlimited account connections (subject to Mailchimp limits)
- Unlimited form connections
- Premium field support
- Custom field mapping
- Extended resync options and log handling

Upgrade now: https://integrazo.com/products/integrate-with-mailchimp

== Features Overview ==

- Connect Mailchimp to supported form plugins
- Configure multiple Mailchimp accounts and audiences
- Map form fields to Mailchimp fields, including custom merge fields
- Real-time syncing of form submissions to Mailchimp
- Optional conditional logic to control when subscribers are added or updated
- Activity logs with status and error details
- Resync options for failed records
- Optional email notifications for errors
- Settings to control data removal on uninstall

== Installation ==

Automatic installation  
1. Go to Plugins > Add New in your WordPress dashboard.  
2. In the search bar, type Integrazo and locate this plugin.  
3. Click Install and then Activate.  
4. Go to the plugin settings to connect your Mailchimp account and start syncing.

Manual installation  
1. Upload the plugin ZIP file via Plugins > Add New > Upload Plugin.  
2. Activate the plugin.  
3. Go to the plugin settings and complete the setup.

== Screenshots ==  

1. Connect your Mailchimp account
2. Map form fields to Mailchimp fields
3. View integration logs and submission statuses
4. Detailed log view with request and response data
5. Plugin settings page
6. AI-Powered Validation Settings  

== Frequently Asked Questions ==

= Which WordPress form plugins does this support? =

This plugin currently supports:

- Contact Form 7  
- WPForms  
- Elementor Forms  
- Gravity Forms  
- Formidable Forms  

= How do I integrate Contact Form 7 with Mailchimp? =

1. Open the plugin and go to the Setup tab.  
2. Choose Contact Form 7 as the form type.  
3. Select the Mailchimp audience.  
4. Map the Contact Form 7 fields to Mailchimp fields.  
5. Save the integration.

= How do I integrate WPForms with Mailchimp? =

1. Go to the plugin’s Setup section.  
2. Select WPForms as the form type.  
3. Choose the Mailchimp audience.  
4. Map WPForms fields to Mailchimp fields.  
5. Save the integration.

The same general steps apply for Elementor Forms, Gravity Forms, and Formidable Forms: choose the form type, select the Mailchimp audience, map fields, and then save.

= Can I map custom fields in Mailchimp? =

Yes, you can map form fields to custom Mailchimp merge fields where available. This helps organize and segment your audience more effectively.

= What happens if a submission fails to sync with Mailchimp? =

Failed submissions are:

- Recorded in the Logs section  
- Shown with the error message returned by Mailchimp  
- Available for manual or bulk resync, where supported  

= Do I need a Mailchimp account to use this plugin? =

Yes. You need an active Mailchimp account to send data from your WordPress site to Mailchimp.

= Is data transfer secure between WordPress and Mailchimp? =

The plugin uses secure communication over HTTPS when your site and Mailchimp endpoints are configured to use HTTPS.

= Is this plugin an alternative to Uncanny Automator or Bit Integrations for Mailchimp? =

Yes. If you are looking for a dedicated Mailchimp integration for WordPress forms — as an alternative to general automation plugins like Uncanny Automator, Bit Integrations, Zapier, Zoho Flow, WP Fusion, or Bit Flows — this plugin is built specifically for Mailchimp. It connects Contact Form 7, WPForms, Elementor Forms, Gravity Forms, and Formidable Forms directly to Mailchimp without needing a third-party automation service.

= Can I use this instead of Zapier to send WordPress form data to Mailchimp? =

Yes. Instead of using Zapier or Make (Integromat) to connect your WordPress forms to Mailchimp, this plugin handles the integration directly on your WordPress site — no external automation service or monthly subscription needed.

== Changelog ==

= 1.0.14 =
* Fixed: Missing spacing between the add (+) and remove (−) buttons in the field mapping table.

= 1.0.13 =
* Security: Hardened admin AJAX endpoints with proper capability checks.
* Security: Improved function naming consistency across admin action handlers.
* Fixed: Translation wrappers added to user-facing admin notice strings.
* Added: Help dropdown in admin header for quick support access.
* Added: Deactivation feedback popup.
* Added: Form Filters sub-tab under Settings.
* Improved: Minor UI and code quality improvements.
* Checked: Tested and confirmed compatible with WordPress 7.0.

= 1.0.12 =
* Security: Added ABSPATH check to prevent direct file access across missing files.
* Fixed: License expiry notice now displays correctly for all expired licenses,
  regardless of how long ago the license expired.

= 1.0.11 =
* Fixed: Settings link in Plugins page now uses admin_url() for improved compatibility.
* Improved: Code hardening with stricter output escaping in admin views.
* Checked: Tested and confirmed compatible with WordPress 6.9.1.

= 1.0.10 =
* Improved: Readme content clarity and wording for better understanding of supported forms and Mailchimp integrations.
* Updated: Short description to clearly mention support for other form submissions.
* Improved: Minor UI text refinements across admin pages.

= 1.0.9 =
* Changed: Replaced transient-based account authentication storage with WordPress options for improved reliability.
* Improved: Better handling of authentication errors and session recovery.
* Improved: Data sanitization and validation in the Accounts and Setup pages.
* Fixed: Edge cases where account data could be lost during browser refresh or delayed redirects.

= 1.0.8 =
* Checked: Plugin tested and confirmed compatible with WordPress 6.9
* Updated: "Tested up to" value updated to 6.9 in readme.txt

= 1.0.7 =
* Updated: Readme file revised to follow WordPress.org guidelines.
* Updated: Description, tags, and sections rewritten for clarity and compliance.

= 1.0.6 =
* Changed: Elementor Forms integration flow updated for smoother setup.
* Improved: Better results and reliability when mapping Elementor form fields.
* Added: Dismissible admin notice reminding users to reconfigure Elementor Forms after update.

= 1.0.5 =
* Added: FAQ entry about disabling specific integrations.
* Fixed: All known error notices reported by WordPress debug logs.
* Checked: Tested with WordPress 6.8.2.

= 1.0.4 =
* Fixed: Issue where some Mailchimp fields were not displaying properly.
* Fixed: Elementor form listing method updated for better compatibility.

= 1.0.3 =
* Added: Improved validation and sanitization.
* Fixed: Issue causing a blank page when selecting a list.

= 1.0.2 =
* Added: WordPress 6.8 compatibility.
* Fixed: Removed unnecessary use of `$wpdb->prepare()` for static table names.
* Fixed: i18n issue by removing an empty `__()` string in `get_columns()`.

= 1.0.1 =
* Verified: Compatibility with WordPress 6.7.2.
* Updated: Applied recent Mailchimp API changes.
* Refined: User interface adjustments.

= 1.0.0 =
* Initial release with:
  - Support for Contact Form 7, Gravity Forms, WPForms, Elementor Forms, and Formidable Forms.
  - Error logging and retry features.
  - Email notifications for integration failures.

== Support ==

If you need help or want to request a feature:

- https://integrazo.com/pages/contact  
- https://integrazo.com/pages/request-feature  

Website: https://integrazo.com  
Email: support@integrazo.com  

== Additional Notes ==

This plugin supports WordPress multisite installations and has been tested for compatibility with recent WordPress versions.
