Skip to content

Klaviyo: events, flows and segments for your subscribers

Key points

Once Klaviyo is connected, Ciklik sends an event at each step of a subscription’s life: start, reminder before charge, renewal, failed payment, retries over, expiring card, change, rescheduled date, pause, resume, cancellation, and for box stores the gift subscription. Each event can trigger an email flow in Klaviyo and carries what you need to write it: subscription content, next charge date, link to the subscription area, payment link after a refusal. Ciklik also keeps “Ciklik” properties up to date on each subscriber’s profile, to build your segments: active, paused, unpaid, cancelled subscribers.

Timeline: the subscription starts (Started Subscription), a few days before each charge Upcoming Subscription Charge is sent, then the charge succeeds (Renewed Subscription) or fails (Failed Subscription Payment, then Exhausted Subscription Payment Retries once retries are over). At any time: Updated Subscription, Rescheduled Subscription Charge, Expiring Payment Card, Paused and Resumed Subscription, Cancelled Subscription

In Klaviyo, each event is a metric with the exact name below. These names will not change: a flow built today will keep triggering.

Started Subscription

When: the first payment of a new subscription succeeds. Once per subscription.

Useful: the subscription content, its frequency, the next charge date, the amount paid, the link to the subscription area. PrestaShop store: the number of the order created by the store.

Upcoming Subscription Charge

When: a few days before each charge, 3 by default (1 to 14, adjustable), around 8:30 a.m. Once per charge, paused subscriptions excluded.

Useful: the charge date, the number of days left, the content, the link to the subscription area.

Renewed Subscription

When: a renewal is paid, whatever the payment method, including after a refusal.

Useful: the amount paid, the content, the next charge date. PrestaShop store: the number of the renewal order.

Rescheduled Subscription Charge

When: the next charge date is moved, on request (customer, you, module) or, for PrestaShop, for lack of stock at renewal.

Useful: the reason (requested or out_of_stock), who did it, the new date.

Failed Subscription Payment

When: the payment of a renewal is refused, at each attempt. A refusal on the very first order does not trigger it.

Useful: the refusal reason, the attempt number, the amount due, and the payment link that opens the page to pay directly.

Exhausted Subscription Payment Retries

When: payment retries are over and the renewal remains unpaid. This delivery is neither paid nor shipped; the subscription carries on at the next charge.

Useful: the number of attempts, the amount of the lost order.

Expiring Payment Card

When: on the 25th of each month, for a subscriber charged within the next month whose card expires by then. Once per card and expiry date.

Useful: the expiry date, the card brand, the link to the subscription area.

Updated Subscription

When: the content or frequency changes: products, quantity, add-ons, options, choices, frequency, plan. One event per type of change and per quarter hour.

Useful: the type of change, who made it (customer, you, module, automatic process), the updated content.

Paused Subscription

When: the subscription is paused, by the subscriber or by you.

Useful: the pause length and its unit (in months; in weeks for a weekly box plan).

Resumed Subscription

When: the subscription resumes, at the end of a pause or after a cancellation (reactivation).

Useful: where it resumes from (pause or cancellation).

Cancelled Subscription

When: the subscription is cancelled, whatever the path, scheduled end included (end of commitment, end of a gift card).

Useful: the reason given in the cancellation survey, and the origin when Ciklik knows it (cancellation link, scheduled end).

Started Gift Subscription

When: a gift subscription is opened for its recipient. The event lands on the recipient’s profile.

Converted Gift Subscription

When: the recipient turns their gift into a paid subscription.

Each event carries properties you can show in an email or use as a flow filter. In a Klaviyo email, a property whose name contains spaces is written with the lookup filter, for example {{ event|lookup:'Manage URL' }}.

