Failed charge recovery flow for Klaviyo pre-orders

Recipe Needs PreProduct

When a pre-order charge fails, this flow emails the customer to update their card from their pre-order portal. It triggers on PreProduct’s Email - failed charge metric, so mute PreProduct’s own emails first.

THE FLOW, STEP BY STEP

How it works

What you’ll build in Klaviyo. Every step can be edited.

  1. TRIGGER 01

    Email - failed charge

    PreProduct sends this metric to Klaviyo the moment a charge on a saved card doesn’t go through.

  2. EMAIL 02

    Update your card

    A plain email asking the customer to update their card from their pre-order portal, so the pre-order can go ahead.

COPY BUTTONS

Variables and copy

Klaviyo reads PreProduct’s properties from the event. Write them as event.*, not as Shopify order properties.

VARIABLES · EMAIL - FAILED CHARGE

Customer name
{{ event.preorder.customer_name }}
Pre-order listing name
{{ event.listing.name }}
Order numberShopify order name, for example #1042
{{ event.preorder.order_name }}
Pre-order portal link
{{ event.preorder.customer_portal }}
Your store nameFrom your Klaviyo account
{{ organization.name }}

EMAIL · SUBJECT AND BODY · PLAIN TEXT

Subject
We couldn't process the payment for {{ event.listing.name }}
Preview text
Update your card to keep your pre-order.
Hi {{ event.preorder.customer_name|default:'there' }},

We tried to charge your card for {{ event.listing.name }} (order {{ event.preorder.order_name }}), but the payment didn't go through.

To keep your pre-order, please update your card from your pre-order portal: {{ event.preorder.customer_portal }}

As soon as it's updated, we'll get your order ready to ship.

Thanks,
{{ organization.name }}

REQUIREMENTS

What it needs

PreProduct is required

This flow triggers on PreProduct’s Email - failed charge metric. Klaviyo events come with PreProduct on the Scale plan and up.

Klaviyo, connected to PreProduct

Connect Klaviyo in PreProduct under Setup → Integrations so the events reach your account. The flow runs in Klaviyo with plain emails: add your brand template, voice and copy, then set it live.

“Mute email sending from PreProduct” switched on

Switch it on in PreProduct under Setup → Integrations so customers get your Klaviyo email, not the same update twice. The events still reach Klaviyo while it’s on.

BUILD IT IN KLAVIYO

How to set up

Recipe
  1. 1 Install PreProduct (Scale and up)
  2. 2 In PreProduct, go to Setup → Integrations, connect Klaviyo and switch on “Mute email sending from PreProduct”
  3. 3 In Klaviyo, create a flow with the Email - failed charge metric as its trigger
  4. 4 Add the steps, then paste the subject and body from this page
  5. 5 Add your styling and set the flow live

COMMON TWEAKS

Adapting it

  • Send a second reminder

    Add a time delay, then a conditional split on Pre-order charge succeeded since starting this flow, with a second email on the No branch.

    Time delay · 2 days → Conditional split
  • Copy in your team

    Add a Klaviyo internal alert so someone can follow up with high-value customers by hand.

    Internal alert · Email - failed charge
  • Say when it ships

    Remind the customer what they’re waiting for with the ship date.

    {{ event.listing.ship_date }}

ABOUT THIS FLOW

FAQ

01 Which pre-orders can this happen to?

Charge-later and deposit-upfront pre-orders, where PreProduct charges a saved card after checkout.

02 Can I send more than one reminder?

Yes. Add a time delay and a conditional split on Pre-order charge succeeded, then a second email for customers whose charge still hasn’t gone through. Klaviyo flows hold up to eight steps here.

K04 · FAILED CHARGE RECOVERY

Recover failed pre-order charges in Klaviyo.