DOCS

Flows

Essential Klaviyo flows for a standard memberr Subscriptions integration.

These are the metric-triggered Klaviyo flows a standard memberr Subscriptions setup should run. Each flow uses a lifecycle metric as its trigger.

Before you build:

  1. Connect Klaviyo.
  2. Send synthetic events so every metric appears as a flow trigger.

Most lifecycle metrics fire once per subscription line. A welcome or cancel flow can send one email per product on a multi-line contract unless you add filters or smart sending. Resuming a paused subscription does not emit a metric - only CANCELLED → ACTIVE fires reactivated.

Flow checklist

FlowTrigger metricPriority
WelcomeSubscription startedEssential
Upcoming charge reminderUpcoming chargeEssential
Complete payment (3DS)Payment authentication requiredEssential
Failed payment recoveryCharge processing failedEssential
Cancel win-backSubscription cancelledEssential
Reactivation welcomememberr subscription reactivatedEssential
Pause re-engagementSubscription pausedEssential
Expired / completedSubscription expiredEssential
Order confirmationOrder placed successfullyEssential
SKU swap confirmationSubscription SKU swappedRecommended
Frequency change confirmationSubscription frequency changedRecommended
Next charge date confirmationSubscription next charge date changedRecommended

Welcome

TriggerSubscription started on memberr Subscriptions
GoalConfirm the subscription, set expectations for the first delivery, and point the customer to manage their plan.

Suggested messages

  1. Immediate welcome - thank them, list what they subscribed to, when the next charge is.
  2. Optional day 2–3 tip - how to skip, swap, or pause in the customer portal.

Key tags: {{ event.product_title }}, {{ event.variant_title }}, {{ event.sku }}, {{ event.next_charge_scheduled_at }}, {{ event.charge_interval }}, {{ event.charge_interval_frequency }}, {{ event.$value }}

Setup notes: Fires once per line when the contract is created. Multi-product contracts can trigger multiple welcomes - consider product filters or Klaviyo smart sending if that is unwanted.

Upcoming charge reminder

TriggerUpcoming charge on memberr Subscriptions
GoalReduce surprise charges and give customers time to skip, swap, or update payment before billing.

Suggested messages

  1. Single reminder when the metric fires (lead time is configured in Dunning → Settings, default 3 days).

Key tags: {{ event.next_charge_scheduled_at }}, {{ event.charge_interval }}, {{ event.charge_interval_frequency }}, {{ event.customer_charge_currency }}

Setup notes: Fires once per contract per billing cycle, not per line. CTA should open the customer portal (skip / manage). Reminder is skipped if the contract is no longer active or the next billing date moved after the scheduler queued it. See Dunning settings.

Complete payment (3DS)

TriggerPayment authentication required on memberr Subscriptions
GoalGet the customer to finish 3D Secure before the challenge expires and the charge fails.

Suggested messages

  1. Immediate email/SMS with a clear “Complete payment” CTA.
  2. Optional short follow-up (for example 1–2 hours later) if they have not completed authentication.

Key tags: {{ event.next_action_url }}, {{ event.billing_attempt_id }}, {{ event.contract_id }}

Setup notes: This is not a failure yet. The CTA must use {{ event.next_action_url }}. If authentication is not completed, a later attempt may emit Charge processing failed.

Failed payment recovery

TriggerCharge processing failed on memberr Subscriptions
GoalAsk the customer to update their payment method so dunning retries can succeed.

Suggested messages

  1. Immediate “payment failed” notice with update-payment CTA.
  2. Optional day 2–3 reminder while retries continue.
  3. Optional final notice before the subscription is paused or cancelled by dunning settings.

Key tags: {{ event.error_code }}, {{ event.error_message }}, {{ event.contract_id }}, {{ event.billing_attempt_id }}

Setup notes: Each failed attempt (including dunning retries) emits this metric again - use flow filters or delays so you do not spam on every retry. You can branch on error_code (for example EXPIRED_PAYMENT_METHOD). Pair with dunning in the app.

Cancel win-back

TriggerSubscription cancelled on memberr Subscriptions
GoalRecover churned subscribers with feedback and a path back.