Properties common to all events
PropertyContent
Subscription IDThe Ciklik ID of the subscription.
Interval, Interval CountThe frequency: for example month and 1 for every month, week and 2 for every two weeks.
Next Charge DateThe next charge date (YYYY-MM-DD), while the subscription is active.
Shop Typebox or prestashop.
Subscription ModeHow the subscription is built: box_plan (box with a plan), box_products (box with products), prestashop_frequency (PrestaShop, frequency mode), prestashop_variant (PrestaShop, combination mode).
Manage URLThe link to the customer’s subscription area: the “My subscriptions” page of your PrestaShop store, or the customer area of your box store. The customer logs in with their account.
Subscription content, by type
TypeProperties
Box with a planPlan (plan name), Plan ID, Quantity, Price (unit price paid, tax included), Options (multiple-choice answers to the box survey), Choices and Choice Names (products chosen by the customer in their box).
Box with productsItems (for each product: Product ID, Name, SKU, Quantity, Price), Item Names, Offers (quantity discount applied).
PrestaShop, frequency modeItems (for each product: PrestaShop Product ID, PrestaShop Combination ID if the product has a combination, Name, SKU, Quantity, Price), Item Names.
PrestaShop, combination modeItems (for each product: PrestaShop Combination ID, Name, SKU, Quantity, Price), Item Names.

The price is the unit price, tax included, of the event’s order, otherwise of the last paid order. A property that does not apply is absent: no Plan for PrestaShop, no Items for a box with a plan. Free-text survey answers (typed by the customer) are never sent.

Properties specific to some events
EventProperties
Started, Renewed SubscriptionOrder ID, Order Total, Currency; PrestaShop store: PrestaShop Order ID, the number of the order that the Klaviyo module for PrestaShop also sends as “Placed Order”.
Upcoming Subscription ChargeCharge Date, Days Before.
Failed Subscription PaymentOrder ID, Order Total, Currency, Failure Reason, Attempt, Payment URL.
Exhausted Subscription Payment RetriesOrder ID, Order Total, Currency, Attempts.
Expiring Payment CardCard Expires On, Card Brand.
Updated SubscriptionChange (products, quantity, upsells, options, choices, frequency, plan), Changed By (customer, merchant, api, automatic).
Rescheduled Subscription ChargeReschedule Reason (requested, out_of_stock), Changed By.
Paused SubscriptionPause Length, Pause Unit (month or week).
Resumed SubscriptionResumed From (pause or cancellation).
Cancelled SubscriptionCancellation Reason (answers to the survey of this cancellation), Cancellation Source (signed_link for the cancellation link of the reminder, scheduled_end for a scheduled end, empty otherwise).

Refusal reasons (Failure Reason): insufficient_funds (insufficient funds), card_declined (card refused), expired_card (expired card), authentication_required (3D Secure check requested), lost_card (lost or stolen card), fraud_suspected (suspected fraud), forbidden (operation not allowed), processing_error (temporary error), unknown.

With each event, Ciklik updates on the customer’s profile properties computed over all their subscriptions on the site. They all start with “Ciklik” so they do not mix with yours or with those of the Klaviyo module for PrestaShop. For a PrestaShop store, only the profiles already created by the Klaviyo module for PrestaShop receive them: Ciklik creates no profile.

PropertyContent
Ciklik Active Subscribertrue if the customer has at least one active subscription (paused included).
Ciklik Subscriber Statusactive, paused (all their active subscriptions are paused) or cancelled.
Ciklik Active SubscriptionsThe number of active subscriptions.
Ciklik Payment Statusunpaid if a renewal remains to be paid, otherwise up_to_date.
Ciklik Next Charge DateThe next charge, across all subscriptions (pauses excluded).
Ciklik Subscription FrequencyThe frequency of each active subscription, for example 1 month.
Ciklik PlansThe plans of active subscriptions (box stores only).
Ciklik Subscribed ProductsThe products received: those of a product subscription, those chosen in a box.
Ciklik Subscriber SinceThe date of the first subscription.
Ciklik Renewal CountThe number of paid renewals.
Ciklik Subscription RevenueThe total paid on their subscription orders.
Ciklik Commitment Ends OnThe nearest end of commitment, if a commitment is running.
Ciklik Cancelled AtThe date of the last cancellation, when no subscription is running any more.
Ciklik Last Cancellation ReasonThe answer to the survey of the last cancellation.
Ciklik Manage URLThe link to the subscription area.
Ciklik Customer IDThe Ciklik ID of the customer.
Profile of a demo subscriber in Klaviyo (French interface, address masked): the 'Ciklik Active Subscriber', 'Ciklik Next Charge Date' and 'Ciklik Subscriber Status' properties and the other Ciklik properties, then the Resumed Subscription event and the cancellation event, shown as 'Abonnement annulé'

