MailPoet Automations
How to Add a WooCommerce Customer to MailPoet When a Product Is Purchased
A sale is the best moment to invite someone onto your list and to mark them as a customer. Zapify can do both when a WooCommerce order is paid, using the free A product is purchased trigger and two MailPoet actions: Add a subscriber to lists and Add a tag to a subscriber. MailPoet is a Zapify PRO integration.
What this automation does
The automation is one trigger plus two actions:
- Trigger: A product is purchased (
WC_PRODUCT_PURCHASED, WooCommerce) - Action 1: Add a subscriber to lists (
MAILPOET_ADD_SUBSCRIBER, MailPoet) - Action 2: Add a tag to a subscriber (
MAILPOET_ADD_TAG, MailPoet)
When an order reaches a paid status, Zapify adds the buyer's billing email to your list and tags them, for example customer. Actions run in order, so the subscriber exists by the time the tag is added.
Buying is not consent
A purchase does not mean the buyer agreed to marketing email. Only use this where your checkout says so — a newsletter checkbox, for instance — and use a Condition (PRO) to continue only when it is ticked. See Filters and conditions. Leave Send the confirmation email ticked so MailPoet can ask them to confirm.
Subscribed or unconfirmed?
Zapify cannot choose the new subscriber's status. MailPoet decides it from its own setting: with sign-up confirmation switched on (MailPoet → Settings → Sign-up Confirmation) new subscribers start Unconfirmed until they click the link in the confirmation email; with it off they are Subscribed straight away.
People who unsubscribed are left alone
If the email belongs to somebody who has unsubscribed or bounced in MailPoet, Zapify does not add them again. The run is recorded as skipped with the reason, because quietly re-subscribing someone who opted out is how senders end up reported as spam.
PRO feature
MailPoet is a Zapify PRO integration. The MailPoet actions used in this automation need an active Zapify PRO licence.
No Connection needed
MailPoet runs on your own site rather than somebody else's server. There is no API key to paste and nothing to set up under Settings → Connections — the integration only needs MailPoet installed and active.
Before you start
- WooCommerce and MailPoet installed and active.
- A MailPoet list for customers (MailPoet → Lists).
- A tag name in mind, such as
customer. You do not need to create it first.
How to build the automation
Step 1: Create a new automation
- In the WordPress admin, go to Zapify → Automations.
- Click Add New to open the builder.
- Name it clearly, such as Add WooCommerce buyers to MailPoet.

Step 2: Add the "A product is purchased" trigger
- Click Add Trigger.

- Choose WooCommerce as the app.

- Select the trigger A product is purchased.

Set the Product field to the product that should start the automation, or leave it on Any to add every buyer.
The trigger fires when the order reaches a paid status such as Processing or Completed, not while it is still Pending payment.
Step 3: Add the "Add a subscriber to lists" action
- Click Add Action.

- Choose MailPoet as the app.

- Select Add a subscriber to lists.

Step 4: Configure the first action
| Field | Required | What it does |
|---|---|---|
| Subscriber email | Yes | Insert the Billing email token. Do not leave it empty: it would use the logged-in account, which is not always the buyer. |
| Lists | Yes | Pick one or more MailPoet lists to subscribe them to. Only ordinary lists appear — MailPoet's own WordPress Users and WooCommerce lists are managed by MailPoet and cannot be changed by hand. |
| First name | No | Insert the Billing first name token. Only used when the subscriber is new to MailPoet. |
| Last name | No | Insert the Billing last name token. Only used when the subscriber is new to MailPoet. |
| Send the confirmation email | No | On by default. It only has an effect when sign-up confirmation is switched on in MailPoet. Until they confirm, the subscriber stays unconfirmed and receives no newsletters. |
| Do not send the welcome email | No | Off by default. Tick it to stop MailPoet scheduling its welcome email for the list. |
Step 5: Add the "Add a tag to a subscriber" action
- Click Add Action again, below the first one.

- Choose MailPoet as the app and select Add a tag to a subscriber.

Configure it:
| Field | Required | What it does |
|---|---|---|
| Tag | One of the two | Pick an existing MailPoet tag. |
| Tag names | One of the two | Type tag names separated by commas, such as customer, bought-hoodie. A name that does not exist yet is created. |
| Subscriber email | No | Insert the Billing email token again. |
Step 6: Set the steps Live and save
Each trigger and action has its own Live / Off / Draft switch. A new automation starts as a Draft and does nothing until its steps are Live.
- Set the trigger and every action to Live.
- Click Save.

Step 7: Test it
Place a test order for the product and mark it as paid. Open MailPoet → Subscribers and check the subscriber, their list and tag, or open Zapify → Logs to confirm both actions ran.
Tokens you can use
The A product is purchased trigger exposes these tokens:
| Token | Value |
|---|---|
| Billing email | The customer's billing email. |
| Billing first name / Billing last name / Billing phone | Customer details. |
| Product IDs / Product names | The purchased products. |
| Order ID / Order number | Order identifiers. |
| Order total / Currency | Order value and currency. |
Both actions expose Subscriber ID afterwards.
Conclusion
With the free A product is purchased trigger and the two MailPoet actions, every opted-in buyer lands on the right list with the right tag. To swap one tag for another when a lead converts, see swapping MailPoet tags when a product is purchased.
FAQs
Is this free in Zapify?
The trigger is free. The MailPoet actions are part of the MailPoet PRO integration and need an active Zapify PRO licence.
Why does the tag action fail?
The first action was skipped or failed, so there is no MailPoet subscriber to tag — for example the buyer had unsubscribed earlier. Open Zapify → Logs to see which step stopped and why.
Does it work for guest checkouts?
Yes, as long as you insert the Billing email token. Do not rely on the empty-email fallback, which uses the logged-in user.
Can I add different lists for different products?
Yes. Build one automation per product, each with its own Product and Lists.
Do I need to write any code?
No. Everything is configured visually.