Skip to main content

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

formID

Mailchimp 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 successfully
  • MailchimpFormSubscribed, subscription processed
  • MailchimpFormError, submission error
  • MailchimpFormUnsubscribed, unsubscription processed
  • MailchimpFormStarted, 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 Lead events 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 NameEvent Name
CE – MC4WP SuccessMailchimpFormSuccess
CE – MC4WP SubscribedMailchimpFormSubscribed
CE – MC4WP ErrorMailchimpFormError
CE – MC4WP UnsubscribedMailchimpFormUnsubscribed
CE – MC4WP StartedMailchimpFormStarted

Variables to Capture

Variable NameDL KeyExample
DLV – MC4WP Form IDformID1
DLV – MC4WP Form NameformName"Homepage Newsletter"

GA4 Mapping

GA4 EventTriggerParameters
sign_upMailchimpFormSuccessmethod: "mailchimp", form_id
form_startMailchimpFormStartedform_id, form_name

Debugging

ProblemCauseFix
mc4wp is not definedMC4WP not loadedFire on Window Loaded
No eventsMC4WP API version mismatchCheck MC4WP version ≥ 4.x

Best Practices

  1. Use MailchimpFormSuccess for conversion tracking, not MailchimpFormSubscribed, success is more reliable
  2. Track MailchimpFormStarted to calculate form abandonment in GA4
  3. Track MailchimpFormError in GA4 as a custom event to monitor form health

Related Listeners