Recharge metrics and Klaviyo flows
- Before you start
- Video walkthroughs
- Build a flow in Klaviyo with Recharge metrics
- Recharge metrics as event triggers for Klaviyo flows
- Use Recharge properties to filter customers who enter a Flow
- Understanding metrics and properties
- Subscription metrics
- Order metrics
- Gifting metrics
- Bundle metrics
- Rewards metrics
Recharge sends custom metrics to Klaviyo, which are records of actions that customers have taken. Each time a customer takes an action, it is timestamped and considered an event. Recharge sends these events, through metrics, to Klaviyo, which you can leverage to build your email campaigns.
- Recharge Checkout on BigCommerce
- Shopify Checkout Integration
Before you start
- Review the Klaviyo overview guide to understand how Klaviyo works with Recharge.
- Checkout the Recharge Merchant Academy course Klaviyo integration overview for a detailed look at how Klaviyo and Rechare work together.
- See Recharge and Klaviyo use cases for detailed walkthroughs on building Klaviyo flows and campaigns with Recharge data.
Video walkthroughs
Recharge and Klaviyo metrics
Metrics are events in Recharge that are sent to Klaviyo. You can use metrics to trigger specific events and provide line-item details around the event. Review the following video to learn about the different stages of the customer lifecycle and how you can use Recharge and Klaviyo metrics to support your customers’ needs.
Klaviyo email flows
Email flows for Klaviyo consist of a trigger setup to search by keywords for a metric, to then send your configured email to customers. Watch the video below to learn how Recharge and Klaviyo pass information, as well as instructions on replacing standard Recharge notifications.
Build a flow in Klaviyo with Recharge metrics
Use Recharge metrics as the Trigger Setup when building a Klaviyo flow to send customers a Klaviyo notification when certain events occur automatically.
Step 1 - Send the Recharge metric to Klaviyo
Each Recharge metric corresponds to a particular event linked to a customer's subscription, triggering a webhook that transfers data from Recharge to Klaviyo. To set up a metric as a Klaviyo trigger, make sure the related event happens at least once after installing the Klaviyo integration.
Use the Recharge events tool to send fake webhook data to Klaviyo, and trigger the relevant metric for your flow:
- Click Tools & Apps and select Installed apps page in your Recharge merchant portal.
- Select Klaviyo from the list of installed apps.
- Open the Select a metric to send menu under Quickly leverage Recharge events in Klaviyo.
- Select the metric you wish to trigger and click Send metric to send the webhook to Klaviyo.
Step 2 - Build the flow in Klaviyo
Get started by creating the flow in Klaviyo:
- Open the Klaviyo app.
- Select Flows from the navigation menu.
- Select Create flow and then Create From Scratch.
- Add a name to your flow and click Create flow.
Step 3 - Set the flow trigger
- Select Metric from the Trigger Setup menu.
- Choose the metric to trigger the flow so that customers receive the notification. The metric is the customer action that occurs to send out the notification automatically.
- Click Done to save the trigger.
- Optional: Add any Trigger Filters or Flow Filters.
- Click Done to save the flow trigger.
Step 4 - Build the notification
Use the Actions on the side to build the notification:
- Drag the email action to your flow.
- Click Configure Content to create your email.
- Update the flow content, including the email name and subject line, and then use the drag-and-drop builder to add content to your email. Review Klaviyo’s guide How to create flow email content to learn more.
- Use the Preview and Test button to review the content of the notification. Click Send test to experience the email as a user. Click Done to navigate back to your email.
- Click Save to save the flow.
Step 5 - Test the flow
Duplicate the flow, and create a customer list that includes only your test customer to test the flow:
- Duplicate the original flow and set a distinct name.
- Open the flow and click on the trigger.
- Select Flow Filters and click Add a Flow Filter.
- Select If someone is or is not on a list from the conditions dropdown menu. Find your test customer list from the dropdown menu and save the filter.
- Set the Send Status on the Flow to Live to activate the duplicated flow.
- Perform the specific action on your storefront to trigger the flow and confirm the user experience.
Delete or pause the duplicated flow after confirming it works as expected.
Step 6 - Activate the flow
- Set the flow message to live so customers can start receiving your notification:
- Click on the message in the flow.
- Click the Send Status dropdown from the left-hand configuration sidebar.
- Change the status to Live.
You can change the status of your email at any time if you need to make changes, or want to pause notifications while you review their performance. See Klaviyo’s guide to enable a flow for more information.
Step 7 - Disable any Recharge notifications
If you are using Klaviyo to replace a standard notification, make sure to disable the corresponding Recharge notification to prevent customers from receiving duplicate messages:
- Select Settings in your Recharge merchant portal and select Notifications.
- Click on the corresponding Recharge notification.
- Switch the Status toggle to Disabled.
Recharge metrics as event triggers for Klaviyo flows
Every Klaviyo flow begins with a trigger, which causes the flow to activate when the trigger conditions are met. Recharge metrics are one type of trigger you can use when configuring a Flow Trigger.
Use metrics as triggers when building flows in Klaviyo and create marketing flows in Klaviyo to grow your business, or create Transactional flows that replace customer notifications in Recharge. See Klaviyo's instructions on building a flow to get started.
Flow examples
- Use the Subscription started on ReCharge metric to welcome new customers to their subscription.
- Use the Subscription frequency change on ReCharge metric to automatically send customers a confirmation that their subscription was successfully updated.
- Use the Order upcoming on ReCharge to replace Recharge's standard upcoming order notification.
Tip: Recharge has worked with the Klaviyo team to build out a series of instructional use cases that walk you through building a Klaviyo flow in detail. See Recharge and Klaviyo use cases for guidance.
Use Recharge properties to filter customers who enter a Flow
Properties are sent with every metric to provide the full details of the action. Leverage customer properties to build filters, and restrict flows to specific customers with Trigger and Flow Filters.
Trigger filters review the data sent from Recharge to Klaivyo on the event that triggers the flow, for example, only send a flow to customers whose recurring order amount is over $100. Review the steps below to create a trigger filter in Klaviyo:
- Click on the trigger after creating your flow trigger to open the filter options.
- Select either Trigger Filter.
- Click Add a Trigger Filter.
- Select the Dimension you want to use as your filter from the dropdown menu. Dimensions are specific to the trigger event.
- Configure your preferences for the trigger, and click Save to add it to your Flow.
Flow Filters review the data at a profile level, allowing you to target specific behaviors, or restrict the flow to only certain people, for example, customers subscribed to a specific product, receiving their fifth order. Flow filters review each customer who enters the flow, ensuring only those who qualify move through.
You can use the properties associated with a metric, or custom properties, to further filter the customers who enter your flow:
- Click on the trigger after creating your flow trigger to open the filter options.
- Select either Flow Filters.
-
Click Add a Flow Filter. There are multiple filter options available. You may want to consider using the following as a condition:
- What someone has done or not done: Only send the flow to a customer if they have or have not performed a specific action.
- Properties about someone: Use Recharge properties to only send a flow to a customer if they meet specific criteria.
Review the instructions below to build a flow filter using the different filter options listed above:
What someone has done or not done
-
- Select What someone has done or not done from the Condition dropdown menu.
- Select the relevant metric from the Person has dropdown menu.
- Click on the + filter icon to see a list of associated properties. Select the property from the where list, and add the property value to the equal textbox.
- Configure additional filters if necessary, and then save the filter.
Properties about someone
-
- Select the Recharge property from the Dimension list.
- Select your filter option from the Filter menu to determine how the filter should review customers.
- Add the matching value in the Dimension value text box.
- Configure additional filters if necessary, and then save the filter.
See Klaviyo's guide to Understanding flow triggers and filters for more information.
Understanding metrics and properties
Metrics are recorded customer events, stored in Klaviyo. Metrics are triggered when specific customer events occur, and customer data is sent to Klaviyo based on the customer's action. For example, anytime a customer checks out with a new subscription product, the Subscription started on ReCharge metric is triggered to send information from Recharge to Klavyio. See Klaviyo’s article Getting started with metrics to learn more about how metrics work.
Recharge passes line-item details around every event to Klaviyo through metrics. These line-item details are called properties, and they tell the story of the specific action the customer took. Available properties depend on the metric Recharge sends to Klaviyo. For example, the Subscription started on ReCharge properties contains details about the product the customer purchased to start their subscription, including the product ID, so you can create custom Welcome emails to customers based on the products they subscribe to.
Find each metric listed below, grouped by event type, along with the properties sent with each metric.
To use any of the property variables listed blelow in your Klaviyo email, add event.
at the beginning of the syntax to the variable. The variable will not render in your email without this included. Here are some syntax examples:
- To use the cancellation_reason property in a Klaviyo email for the Subscription Started on ReCharge metric, the needed format is
{{ event.cancellation_reason }}
. - To add the schedule_at property in a Klaviyo email for the Order upcoming on ReCharge metric, the required formatting is
{{ event.scheduled_at }}
.
Viewing properties in Klaviyo
You can view example customer properties when previewing the email associated with a Klaviyo flow:
- Open the flow in Klaviyo.
- Click on the email action in the flow.
- Click Edit template to open the email template.
- Click Preview & test to open a preview of the Event Info.
You can now view the available properties associated with the event in the right-hand panel under Event Properties.
Use the arrow buttons in the Previewing with recent event section to populate different customer data.
Subscription metrics
The following metrics are sent to Klaviyo when a customer interacts with their subscription:
- Subscription started on ReCharge: Triggered when a subscription is added to the customer's account through the checkout, customer portal, API, or through the Recharge merchant portal.
- Subscription cancelled on ReCharge: Triggered when a subscription is canceled through the customer portal, via API, through the Recharge merchant portal, or, upon request, through Recharge's bulk cancellation tool.
-
Subscription expired on ReCharge: Triggered when a subscription auto-expires by design.
- To provide a positive customer experience, this metric is only sent if the subscription expires after two or more charges.
- Recharge subscription reactivated: Triggered when a customer reactivates a canceled subscription.
- Subscription paused on ReCharge: Triggered when a customer pauses their subscription.
- Subscription SKU swapped on ReCharge: Triggered when a SKU is swapped on ReCharge.
- Subscription next charge date changed on ReCharge: Triggered when an individual subscription's next charge date is rescheduled.
- Subscription frequency changed on ReCharge: Triggered when a customer changes their subscription frequency.
- One-time product added on ReCharge: Triggered when a one-time product is added to an order.
- One-time product deleted on ReCharge: Triggered when a one-time product is removed from an order.
Properties
The following properties are sent with every subscription metric:
Property |
Definition |
Value | The subscription dollar amount. |
external_product_id | The product ID assigned by your ecommerce platform. |
external_variant_id |
The product variant ID assigned by your ecommerce platform. |
extra | The subscription ID assigned by Recharge. |
is_prepaid |
Indicates if the customer has purchased a prepaid subscription. |
is_skippable |
Indicates if the customer can skip their next charge. |
is_swappable | Indicates if the customer can swap their next charge. |
item | The subscription product purchased. |
next_charge_scheduled_at |
Displays the date and time of the customer’s next scheduled charge, if applicable. |
order_interval_days | The number of days in between charges. |
order_interval_frequency |
The order frequency for the subscription. |
order_interval_unit | The frequency unit used to determine when a subscription order is created. |
cancellation_reason |
Indicates if the subscription has been canceled, and the cancelation reason provided by the customer, if applicable. |
price | The subscription price. |
product_id | The product ID assigned by your ecommerce platform. |
product_title |
The product name. |
recharge_product_id |
The product ID assigned by Recharge. |
sku | The SKU assigned to the product in your ecommerce platform. |
status | The current status of the customer's subscription. |
subscription_id | The subscription ID assigned by Recharge. |
variant | The variant title name for the product. |
variant_id |
The product variant ID assigned by your ecommerce platform. |
product_image_url_med | The URL for the product image. |
order_upcoming_number |
The upcoming order number linked to the address ID associated with the charge. This count includes the initial checkout order. |
is_bundle | Indicates if the subscription is a bundle. |
is_customizable | Indicates if the bundle is customizable. |
customer_selections | Lists the bundle contents selected by the customer. This property remains empty if the customer purchases a preset bundle. |
fallback_selections |
The fallback content set for a bundle. |
bundle_has_oos_selection | Indicates of the subscription contains a bundle with out-of-stock content. |
currency_code_symbol |
The currency symbol that is used for the currency the customer used to purchase their subscription. |
customer_charge_currency |
The currency code for the currency the customer used to purchase their subscription. |
Additional properties are sent with specific metrics. Refer to the list below for additional properties sent with each metric:
Subscription started on ReCharge
-
customer_portal_link: A tokenized customer portal link.
Subscription cancelled on ReCharge
-
customer_portal_link: A tokenized customer portal link.
Subscription expired on ReCharge
- expire_after_specific_number_of_charges: The final charge before the subscription expires. This value will always be two or more.
Subscription SKU swapped on ReCharge
- original_sku_product_title: The product title for the original subscription product.
- original_sku_product_id: The product ID for the original subscription product.
- original_sku_variant_title: The variant title for the original subscription product.
- original_sku_variant_id: The variant title for the original subscription product.
- new_sku_product_title: The product title for the new subscription product.
- new_sku_product_id: The product ID for the new subscription product.
- new_sku_variant_title: The variant title for the new subscription product.
- new_sku_variant_id: The variant title for the new subscription product.
- updated_at: The date and time when the queued charge was last updated.
Subscription frequency changed on ReCharge
- original_order_interval_days: The original interval the customer was subscribed to.
- original_order_interval_unit: The original interval unit the customer was subscribed to.
- new_order_interval_days: The new interval the customer was subscribed to.
- new_order_interval_unit: The new interval unit the customer was subscribed to.
- purchase_item_type: The type of purchase.
Order metrics
The following metrics are sent to Klaviyo when a customer interacts with their order:
- Order upcoming on ReCharge: Triggered three days before a customer's upcoming order is processed, by default.
- Order upcoming (prepaid) on ReCharge: Triggered three days before a customer's upcoming prepaid shipment is processed by default.
- Order placed successfully on ReCharge: Triggered when a checkout or recurring order is successfully processed.
By default, Recharge sends the upcoming order metrics to Klaviyo three days before the queued charge date. Click Settings, select Notifications, and choose Subscription upcoming charge to adjust the number of days before the upcoming order metric should be sent to Klaviyo.
You must contact the Recharge support team to update the settings for the order upcoming (prepaid) on ReCharge metric.
Properties
The following properties are sent with every order-related metric:
Property |
Definition |
shipping_address | The customer's shipping address. |
shipping_lines | Information related to the selected shipping method. |
total_discounts | Any discounts applied to the upcoming order. |
total_line_items_price | The subscription item price before discounts are applied. |
total_price | The total price including discounts and shipping. |
total_tax | The total amount charged for tax. |
type | The type of charge. |
line_item_first |
A list of line item properties related to the customer's upcoming order:
|
order_upcoming_number | The upcoming order number linked to the address ID associated with the charge. This count includes the initial checkout order. |
total_unique_line_item_count | The number of unique line items in an order. Multiple orders of the exact same item are only counted once. |
currency_code_symbol |
The currency symbol that is used for the currency the customer used to purchase their subscription. |
customer_charge_currency |
The currency code for the currency the customer used to purchase their subscription. |
customer_portal_link |
Additional properties are sent with specific metrics. Refer to the list below for additional properties sent with each metric:
Order upcoming and Order upcoming (prepaid) on ReCharge
- charge_id: The specific charge_id that triggered the metric.
- created_at: The date and time the order will be created.
- scheduled_at: The scheduled date and time for the upcoming
- charge.status: Confirms that the order is queued
- subtotal_price: The price before shipping, discounts, and taxes.
- transaction_id: No transaction ID is available as the order is queued.
-
Customer Subscription Related Streak Count: The total sum of consecutive subscription-related orders across all of the customer's active subscriptions.
- The value for this property resets when a customer cancels all of their active subscriptions.
- This property is projected based on the context of the customer's upcoming order.
- This property is only compatible with the Order upcoming on ReCharge metric, and is not compatible with the Order upcoming (prepaid) on ReCharge metric
- merged_order: Indicates if the charge was merged with other charges as a result of automatic order merging. See Order merge notifications for additional details.
-
line_items: A list of order information, including:
- SKU
- Product ID
- Purchase item
- Type
- Charge and order interval properties
- Weight
- Bundle properties
- Title
- Expires after a specific number of charges
Order placed successfully on ReCharge
- skipped_gift: Indicates if a shipment that was gifted has been processed.
- shopify_order_id: The order ID assigned by Shopify.
- order_modifications: A list of line item properties related to partial order fulfillment.
-
line_item_first: A list of line item properties related to the customer's upcoming order:
- variant_id
- variant_title
- title
- order_upcoming_number
- image_url
Gifting metrics
Recharge sends the following metrics to Klaviyo when a gift is purchased:
- Gift purchased on ReCharge: Triggered when the gift sender purchases a gift for a gift recipient.
- Gift redeemed on ReCharge: Triggered when a gift recipient redeems their gift.
- Gift unclaimed on ReCharge: Triggered when a gift recipient does not redeem their gift.
Properties
The following properties are sent with every gifting-related metric:
Property |
Definition |
gift_amount | The total cost of the gift. |
gift_currency | The currency the gift was purchased in. |
gift_external_order_id | The order id for your external ecommerce platform. |
gift_id | Identifies a specific gift purchase line item. |
gift_note | A note the customer can send to the gift recipient. |
gift_notification_send_at | The date the notification is set to send for. |
gift_product_id | The external product id of the gift product purchased by the sender. |
gift_product_variant_id | The external variant id if of the gift product purchased by the sender. |
recipient_customer_hash | The unique identifier used to identify the gift recipient. |
recipient_customer_id | The unique identifier used to identify the gift recipient. |
recipient_email | The email address of the person who is receiving the gift. |
recipient_first_name | The first name of the person who is receiving the gift. |
recipient_last_name | The last name of the person who is receiving the gift. |
redeemable_product_id | The external product id of the product that the recipient can redeem. |
redeemable_product_title |
The title of the product that the recipient can redeem. |
redeemable_product_image_link |
The image link for the product that the recipient can redeem. |
redemption_url | The unique URL customers use to redeem their gift. |
sender_email | The email address of the person who purchased the gift. |
sender_first_name | The first name of the person who purchased the gift. |
sender_last_name | The last name of the person who purchased the gift. |
sender_name | The full name of the person who purchased the gift. |
Bundle metrics
Recharge sends the following metrics to Klaviyo to report bundle activity:
- Bundle selection created on ReCharge: Triggered when a new bundle selection record is created and when new selections are created after an automatic reset.
- Bundle selection updated on ReCharge: Triggered when an existing bundle selection record is updated in the customer portal.
Properties
The following properties are sent with every Bundles-related metric:
Property |
Definition |
bundle_selection_id | The ID of the bundle selection record. |
external_product_id | The product ID assigned by your ecommerce platform. |
external_variant_id |
The product variant ID assigned by your ecommerce platform. |
product_handle | The handle of the parent product as it appears in the external ecommerce platform. |
product_image | The image of the parent product as it appears in the external ecommerce platform. |
product_title | The title of the parent product as it appears in the external ecommerce platform. |
subscription_id | The subscription ID for the bundled product. |
items | the items in the bundle including the product and variant IDs, quantity, inventory, image, product title, and handle. |
Rewards metrics
Rewards metrics are split between Credits and Memberships.
Credit metrics
- Credit adjustment created on ReCharge: Triggered whenever a credit adjustment is created on an associated credit account.
Properties
Property |
Definition |
amount | The amount of the credit adjustment on an associated credit account. |
credit_account_type |
The credit account type. Possible values include:
|
currency_code |
The currency of the associated credit account. |
ending_balance |
The available balance on an associated credit account following the adjustment. This does not represent the customer's total available balance across all of their credit accounts. |
total_available_balance |
The total available balance of all credits issued to the customer. |
type | The type of adjustment made on the credit account. Possible values include:
|
Membership metrics
- Membership started on ReCharge: Triggered when a membership is added to a customer’s account through the checkout or customer portal, via the API, or the merchant portal.
- Membership expired on ReCharge: Triggered when a membership automatically expires.
- Membership cancelled on ReCharge: Triggered when a membership is canceled in the merchant portal, via the API, by the customer in the customer portal, or via the Recharge bulk cancelation tool.
- Recharge membership reactivated: Triggered when a customer reactivates a canceled membership.
- Member pricing removed from subscription on ReCharge: Triggered when the member pricing discount is removed from a customer's recurring subscription because their membership expires. This notification is only sent when member pricing is removed from an active subscription.
Properties
Property |
Definition |
membership_next_renewal_date | The date and time of the customer’s next scheduled membership renewal date. |
membership_expiration_date | The date and time of the customer's membership expiration date. |
membership_has_subscription | Indicates if the membership has a subscription. |
membership_status | Indicates the membership status. |
membership_program_name | The membership program name you assigned. |
membership_program_description | The membership program description you set. |
membership_product_billing_frequency | The membership product billing frequency. |
membership_product_billing_unit | The membership product frequency type. |
membership_product_title | The membership product title. |
purchase_item_id | The purchase item ID. |
Additional properties are sent with specific metrics. Refer to the list below for additional properties sent with each metric:
Membership started on ReCharge
- membership_program_id: The membership program ID assigned by Recharge.
Member pricing removed from subscription on ReCharge
The member pricing removed from subscription on ReCharge metric only sends some of the properties listed in the chart above, as well as the following properties:
- bundle_has_oos_selection: Indicates if the order containing a bundle has any out-of-stock bundle contents. Review the customer_selections property under line_items to confirm which products are out-of-stock.
- charge_id: The specific charge_id that triggered the metric.
- currency_code_symbol: The currency symbol that is used for the currency the customer used to purchase their subscription.
- customer_charge_currency: The currency code for the currency the customer used to purchase their subscription.
- has_bundles: Indicates if the order has bundles.
- shopify_order_id: The order ID assigned by Shopify.
- status: Indicates the queued status of the order.
- sub_total: No subtotal is available as the order is queued.
- sub_total_price: The subtotal.
- order_upcoming_number: The upcoming order number linked to the address ID associated with the charge. This count includes the initial checkout order.
- total_discounts: Any discounts applied to the upcoming order.
- total_line_item_price: The subscription item price before discounts are applied. Also considered the subtotal.
- total_price: The total price including discounts and shipping.
- total_tax: The total amount charged for tax.
- total_unique_line_item_count: The number of unique line items in an order. Multiple orders of the exact same item are only counted once.
- transaction_id: No transaction ID is available as the order is queued.
- type: The type of charge.
- variant_ids: The variant ID assigned to the product by your ecommerce platform.
- variant_ids_order_upcoming_number: The upcoming order number for each variant a customer is subscribed to. This count includes the checkout order.
-
line_item_first/line_item_second: A list of line item properties related to the customer's upcoming order:
- variant_id
- variant_title
- title
- order_upcoming_number
- image_url