Key takeaways
- Recharge, Loop, Skio and Stay AI name a new subscription four ways in Klaviyo: "Subscription started on ReCharge", loop_subscription_started, "Skio: New Subscription Created" and "Retextion - Subscription Started".
- Stay AI still sends every Klaviyo metric with the "Retextion" prefix, its old company name, per its help center in September 2026.
- Recharge's help center says Klaviyo cannot send its Failed Payment Recovery notifications, so on Recharge those emails stay inside Recharge.
Every Klaviyo flow that runs on your old subscription app stops on cutover day. Nothing errors. The old metrics stay in Klaviyo, the flows still say Live, and they just never get another entry.
After a supplement brand we moved from Appstle to Loop went live, we found no Klaviyo flow covering failed payments, and Loop's own payment emails had stopped in September. 184 retries that month, no email. That is what a missed remap costs.
So here is every event name, side by side, for Recharge, Loop, Skio and Stay AI. Each one is copied from the app's own Klaviyo doc, checked on 1 November 2026. Where a doc names no event, the table says "Not listed". Nothing is guessed. For the rest of the move, use our subscription app migration checklist.
The Klaviyo event map: same moment, four names
Each row is one moment in a subscriber's life. Each column is the metric name that app sends to Klaviyo for it.

| Moment | Recharge | Loop | Skio | Stay AI |
|---|---|---|---|---|
| Subscription started | Subscription started on ReCharge | loop_subscription_started | Skio: New Subscription Created | Retextion - Subscription Started |
| Upcoming order | Order upcoming on ReCharge | loop_upcoming_order | Skio: Billing Reminder Notification | Retextion - Order Upcoming |
| Payment failed | Not listed | loop_billing_attempt_failed | Skio: Billing Attempt Failed | Retextion - Billing Attempt Failed |
| Card expiring | Not listed | loop_payment_method_expiring | Skio: Card Expiration Notification | Retextion - Payment Method Expiring |
| Skipped | Not listed | loop_order_skipped | Skio: Subscription Skipped | Retextion - Subscription Skipped |
| Paused | Subscription paused on ReCharge | loop_subscription_paused | Skio: Subscription Paused | Retextion - Subscription Paused |
| Cancelled | Subscription cancelled on ReCharge | loop_subscription_cancelled | Skio: Subscription Cancelled | Retextion - Subscription Canceled |
| Reactivated | Recharge subscription reactivated | loop_subscription_reactivated | Skio: Subscription Reactivated | Retextion - Subscription Reactivated |
| Next date changed | Subscription next charge date changed on Recharge | loop_subscription_rescheduled | Skio: Subscription Next Billing Date Updated | Not listed |
| Out of stock | Not listed | loop_order_out_of_stock | Skio: Subscription Item Out of Stock | Retextion - Item Out Of Stock |
| Saved in cancel flow | Not listed | Not listed | Skio: Subscription Went Through Cancel Flow | Not listed |
| Winback | Not listed | Not listed | Skio: Winback Initiated | Retextion - Winback Ready |
Sources: Recharge, Loop (updated 27 August 2026), Skio (updated 3 July 2026) and Stay AI (updated 21 September 2026).
Remapping events is the easy part. Rebuilding onboarding, renewal, payment recovery and winback on the new app is where the 30 days go. The Maximizer does that new setup or migration in 30 days, for under $10K.
Four naming styles, and what to search for
Klaviyo's trigger picker is a text search. Type the wrong word and the metric looks missing.

