Mailchimp for WordPress Form GTM Event Listener
Track Mailchimp for WordPress (MC4WP) form events in GTM. Monitor success, subscription, error, unsubscription, and form start with formID and formName variables.
mailchimpwordpressemail-marketingformsgtmga4
Key variable
formIDMailchimp for WordPress (MC4WP)
Overview
Mailchimp for WordPress (MC4WP) is a popular WordPress plugin for adding Mailchimp subscription forms. It exposes a comprehensive JavaScript API with events for success, error, subscribe, unsubscribe, and form start. This listener captures all five events with form ID and name.
Events fired:
MailchimpFormSuccess, form submitted successfullyMailchimpFormSubscribed, subscription processedMailchimpFormError, submission errorMailchimpFormUnsubscribed, unsubscription processedMailchimpFormStarted, user begins filling form (abandonment tracking)
Variables: formID, formName
Why Use This Listener
MC4WP's multi-event system gives you granular insight into the entire subscription lifecycle, from form engagement to confirmation. The MailchimpFormStarted event is particularly valuable for calculating form abandonment rates.
Common Use Cases
- Track newsletter sign-ups as GA4 conversions
- Measure form start-to-completion rates (abandonment analysis)
- Monitor subscription errors and fix broken forms
- Fire
Leadevents to Meta on successful subscription - Build audiences of subscribers for retargeting
Installation
html
<!-- GTM Custom HTML Tag: Mailchimp for WP Listener -->
<script>
(function() {
function mcPush(eventName, form) {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': eventName,
'formID': form.id,
'formName': form.name
});
}
mc4wp.forms.on('success', function(form) { mcPush('MailchimpFormSuccess', form); });
mc4wp.forms.on('subscribed', function(form) { mcPush('MailchimpFormSubscribed', form); });
mc4wp.forms.on('error', function(form) { mcPush('MailchimpFormError', form); });
mc4wp.forms.on('unsubscribed', function(form) { mcPush('MailchimpFormUnsubscribed', form); });
mc4wp.forms.on('started', function(form) { mcPush('MailchimpFormStarted', form); });
})();
</script>Fire on: DOM Ready.
Data Layer Output
json
{
"event": "MailchimpFormSuccess",
"formID": 1,
"formName": "Homepage Newsletter"
}Triggers to Create
| Trigger Name | Event Name |
|---|---|
| CE – MC4WP Success | MailchimpFormSuccess |
| CE – MC4WP Subscribed | MailchimpFormSubscribed |
| CE – MC4WP Error | MailchimpFormError |
| CE – MC4WP Unsubscribed | MailchimpFormUnsubscribed |
| CE – MC4WP Started | MailchimpFormStarted |
Variables to Capture
| Variable Name | DL Key | Example |
|---|---|---|
| DLV – MC4WP Form ID | formID | 1 |
| DLV – MC4WP Form Name | formName | "Homepage Newsletter" |
GA4 Mapping
| GA4 Event | Trigger | Parameters |
|---|---|---|
sign_up | MailchimpFormSuccess | method: "mailchimp", form_id |
form_start | MailchimpFormStarted | form_id, form_name |
Debugging
| Problem | Cause | Fix |
|---|---|---|
mc4wp is not defined | MC4WP not loaded | Fire on Window Loaded |
| No events | MC4WP API version mismatch | Check MC4WP version ≥ 4.x |
Best Practices
- Use
MailchimpFormSuccessfor conversion tracking, notMailchimpFormSubscribed, success is more reliable - Track
MailchimpFormStartedto calculate form abandonment in GA4 - Track
MailchimpFormErrorin GA4 as a custom event to monitor form health