This page lists every trigger, step, condition field and goal of the MailerPress automation editor (version 2.1.3), with their settings. Use it when you build or review a workflow in MailerPress > Automations. For a guided first workflow, see Create Automated Email Workflows with MailerPress Pro.
Most of this reference requires MailerPress Pro. Without MailerPress Pro, you can only use the two free pre-made workflows, Welcome New Subscribers and New User Welcome. Each has one trigger and one Send Email step.
MailerPress (free) and MailerPress Pro at a glance
| Feature | MailerPress (free) | MailerPress Pro |
|---|---|---|
| Pre-made workflows | 2 free workflows | All pre-made workflows |
| Start from scratch | No | Yes |
| Steps per automation | 1 trigger and 1 action (from a free workflow) | Unlimited: add, replace and delete steps |
| Goals and benchmarks | No (shown with a Pro badge) | Yes |
| Create with AI and Add steps with AI | No | Yes |
| Duplicate and Import from JSON | No | Yes |
| Activate, statistics, logs, Export as JSON | Yes | Yes |
Triggers, conditions and goals that depend on another plugin (WooCommerce, WooCommerce Subscriptions, SureCart, FluentCart) only appear when that plugin is active.
WordPress triggers
A trigger is the event that starts the automation for one contact. In the Choose a Trigger window, these triggers are grouped under User Events and Content Events. Every setting is an optional filter: leave it empty to react to every event.
| Trigger | Starts when | Settings |
|---|---|---|
| User Registered | A new user account is created on your site. | User Role |
| User Login | A user logs in. | User Role |
| Profile Updated | A user updates their WordPress profile. | User Role |
| User Role Changed | A user receives a new role. | Role: only when the user is changed to this role. |
| User Meta Updated | A user meta field (extra data stored on a WordPress user account) is updated. | Meta Key: only for this meta key (for example billing_phone). |
| Comment Posted | A comment is posted. | Post: only for comments on the selected posts. |
| Post Published | A post is published for the first time. Updates to an already published post do not start it. | Post Type, Post Category, Post Meta Key, Post Meta Value (the value requires the key). |
In an automation that starts with Post Published, the Send Email step becomes Send Newsletter. Each published post creates a separate newsletter in your campaigns, with its own statistics, sent to the audience you choose in the email setup (lists, tags or a segment, which is a saved group of contacts matching rules).
- In the email, under When a post is published, choose Send newsletter or Create draft.
- Click Save setup.
- Make sure the email contains an unsubscribe or manage subscription link (required).
You can use {{post_title}}, {{post_url}} and {{post_id}} in the subject. To send a digest of several posts on a schedule instead, see Send your latest posts automatically by mail.
MailerPress triggers
| Trigger | Starts when | Settings |
|---|---|---|
| Contact Subscribed | A contact is added to MailerPress, and again when a pending contact confirms their subscription (double opt-in: the contact clicks a confirmation link sent by email). | Subscription Status, Lists, Tags: only when the contact matches. |
| Tag Added | A tag is added to a contact, including by an Add Tag step of another automation. | Tag (required). |
| List Added | A contact is added to a list. | List (required). |
| Custom Field Updated | A contact custom field is added or updated. | Custom Field: leave empty for any field. |
| Birthday Check (Daily) | Once a day, for each contact whose birthday (day and month, in your WordPress timezone) is today. | Birthday Field (required): the contact custom field that stores the birth date. |
With Contact Subscribed, set Subscription Status to Subscribed so that double opt-in contacts only enter after confirming.
Birthday Check (Daily) starts the automation at most once a year per contact. It reads dates such as 1990-05-14, 14/05/1990, 14.05.1990 or 19900514. Prefer the YYYY-MM-DD format to avoid day/month confusion.
WooCommerce triggers
| Trigger | Starts when | Settings |
|---|---|---|
| Order Status Changed | An order changes status, or a new order is created. | Order Status: only when the order changes to this status. |
| Product Purchased | An order is completed and contains a matching product. | Products, Product Categories, Product Tags. Optional Create contact in MailerPress toggle, with the email, first name, last name, subscription status, lists and Update if contact exists to use. |
| Customer First Order | A customer’s first order is completed (no earlier completed order). | None. |
| Customer Inactive (Daily) | Once a day, for customers whose latest matching order is older than the set number of days. | Inactive After Days (default 90), Order Statuses (default Processing and Completed). |
| Abandoned Cart | A shopper adds products to a cart. | Minimum Cart Value, Require Email. |
For complete recipes, see Recover abandoned carts with a WooCommerce automation and Win back inactive WooCommerce customers.
With WooCommerce Subscriptions active, you also get Subscription Status Changed (with a Subscription Status filter), Subscription Started, Subscription Renewed, Subscription Payment Failed, Subscription Expired, Subscription Trial Started and Subscription Trial Ended.
SureCart and FluentCart triggers
| Plugin | Trigger | Starts when |
|---|---|---|
| SureCart | Order Created | A new SureCart order is created. |
| SureCart | Purchase Revoked | A purchase is revoked: a line item is refunded, or a subscription is canceled or expires. |
| FluentCart | Order Created | An order is placed at checkout, before payment. Filters: Order Status, Payment Status. |
| FluentCart | Order Paid | An order payment is completed. |
| FluentCart | Order Refunded | An order is refunded. Filter: Refund Type (full or partial). |
| FluentCart | Payment Failed | An order payment fails. |
| FluentCart | Subscription Activated, Subscription Renewed, Subscription Canceled, Subscription Expired | The subscription reaches that state. |
Developer trigger: Custom Hook
Custom Hook starts the automation when your code fires a WordPress action (a named event fired with do_action()). Only administrators can configure it.
- Hook Name (required): must start with
mailerpress_custom_, unless a developer allows other names on your site. - Parameter 1 Type and Parameter 2 Type (Optional): what your hook passes (email address, user ID, contact ID, custom data or none). Custom data values become merge tags such as
{{key1}}. - Code Example: a ready-to-copy
do_action()call generated from your settings.
Timing steps
Steps run one after the other for each contact. Add one with Add Step below the last step, or with the button on a connection. The Add a step window groups them by category.
| Step | What it does | Settings |
|---|---|---|
| Wait | Pauses the contact for a set time. | Duration (whole number) and Unit: minutes, hours, days or weeks. |
| Wait Until Date (2.1.0) | Pauses the contact until a fixed date or a date stored in a contact custom field, with an optional offset. | Date source, Date or Date field key, Offset, Unit, Direction, If date is in the past. |
Details and examples for Wait Until Date: Wait until a date and load post data in automations.
Communication and campaign steps
| Step | What it does | Settings |
|---|---|---|
| Send Email | Sends an email designed in the MailerPress editor to the contact. | Email Name * (identifies the email in conditions, goals and reports), Recipient Email (leave empty to use the contact or user email, or enter an address or a placeholder such as {{customer_email}}), Subject *. Then click Create New Email to design the content. |
| A/B Test | Sends two versions of an email to part of your contacts, then sends the better-performing version (the winner) to the others. | Test Name, Version A – Email Template, Version A – Email Subject Line, Version B – Email Template, Version B – Email Subject Line, Split Percentage (10 to 90, default 50), Test Duration (hours) (1 to 168, default 24), Winning Criteria (open, click or conversion rate). |
| Create Campaign | Creates a draft campaign in Campaigns. If the trigger passes a post (for example Post Published), the draft displays that post. | Campaign Name (required), Subject, Campaign Type. |
Contact management steps
| Step | What it does | Settings |
|---|---|---|
| Add Tag | Adds a tag (a label to sort contacts) to the contact. This can start other automations that use Tag Added. | Tag: pick a tag or use Create New Tag. |
| Remove Tag | Removes a tag from the contact. | Tag. |
| Add to List | Adds the contact to a list. | List: pick a list or use Create New List. |
| Remove from List | Removes the contact from a list. | List. |
| Create Contact | Creates a MailerPress contact from trigger data, or updates an existing one. | Email (required), First Name, Last Name mapped from trigger fields or typed values; Subscription Status (default Subscribed); Add to Lists; Add Tags; Custom Fields mapping; Update if contact exists (on by default); Opt-in Source (default workflow). |
| Create WordPress User | Creates a WordPress user from trigger data, or updates one found by email. | Email (required), Username (generated from the email if empty), First Name, Last Name, Role (Subscriber or Customer only), Send welcome email (on by default), Update if user exists (off by default). |
Only users allowed to create and promote users can configure Create WordPress User. It never modifies an existing user whose role is not Subscriber or Customer.
Data step: Load Post Data
Load Post Data (2.1.0) reads a post or page (title, URL, date, excerpt, featured image and public custom fields) so the next emails can show these values as merge tags. Settings: Where to find the post, Post ID, Custom field name or Context variable, Tag prefix, Specific fields only. See Wait until a date and load post data in automations.
Condition step
A Condition step (category Logic & Conditions) sends the contact down the Yes or the No path.
- Click Add Condition to add a rule.
- Choose a Field, an Operator and a Value.
- With several rules, click the Match button to switch between AND (all rules must match) and OR (one rule is enough).
Available fields:
| Group | Fields |
|---|---|
| WordPress user | User Email, User Login, User Role, User Meta (key) |
| MailerPress | Subscription Status, Tag, List, Email Opened, Email Clicked, and each contact custom field (shown as โLabel (Custom Field)โ) |
| WooCommerce | Total Spent, Order Count, Last Order Status, Has Purchased Product, Purchased in Category, Order Created, Has Reviewed Order, Order Total |
| WooCommerce Subscriptions | Subscription Status, Next Payment Date, Billing Period, Billing Interval, Has Trial Period, Trial End Date, Subscription Total, Subscription Product ID |
| SureCart | Total Spent, Order Count, Last Order Status, Has Purchased Product, Order Created, Order Total |
Operators depend on the field type. Text fields offer Equals, Not Equals, Contains, Does Not Contain, Starts With and Ends With. Numbers and dates offer Equals, Not Equals, Greater Than, Less Than, Greater or Equal and Less or Equal. Yes/no fields use Is and Is Not. Tag and List accept several values, with In and Not In.
The condition is checked when the contact reaches the step. For Email Opened and Email Clicked, you pick an email of the current workflow. Add a Wait step before the condition to give contacts time to open or click. If such a condition is not met and the No path has no step, the contact waits at the condition and continues on the Yes path as soon as they open or click.
Goals and benchmarks
Goal steps (category Goals & benchmarks, MailerPress Pro) wait for something the contact does, such as a click or a purchase, or simply measure it. How to set Goal type, Give up after and Allow contact entry is explained in Goals and benchmarks in automations. Available events:
| Group | Goal events |
|---|---|
| Emails | Email opened (filter: Campaign), Link clicked (filters: Campaign, Link URL contains) |
| MailerPress | Opt-in confirmed, Tag applied, Tag removed, List applied, List removed, Custom field updated, Unsubscribed, Automation completed |
| WordPress | User registered, User logged in, Comment posted |
| WooCommerce | Order received (WooCommerce), Product purchased (WooCommerce), First order placed (WooCommerce), Subscription started (WooCommerce), Subscription renewed (WooCommerce) |
| SureCart and FluentCart | Order received (SureCart), Order received (FluentCart), Order paid (FluentCart), Subscription activated (FluentCart) |
| Developer | Custom hook fired |
Use trigger data in your emails
A merge tag is a placeholder in double braces that MailerPress replaces with real data when the email is sent. In an automation email, you can insert data from the trigger this way, for example {{post_title}} and {{post_url}} with Post Published, or {{cart_recovery_url}} with Abandoned Cart. Contact custom fields are available as {{field_key}}, and the Recipient Email and Subject * fields accept merge tags too. See also Personalizing Emails with MailerPress Merge Tags.
Rules that apply to every automation
- Only automations with the Enabled status react to their trigger.
- A contact who is still going through an automation is not added to it a second time.
- Run once per subscriber (sidebar Automation tab, Automation Settings) prevents a contact from ever entering the same automation again. It does not apply to Post Published. A goal with Allow contact entry can bypass it with its Ignore โrun once per subscriberโ option.
- Before activation, MailerPress checks that every Send Email step has a designed email and that every essential goal is followed by a step.