Klaviyo Sync
Send enriched Recharge subscription events and PricePilot notifications to Klaviyo.
Klaviyo Sync sends subscription lifecycle events to Klaviyo with extra Shopify and customer data attached, for segmentation and flow triggers. It covers two kinds of event:
- PricePilot events: notifications from PricePilot features (price changes, discounts, swaps, inventory alerts)
- Recharge event forwarding: Recharge webhook events enriched with Shopify product data and customer metrics
Prerequisites
Both Recharge and Klaviyo must be connected (see Installation) before Klaviyo Sync can be used. If either is missing, the Klaviyo Sync page shows a warning with a link to the Integrations page.
PricePilot events
These events are sent when the matching PricePilot feature is active and Klaviyo is connected. Each event can be turned on or off from the Klaviyo Sync page without affecting the feature itself.
| Event | Feature | Notes |
|---|---|---|
Subscription Price Update | Price Sync | Older name; predates the PP prefix |
PP Discount Applied | Discount Engine | |
PP Inventory Alert | Demand Forecast | |
PP Product Swap | Product Swap | |
PP Product Swap Revert | Product Swap | Sent when an auto-revert restores the original variant |
Each event shows a status badge:
- Active: the parent feature is enabled, Klaviyo is connected, and the event is on
- Disabled: the event has been turned off while the parent feature stays active
- Feature off: the parent feature is not enabled, so the event cannot fire
- Klaviyo not connected: the Klaviyo integration is missing
Recharge event forwarding
Recharge event forwarding adds Shopify data to incoming Recharge webhook events and forwards them to Klaviyo. Turn it on or off from the Klaviyo Sync page.
Metric prefix
Each forwarded event creates a Klaviyo metric named <prefix> <Entity> <Action>. The default prefix is PP-RC, producing metrics like:
PP-RC Subscription CreatedPP-RC Charge CompletedPP-RC Customer UpdatedPP-RC Order Processed
You can change the prefix (up to 20 characters) so PricePilot events sit alongside Recharge's own Klaviyo integration without clashing.
Data enrichment
Each event gets extra data from Shopify, grouped into categories you can toggle. Some categories apply only to events that carry the relevant data: product metadata needs a product ID, so it does not appear on customer or address events.
Enriched properties use a pp_ prefix; raw Recharge data uses rc_.
Product data
Applies to: subscription, charge, order, and one-time events.
- Product images:
pp_product_image_url,pp_product_image_alt,pp_product_images(up to 3 image URLs) - Variant prices:
pp_shopify_price,pp_shopify_compare_at_price,pp_variant_sku,pp_variant_options - Product metadata:
pp_product_tags,pp_product_type,pp_product_vendor,pp_collections(collection titles),pp_inventory_quantity
Customer data
Applies to: all events.
- Customer LTV:
pp_customer_ltv,pp_customer_spending_tier(new, bronze, silver, gold, platinum),pp_customer_order_count,pp_customer_subscription_tenure_days - Customer profile:
pp_customer_tags,pp_customer_city,pp_customer_province,pp_customer_country,pp_customer_account_created_at
Computed fields
These are calculated from the webhook itself, need no extra lookups, and are always included when they apply:
- Days until next charge (
pp_days_until_next_charge): subscription events only - Frequency label (
pp_frequency_label): subscription events only, for example "Every 30 days" - Savings amount (
pp_savings_amount): when a compare-at price exists and is higher than the current price - First charge indicator (
pp_is_first_charge): charge events only, for separating welcome flows from recurring ones
Event selection
You can forward all events or select specific event groups:
- Subscriptions: created, updated, cancelled, activated, skipped, unskipped
- Charges: created, completed, failed, paid, refunded, skipped, upcoming, max retries reached
- Customers: created, updated, activated, deactivated
- Orders: processed
- Addresses: created, updated
- Checkouts: created, updated, completed
- One-time purchases: created, updated, deleted
- Bundle selections: created, updated, deleted
Expand a group to toggle individual topics, or select and deselect the whole group at once.
Security
Every incoming Recharge webhook is checked against an HMAC-SHA256 signature made with your Recharge API client secret. Webhooks with an invalid signature are rejected.
Klaviyo setup
PricePilot supports two Klaviyo connection methods:
- OAuth (recommended): connect Klaviyo from the Integrations page in PricePilot.
- Manual private API key (fallback): connect with a Klaviyo private API key that has the Events: full access permission. Create one under Private API Keys in your Klaviyo account settings.