How to Send Saved Card Expiry Reminders

When customers save a credit or debit card to their account on your WooCommerce store, that card will eventually expire. If the card is not updated in time, future payments — including subscription renewals — may fail. With MailPoet’s Customer’s Saved Card Expires automation trigger, you can automatically remind customers to update their payment method before their card becomes invalid.

(Requires a paid MailPoet plan, the MailPoet Premium plugin, and WooCommerce. Your payment gateway must also use WooCommerce’s native token storage method — see Supported Payment Gateways below.)

How It Works

MailPoet periodically scans the saved payment tokens stored by WooCommerce and identifies cards approaching their expiration date. Cards expire on the last calendar day of their expiry month. For example, a card with an expiry date of 09/2026 expires on September 30, 2026.

You configure how many days in advance the automation should fire and at what time of day. MailPoet runs the check daily at the specified hour and triggers the automation for any matching cards.

The trigger only fires for customers who:

  • Are registered WordPress users (not guests)
  • Have a linked MailPoet subscriber profile
  • Have at least one saved credit or debit card approaching its expiration date

MailPoet automatically prevents duplicate sends. If a customer’s card has already triggered the automation, it will not trigger again for the same card within the same automation.

Setting Up the Automation

  1. Go to MailPoet > Automations and click Add New Automation.
  2. Click Create Custom Automation.
  3. Click the Trigger step and select Customer’s saved card expires from the trigger list.
  1. In the trigger settings panel on the right sidebar, configure:
    • Days before expiry: Enter the number of days before the card’s expiration date when the automation should run. The default is 7 days. You can set any value between 1 and 365.
    • Send time: Select the hour of the day when the automation should run, in your site’s timezone. The default is midnight (12:00 AM).
  1. Click the + button below the trigger to add your next step. For a simple card expiry reminder, add a Send Email action.
  2. Click + Design email to create your reminder email.

Tip: In your email, include a clear call to action directing customers to the My Account > Payment Methods page on your site, where they can update or add a new card.

  1. Once you have finished designing the email, click Save and continue in the email editor.
  2. Review the automation flow, then click Activate to turn it on.

Note: The automation does not run immediately after activation. It begins running at the next occurrence of the hour you configured in the Send time field. For example, if you activate the automation at 3:00 PM and set the send time to 9:00 AM, the first check will happen at 9:00 AM the following day.

Example: Expiry Reminder with a Discount Incentive

You can combine this trigger with other automation actions to create more engaging workflows. For example, to send a follow-up reminder with a discount incentive:

  1. Set up the trigger as described above with Days before expiry set to 14.
  2. Add a Send Email action with a friendly reminder about the expiring card.
  3. Add a Delay action set to 7 days (so the second email goes out 7 days before expiry).
  4. Add a second Send Email action with a more urgent reminder and a coupon code as an incentive to update their card and continue shopping.

Note: Adding a Delay action before a Send Email action changes the email type from transactional to marketing. This means only customers with a Subscribed status will receive the delayed email. The first email (without a delay) is treated as transactional and will be sent regardless of the customer’s subscription status. Learn more about transactional vs. marketing emails in automations.

Available Card Data Fields

When using this trigger, the following card-related data fields are available for use in trigger filters and personalization:

FieldDescription
Card typeThe type of card (for example, Visa or Mastercard)
Last 4 digitsThe last four digits of the card number
Expiry monthThe card’s expiry month
Expiry yearThe card’s expiry year
Expires onThe full expiration date (last day of the expiry month)

Supported Payment Gateways

This trigger relies on WooCommerce’s native payment token storage system (introduced in WooCommerce 2.6). Not all payment gateways use this system, so compatibility varies.

Supported gateways:

Known unsupported gateways:

If you use a different payment gateway and are unsure whether it is compatible, contact the developer of your payment gateway plugin. Ask whether it stores card tokens using WooCommerce’s native payment token system.

Related Articles