Suggested messages

  1. Day 0 - acknowledge cancellation, ask for a short reason.
  2. Day 3–7 - win-back offer or “we miss you” with reactivation CTA.
  3. Optional day 14–30 - final soft reminder.

Key tags: {{ event.product_title }}, {{ event.sku }}, {{ event.$value }}, {{ event.contract_id }}

Setup notes: Fires once per line. Coordinate with in-app cancel flows so portal retention offers and email win-backs do not conflict.

Reactivation welcome

Triggermemberr subscription reactivated
GoalWelcome the customer back after a cancelled subscription becomes active again.

Suggested messages

  1. Immediate “welcome back” - confirm products, next charge date, and portal link.

Key tags: {{ event.product_title }}, {{ event.next_charge_scheduled_at }}, {{ event.sku }}

Setup notes: Only fires for CANCELLED → ACTIVE. Resuming from pause does not trigger this flow.

Pause re-engagement

TriggerSubscription paused on memberr Subscriptions
GoalKeep the relationship warm and make unpausing easy.

Suggested messages

  1. Day 0 - confirm the pause and how to resume.
  2. Optional day 7–14 - gentle reminder that their subscription is still paused.

Key tags: {{ event.product_title }}, {{ event.next_charge_scheduled_at }}, {{ event.contract_id }}

Setup notes: There is no “unpaused” metric. When they resume, nothing new fires unless they later cancel and reactivate.

Expired / completed

TriggerSubscription expired on memberr Subscriptions
GoalAcknowledge a prepaid / max-cycle subscription that has finished, and invite a new plan.

Suggested messages

  1. Day 0 - thank them for completing the subscription, suggest renewing or starting a new plan.

Key tags: {{ event.product_title }}, {{ event.expire_after_specific_number_of_charges }}, {{ event.sku }}

Setup notes: Fires when the contract reaches its maximum number of charges (maxCycles), not on every cancel.

Order confirmation

TriggerOrder placed successfully on memberr Subscriptions
GoalConfirm a subscription-linked order (first checkout or a later recurring charge).

Suggested messages

  1. Immediate order confirmation with line items and total.

Key tags: {{ event.shopify_order_number }}, {{ event.total_price }}, {{ event.currency }}, {{ event.line_items.0.title }}, {{ event.status }}, {{ event.$value }}

Setup notes: Fires for any order linked to a contract, including the origin checkout order when the subscription starts - so a customer may get both Welcome and Order confirmation. type is always "recurring". Prefer this for order details; use Welcome for onboarding.

SKU swap confirmation

TriggerSubscription SKU swapped on memberr Subscriptions
GoalConfirm the new product/variant on the subscription.

Suggested messages

  1. Immediate confirmation of the swap.

Key tags: {{ event.product_title }}, {{ event.variant_title }}, {{ event.sku }}, {{ event.previous_sku }}, {{ event.previous_variant_title }}, {{ event.previous_product_title }}

Setup notes: Properties describe the new line; use previous_* for the old SKU. Recommended, not required for a minimal kit.

Frequency change confirmation

TriggerSubscription frequency changed on memberr Subscriptions
GoalConfirm the new billing or delivery cadence.

Suggested messages

  1. Immediate confirmation of the new schedule.

Key tags: {{ event.charge_interval }}, {{ event.charge_interval_frequency }}, {{ event.previous_charge_interval }}, {{ event.previous_charge_interval_frequency }}, {{ event.next_charge_scheduled_at }}

Setup notes: This event does not set $value. Recommended for clarity when customers change interval in the portal.

Next charge date confirmation

TriggerSubscription next charge date changed on memberr Subscriptions
GoalConfirm a skip or reschedule of the next charge.

Suggested messages

  1. Immediate confirmation with old and new dates.

Key tags: {{ event.next_charge_scheduled_at }}, {{ event.previous_next_charge_scheduled_at }}, {{ event.product_title }}

Setup notes: Fires when status is unchanged and the next billing date moves (skip or reschedule). Recommended so customers are not surprised by a shifted charge.

Unlock all triggers

Klaviyo only lists a metric as a flow trigger after it has fired at least once. Use Send synthetic events to unlock the full checklist before live subscription traffic.

On this page