Skip to content
GPLWP Guides

How to segment WordPress members for email campaigns

Marketing & Email Time About 30 minutes for a manual list, or about 45 minutes for an automated sync 5 steps Updated 30 Oct 2026

MARKETING & EMAIL
The short answer

WordPress does not provide a built-in way to segment members for marketing emails. Export member data from your membership system and build segments in your email platform, or use a membership-to-Mailchimp integration when plan and status changes need to stay updated automatically.

The route
  1. 01Choose useful member segments
  2. 02Prepare the member data
  3. 03Use the manual CSV route
  4. 04Build and test the segment
  5. 05Automate the membership sync

What you need

  • A WordPress membership system with member plan or status data
  • Admin access to WordPress and your email platform
  • Permission to send marketing email to the members you import
  • A test member record and email address

Choose useful member segments

Start with groups you will actually email, such as active members, members on a particular plan, expired members, or members whose access ends soon. Keep marketing status separate from membership status: an active member is not automatically an opted-in marketing contact.

Do not rely on a WordPress user role unless your membership setup deliberately keeps roles accurate. Memberships are normally attached to user accounts, but plan and expiry information may live in membership records instead of the user role.

Prepare the member data

Make sure your source contains an email address plus the fields needed for filtering, such as plan, membership status, start date and expiry date. If you use WooCommerce Memberships, its exporter can filter by plan, status, start date and expiration date, and can include membership metadata. Go to WooCommerce > Memberships > Import / Export, then use the export tab.

For a small list, you can prepare a CSV manually. Keep one row per member or membership, use consistent status values, and check the dates against the site's timezone before importing.

Use the manual CSV route

In your email platform, import the CSV into one audience, map the email and name columns, then map plan and status columns to audience fields or apply tags. In Mailchimp, tags label contacts, audience fields store values such as membership status, and segments select contacts that match conditions.

This route is fine for a one-off campaign or a small membership site. Its drawback is that the list becomes stale as soon as someone renews, cancels or expires. Schedule a repeat export or update the file before every campaign. Never import people as subscribed unless you have permission to send marketing email, and do not use an import to override an existing unsubscribe.

Build and test the segment

Create a segment using the fields or tags you imported, such as membership_status = active and plan = Gold. Add an engagement condition if you want to exclude contacts who have not opened recent campaigns. Save the segment, inspect several contact profiles, and send a test campaign to internal addresses before sending to members.

Check the segment again on the day of sending. A common Friday failure is that expired members remain in an old CSV, while a renewed member is missing from it. Also watch for duplicate audiences: Mailchimp does not detect duplicates, unsubscribes or bounces across separate audiences.

Automate the membership sync

For recurring campaigns, use MailChimp for WooCommerce Memberships if your site uses WooCommerce Memberships. Install and connect it, then go to WooCommerce > Settings > Memberships > Mailchimp Sync. Select one Mailchimp audience and map each membership plan to its own merge field. The integration also maintains an active-membership field and can sync membership changes.

Choose the opt-in behaviour carefully, decide what should happen when memberships are deleted, and run the available full sync after setup. Do not rename or remap plan fields after syncing without performing a full sync, or old member records can be segmented incorrectly. The automated route is faster for ongoing campaigns because renewals, cancellations and expirations can update the member data without another CSV export.

The fast route

Let MailChimp for WooCommerce Memberships do it

Syncs WooCommerce membership data to Mailchimp for automated, targeted member campaigns when basic email lists fall short.

Get MailChimp for WooCommerce Memberships

Sources

  1. woocommerce.com /document/woocommerce-memberships-faq/?utm_source=openai
  2. woocommerce.com /document/woocommerce-memberships-import-and-export/?utm_sou…
  3. mailchimp.com /help/create-audience/?utm_source=openai
  4. mailchimp.com /help/import-contacts-mailchimp/?msockid=22b2509f39656030182…
  5. mailchimp.com /help/import-contacts-mailchimp/?msockid=2d5faf2c6b9463a1213…
  6. woocommerce.com /document/mailchimp-for-woocommerce-memberships/?utm_source=…
  7. mailchimp.com /help/about-your-contacts/?utm_source=openai
  8. mailchimp.com /help/troubleshooting-contact-imports/?utm_source=openai

Questions

Can WordPress segment members for email campaigns by itself?
No. WordPress core does not provide a marketing audience with membership-plan, consent and campaign-segmentation tools. You need to export data from your membership system and filter it in your email platform, or connect the membership system to that platform so member changes are synchronised.
Should I segment members by WordPress user role?
Usually not. A user role is only a reliable segment when your membership setup deliberately updates it whenever a plan changes, expires or is cancelled. Use the membership record's plan and status fields where possible, because a member can have multiple memberships and a role may not show those differences.
Can I email every active member automatically?
Not necessarily. Active membership and marketing consent are separate decisions. Transactional messages about access or membership may have a different legal basis from promotional campaigns, so keep marketing subscription status in its own field and import members as subscribed only when you have the required permission.
Why is a member missing from my Mailchimp segment?
Check the contact's marketing status, audience, email address, imported field values and membership status first. Mailchimp will not add duplicate, bounced or previously unsubscribed addresses through a normal import, and a contact in another audience is not automatically recognised as the same person. Review the import history and run a fresh sync or corrected import.
Is a CSV export enough for a membership email campaign?
Yes, when the campaign is occasional and you can verify the list before sending. It is not enough for expiry reminders or always-current plan campaigns because the file does not update after export. Use a synchronised membership integration when cancellations, renewals and status changes must alter the segment automatically.