Properties are sent with the profile at connection (see the sync), then updated with each event. In the French interface of Klaviyo, the Cancelled Subscription event can show as “Abonnement annulé”.

A flow starts from a trigger, waits, filters and sends. To create one: in Klaviyo, open Flows (Flux in the French interface) and create a flow from scratch. For the trigger, open the Your metrics tab (Vos indicateurs), then API, and choose the Ciklik event you want.

Choosing a flow trigger in Klaviyo (French interface): Vos indicateurs tab (Your metrics), then API: Ciklik events Cancelled Subscription, Renewed Subscription, Resumed Subscription and Started Subscription

Thank the new subscriber and show them where to manage their subscription.

Subscriber welcome
  1. Trigger Started Subscription
  2. Email Thank you, your subscription is set up Subscription content (Plan or Item Names), next charge date (Next Charge Date), button to Manage URL
  3. Wait 7 days
  4. Email Making the most of your subscription Tips, how to change the frequency, reschedule or pause

PrestaShop store. The Klaviyo module for PrestaShop also sends the order as “Placed Order”: see Avoiding a double send so that your post-purchase thank-you flow does not also write to a new subscriber.

The Klaviyo module for PrestaShop sends Placed Order for every order of your store, and each Ciklik renewal is one: a monthly subscriber therefore triggers a “Placed Order” every month, on top of Renewed Subscription sent by Ciklik. Your revenue in Klaviyo stays right (Ciklik sends no order), but your flows triggered by Placed Order also trigger at every renewal. Three ways to avoid it, to choose per flow:

  • Filter your post-purchase flows. For a thank you, a review request or product suggestions triggered by Placed Order, add a two-hour wait at the start, then a flow filter “has done Renewed Subscription zero times since starting this flow” (and, if you do not want to write to a new subscriber either, “has done Started Subscription zero times since starting this flow”). Ciklik sends these two events a few minutes after the order; the wait gives them time to arrive. A first-purchase flow filtered on “Placed Order zero times before” is not affected: a renewal is never a first purchase.
  • Use Renewed Subscription for your renewal messages. A renewal-specific message (thanks for your loyalty, content of the delivery) is triggered by Renewed Subscription rather than Placed Order: it goes out once per renewal, with the subscription content and Ciklik Renewal Count to adapt the tone.
  • Match both by the order number. Started Subscription and Renewed Subscription carry PrestaShop Order ID, the number of the order the module sends as Placed Order. It lets you match both events in your analyses or exports, and recognise a subscription order.

Tell the subscriber about their next charge and give them time to act.

Reminder before charge
  1. Trigger Upcoming Subscription Charge Sent 3 days before by default, adjustable from 1 to 14 in Edit settings
  2. Filter Ciklik Payment Status is up_to_date No standard reminder to an unpaid subscriber
  3. Email Your next delivery is coming Date (Charge Date), content (Plan, Choice Names or Item Names), "Change or reschedule" button to Manage URL

To show the date in a readable format: {{ event|lookup:'Charge Date'|format_date_string|date:'F j, Y' }}.

Recover the payment before retries are over.

Failed payment
  1. Trigger Failed Subscription Payment
  2. Split Is Payment URL set? Yes: "Pay my order" button to Payment URL. No: button to Manage URL
  3. Email Your payment did not go through Reason adapted with Failure Reason (expired card, insufficient funds...), amount (Order Total)
  4. Wait 2 days
  5. Split Is Ciklik Payment Status still unpaid? No: the customer paid in the meantime, the flow stops
  6. Email Reminder: your subscription is on hold

Each refused attempt sends a new event, with its number in Attempt. To avoid a follow-up at every attempt, limit in the trigger settings how often the same profile can enter the flow (for example once every 7 days). When retries are over, Exhausted Subscription Payment Retries can trigger a last message: the charge is lost, the subscription goes on.

Get the card updated before the next charge fails.

Expiring card
  1. Trigger Expiring Payment Card On the 25th, when the card expires before a charge in the coming month
  2. Filter Ciklik Active Subscriber is true
  3. Email Your card expires soon Date (Card Expires On), brand (Card Brand), button to Manage URL, where the customer manages their subscription and payment method
  4. Wait 5 days
  5. Email Last reminder before your next charge