- Recharge puts the app name last: "Order upcoming on ReCharge". Its own doc spells it ReCharge in some names and Recharge in others, so search both. Profile properties start with rc_.
- Loop uses snake case: loop_upcoming_order. Profile properties mostly start with $loop_.
- Skio puts "Skio: " first, then title case. Profile properties start with skio_ and run in camel case, like skio_hasActiveSubscription.
- Stay AI still uses its old name for events: "Retextion - Order Upcoming". Profile properties start with stay_. Search "Stay" and you only find the properties.
Recharge Klaviyo integration: the metrics
Recharge sends the most metrics of the four, with the oddest gaps. From its metrics page:
- Subscription started on ReCharge fires once per subscription. A customer who buys three subscriptions gets three welcome emails. Recharge's fix: trigger on "Order placed successfully on Recharge" filtered to CHECKOUT.
- Order upcoming on ReCharge fires three days before the charge by default. You change the day in Recharge's upcoming order email settings. The prepaid version needs Recharge support to change.
- Subscription cancelled on ReCharge carries cancellation_reason, so winback can split by reason.
- Also listed: paused, expired, reactivated, SKU swapped, frequency changed, next charge date changed, one-time product added or deleted, and gift, bundle, credit and membership metrics.
Two things the page does not list: a skip event and a failed payment event. And Recharge's Failed Payment Recovery doc says it plainly: you cannot use Klaviyo to send those notifications. So on Recharge, payment emails stay in Recharge. After the last retry, Recharge cancels the subscription, reason "Failed Payment flow max retries". We cover what to set there in cancel flow and failed payment setup on Recharge and Skio.
One more check. On the legacy integration, Recharge metrics sit under Klaviyo's API filter. After the upgrade they sit under a Recharge filter, and Recharge says they can take up to 24 hours to show. The full Recharge build is in our Recharge retention setup.
Loop Klaviyo events
Loop sends 28 events, all in loop_ snake case, per its Klaviyo doc. The ones most flows need:
- loop_subscription_started, loop_upcoming_order, loop_order_processed
- loop_order_skipped and loop_order_unskipped
- loop_subscription_paused, loop_subscription_resumed, loop_subscription_cancelled, loop_subscription_reactivated
- loop_subscription_marked_for_cancellation, for a cancel that takes effect later
- loop_payment_method_expiring and loop_order_out_of_stock
Payment failures come as three events, so one flow can change its message by stage: loop_billing_attempt_failed_and_will_be_retried, loop_billing_attempt_failed_and_last_retry_left and loop_billing_attempt_failed.

Two limits from the same doc. Klaviyo comes with Loop's Starter and Pro plans. And syncing existing customers can take 48 to 72 hours on a big base, so start it days before cutover, not on the day. Our Loop retention setup covers the flows we build on these.
Skio Klaviyo events
Skio prefixes every metric with "Skio: ", per its event metrics page. The core set: New Subscription Created, Billing Reminder Notification, Subscription Renewed, Subscription Cancelled, Subscription Paused, Subscription Unpaused, Subscription Skipped, Billing Attempt Failed and Card Expiration Notification.
Skio is the only one of the four that tells Klaviyo about a save. "Skio: Subscription Went Through Cancel Flow" fires when a subscriber is saved in the cancel flow. That gives you a "thanks for staying" email, and a way to count saves that cancel again a month later. It also sends Winback Initiated, Winback Redeemed and 3DS Verification Required.
A Skio metric only shows in Klaviyo after it fires once. Use Send Test in Skio's Klaviyo settings to make it appear before you build. More in our Skio retention setup.
Stay AI Klaviyo events: still "Retextion"
Stay AI used to be called Retextion, and its Klaviyo metrics still say so. Its Klaviyo doc lists 21, from "Retextion - Subscription Started" to "Retextion - Winback Ready". Stay says they will be renamed to Stay later. It gives no date.
Three details from the same page:
- The doc lists "Subscription Canceled" with one L, then writes "Cancelled" with two further down. Use the spelling your Klaviyo account shows.
- Profile properties use stay_: stay_active_subscriber, stay_active_subscription_count, stay_cancelled_subscription_count.
- Three fields, rtx_all_subscriptions, rtx_active_subscriptions_charge_count and rtx_subscriptions, come off Stay's metrics on 3 November. If a flow filters on them, change it now.
Winback Ready comes from Stay's WinbackEngine. It is the trigger for a winback flow. See our Stay AI retention setup for the rest.
What breaks on cutover day

Four things, in the order we usually find them.
Flows on the old event go quiet
The upcoming order email is the one that hurts first. It is where subscribers skip instead of cancel. If it stops, the next thing they see is the charge.
Segments freeze
The old app stops updating its profile properties. rc_active_subscriber stays true for someone who cancelled on the new app last week. Every segment and campaign filter built on the old properties needs the new one.

