Klaviyo Sync
Send enriched Recharge subscription events and PricePilot notifications to Klaviyo.
Klaviyo Sync sends enriched subscription lifecycle events to Klaviyo, giving your marketing team rich data for segmentation and flow triggers. It covers two categories of events:
- 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 insights
Prerequisites
Both Recharge and Klaviyo must be connected on the Integrations page before Klaviyo Sync can be used. If either integration is missing, the Klaviyo Sync page displays a warning banner with a link to the Integrations page.
PricePilot events
These events are sent automatically when the corresponding PricePilot feature is active and Klaviyo is connected. Each event can be individually enabled or disabled from the Klaviyo Sync page without affecting the underlying feature.
| Event | Feature | Notes |
|---|---|---|
Subscription Price Update | Price Sync | Legacy naming — predates the PP prefix convention |
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 turned on
- Disabled — the event has been manually turned off (the parent feature is still active)
- Feature off — the parent feature is not enabled, so the event cannot fire
- Klaviyo not connected — Klaviyo integration is missing
Recharge event forwarding
Recharge event forwarding enriches incoming Recharge webhook events with Shopify data and forwards them to Klaviyo. Use the toggle on the Klaviyo Sync page to enable or disable forwarding.
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
The prefix is customizable (up to 20 characters) so PricePilot-enriched events can coexist alongside Recharge's native Klaviyo integration.
Data enrichment
Each event is enriched with additional data from Shopify. Enrichment is grouped into categories you can toggle on or off. Some enrichments only apply to event types that carry the relevant data (e.g., product metadata requires a product ID, so it won't appear on customer or address events).
Enriched properties use a pp_ prefix to distinguish them from raw Recharge data (rc_ prefix).
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 derived from existing webhook data at no additional cost and are always included when applicable:
- Days until next charge (
pp_days_until_next_charge) — subscription events only - Frequency label (
pp_frequency_label) — subscription events only, e.g. "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, useful for differentiating welcome vs recurring flows
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
Each group can be expanded to toggle individual topics, or you can select/deselect an entire group at once.
Security
All incoming Recharge webhooks are validated using HMAC-SHA256 signature verification with your Recharge API client secret. Invalid signatures are rejected.
Klaviyo setup
PricePilot supports two Klaviyo connection methods:
- OAuth (recommended) — connect Klaviyo from the Integrations page in PricePilot. This is the preferred setup for ongoing event forwarding and account management.
- Manual private API key (fallback) — connect with a Klaviyo private API key that includes Events: full access permission. To create a private API key, go to the Private API Keys section in your Klaviyo account settings.