Reach out to the subscriber who left, with a message matching the reason they left. This is a commercial email: keep it to profiles subscribed to your marketing emails (consent filter).

Win-back after cancellation
  1. Trigger Cancelled Subscription
  2. Filter Profile subscribed to your marketing emails Consent given in your store
  3. Filter Cancellation Source is not scheduled_end Leaves out scheduled ends (commitment, gift card) if you want another message for them
  4. Wait 30 days
  5. Split Is Ciklik Active Subscriber still false? No: the customer subscribed again in the meantime, the flow stops
  6. Split Depending on Cancellation Reason Too expensive: come-back offer. Too many products: slower frequency. Other: what is new
  7. Email We miss you Button to Manage URL to reactivate

For a stronger offer, repeat with a 90-day wait. Resumed Subscription with Resumed From equal to cancellation lets you measure returns.

A segment is created in Klaviyo (Audience > Lists & segments > Create segment) from the “Ciklik” profile properties or from events.

SegmentCondition in Klaviyo
Active subscribersCiklik Subscriber Status equals active.
PausedCiklik Subscriber Status equals paused.
UnpaidCiklik Payment Status equals unpaid.
Cancelled in the last 90 daysCiklik Cancelled At in the last 90 days.
Charge within 7 daysCiklik Next Charge Date in the next 7 days.
Commitment ending within 30 daysCiklik Commitment Ends On in the next 30 days.
LoyalCiklik Renewal Count at least 6.
Left because of the priceCiklik Last Cancellation Reason contains the word from your survey, for example “price”.
Never subscribed customers (PrestaShop)“Placed Order” at least once, and Ciklik Customer ID not set.

The “Ciklik” properties are sent with the profile at connection: a segment that uses them is right as soon as the sync is done. A segment that relies on an event, such as Placed Order, only fills in as orders arrive. The last segment is only reliable after a few months, once all your subscribers have an order.

Frequently asked questions

Which events does Ciklik send to Klaviyo?

Thirteen for a box store: Started Subscription, Upcoming Subscription Charge, Renewed Subscription, Rescheduled Subscription Charge, Failed Subscription Payment, Exhausted Subscription Payment Retries, Expiring Payment Card, Updated Subscription, Paused Subscription, Resumed Subscription, Cancelled Subscription, Started Gift Subscription and Converted Gift Subscription. A PrestaShop store gets eleven, without the two gift events.

Does Ciklik send orders to Klaviyo?

No. For a PrestaShop store, orders come from the Klaviyo module for PrestaShop, renewal orders included. Ciklik only adds the PrestaShop order number to Started and Renewed Subscription, to tell a renewal from a first purchase.

How many days before the charge is the reminder sent?

3 days by default. You set it from 1 to 14 days with the Manage the Klaviyo connection action, Edit settings, on the site record. It is sent around 8:30 a.m., Paris time, and never for a paused subscription.

Why can't I find a Ciklik event as a flow trigger?

Klaviyo only offers a metric once it has received a first one. As long as no card has expired, for example, Expiring Payment Card does not appear in the list.

Is the payment link safe?

It logs the customer in on the payment page of their refused order without a password, as long as that order remains to be paid, then stops working. Only place it in an email sent to that customer and keep access to your Klaviyo to trusted people.

Why do my Placed Order flows trigger at every renewal?

For a PrestaShop store, each Ciklik renewal creates a real order that the Klaviyo module for PrestaShop sends as Placed Order. Filter your post-purchase flows (a wait, then "Renewed Subscription zero times since starting this flow"), or trigger your renewal messages on Renewed Subscription.

Does Ciklik give consent for my commercial emails in Klaviyo?

Never for a PrestaShop store: consent stays with the Klaviyo module for PrestaShop. For a box store, only if you have chosen a subscription list: your customers are then subscribed to it as with Mailchimp, except those who unsubscribed. Without a list, Ciklik gives no consent. In every case, for a commercial email, such as a win-back or an offer, add a filter to your flow that keeps only profiles subscribed to your marketing emails. A service message can be marked transactional under Klaviyo's rules.