Migrated subscribers look new
A migration creates every subscription again in the new app. On the supplement brand we moved from Appstle to Loop, Loop created 348 subscriptions in one day. If the new app sends a start event for each one, your welcome flow treats loyal subscribers like first-timers. Ask the migration team whether migrated subscriptions fire the start event, and add a filter to the welcome flow either way.
Merge tags break
A cloned flow keeps the old app's merge tags. {{ event.scheduled_at }} is a Recharge field. On Skio the date is nextBillingDate. A tag with no data renders blank, so the email says "Your order ships on ." Preview every email with a real event from the new app.
The Klaviyo cutover, step by step

- Day -7: list what depends on the old app. Every flow, segment and campaign filter that uses a subscription metric or property.
- Day -7: connect the new app to Klaviyo and start the customer sync.
- Day -5: fire test events so each new metric shows in Klaviyo. Skio and the upgraded Recharge integration both have a send-test tool.
- Day -5: clone each flow, swap the trigger, then the filters and merge tags. Keep the clones in draft.
- Day 0: switch in the same hour. New flows live, old flows off, and the new app's own emails off wherever Klaviyo replaces them, or subscribers get two.
- Day 7: check entries. Every rebuilt flow should have some. The welcome flow should not be full of migrated subscribers.
Keep the old metrics in Klaviyo. You need them for any report that looks back past the migration date.
The flows to rebuild after a subscription app switch

- Welcome and onboarding for orders 1 to 3, with migrated subscribers filtered out
- Upcoming order reminder, with skip, swap and date buttons on the new portal link
- Failed payment and card expiring, except on Recharge, where they stay in the app. The full playbook is in failed subscription payments
- Skip and pause confirmations
- Cancel confirmation and winback, split by reason
- Order 2 and order 3 gifts. Check order counts carried over, or the gift fires on the wrong order
- Active subscriber suppression on acquisition campaigns
- Back in stock and out of stock
These are the flows from our list of Klaviyo subscription automations. If you are still choosing the new app, the event depth is one of the seven levers in our best Shopify subscription app comparison.
What we could not confirm
We only list event names we could read on the app's own doc page. These we could not:
- A Recharge failed payment metric. A 2023 Recharge changelog post announced one called "Charge failed". The current metrics page does not list it, and the Failed Payment Recovery page says Klaviyo cannot send those notifications.
- A Recharge skip event, and a Recharge or Loop event for a cancel flow save.
- What Stay AI's "Retextion - Subscription Purchased" covers. The doc lists it with no description, so it stays out of the map.
If your Klaviyo account shows a metric that is not here, the account is the source of truth. Trigger a test event and read the name from the metric list.
FAQ
What Klaviyo events does Recharge send?
Recharge sends Subscription started on ReCharge, Order upcoming on ReCharge, Subscription cancelled on ReCharge, Subscription paused on ReCharge, Recharge subscription reactivated and more, per its help center. Its metrics page lists no skip or failed payment event.
Does Stay AI still use Retextion in Klaviyo?
Yes. As of September 2026, every Stay AI metric in Klaviyo starts with "Retextion - ". Stay says they will be renamed later, with no date. Profile properties already use stay_.
Do old Klaviyo flows keep working after a subscription app switch?
No. They stay live but stop getting new entries, because the old app stops sending events. People already partway through a flow finish it. Rebuild each flow on the new app's event before cutover.
Can Klaviyo send Recharge failed payment emails?
Not the Failed Payment Recovery notifications. Recharge's help center says you cannot use Klaviyo to send them, so those emails are edited and sent inside Recharge.
How long do new subscription app events take to show in Klaviyo?
A metric shows once the event fires the first time. Skio and Recharge let you send a test event. Loop says the first sync of existing customers can take 48 to 72 hours, and Recharge says its upgraded metrics can take up to 24 hours.
One email a week on subscription retention: the numbers, the strategy, and what to fix first.







