Skip to content

Klaviyo

Connect Klaviyo to Cadence — OAuth or API key setup, flow configuration, profile properties, and LiveBlock.

Klaviyo is Cadence’s primary email integration. Cadence sends prediction events and syncs profile properties to Klaviyo; your Klaviyo flows send the actual emails.

What Klaviyo receives from Cadence

  • Eventscadence_prediction events with prediction type, product info, and ConvertCart links
  • Profile propertiescadence_* custom properties on each customer profile for segmentation and personalization
  • LiveBlock — Universal Content block deployed by the Cadence team (optional)

Connecting Klaviyo

Go to Integrations → Klaviyo in the Cadence app.

  1. Click Connect
  2. You’ll be redirected to Klaviyo to authorize Cadence
  3. Approve the requested permissions
  4. You’ll return to the Cadence app with the connection confirmed

OAuth tokens are refreshed automatically by Cadence. No manual key management needed.

Permissions Cadence requests:

  • Accounts (read)
  • Profiles (write)
  • Events (write)
  • Lists (write)

Option B: Private API key

  1. Click Connect with private API key
  2. In Klaviyo: Settings → API keys → Create private API key
  3. Grant permissions: Accounts (read), Profiles (write), Events (write), Lists (write)
  4. Copy the key (starts with pk_) and paste it in the Cadence connect modal
  5. Click Connect

API keys are encrypted at rest and never shown again after saving.

Required setup in Klaviyo

Connecting Cadence to Klaviyo is not enough on its own. You must create flows in Klaviyo that listen for Cadence events.

Create flows

Create one flow per prediction type:

  1. Flows → Create flow → Create from scratch
  2. Set trigger: Metric → cadence_prediction
  3. Add trigger filter: prediction_type equals the target value:
    • due_to_replenish for replenishment
    • about_to_lapse for lapse prevention
    • primed_for_cross_sell for cross-sell
    • primed_for_subscription for subscription upsell
  4. Design the email using event properties (product_name, cart_url, customer_first_name)
  5. Set the flow to Live

See Sequences and flows for detailed flow building guidance.

Use event properties in emails

Property Use in email
customer_first_name Personalize greeting
product_name Reference the product
cart_url Primary CTA button link
product_url Secondary product page link

The CTA button should link to cart_url — this opens ConvertCart with the pre-filled cart.

Profile properties for segmentation

Cadence syncs profile properties prefixed with cadence_ to each Klaviyo profile. Use these for segmentation and dynamic content:

Property Description
cadence_due_to_replenish Customer has an active replenishment prediction
cadence_about_to_lapse Customer has an active lapse prediction
cadence_replenishment_cart_url ConvertCart link for replenishment
cadence_replenishment_product_name Product name for replenishment
cadence_lapse_cart_url ConvertCart link for lapse prevention
cadence_cross_sell_cart_url ConvertCart link for cross-sell

Example segment: “Cadence Replenishment Ready” — where cadence_due_to_replenish is true.

Profile sync begins when your store is enabled and updates daily.

LiveBlock setup

LiveBlock is a personalized email block for campaigns and newsletters. Setup is handled by the Cadence team:

  1. Request LiveBlock during your enablement call or via support
  2. Cadence team builds and deploys the block to Klaviyo Universal Content
  3. In your email templates, drag “Cadence LiveBlock” from Universal Content
  4. The block auto-personalizes per recipient based on their active prediction

See LiveBlock for details.

Testing the connection

After connecting:

  1. Click Test connection on the Klaviyo integration detail page
  2. Cadence verifies it can reach the Klaviyo API with your credentials

A successful test doesn’t mean events are flowing — that requires your store to be enabled and flows to be live.

Troubleshooting

Issue Solution
OAuth redirect fails Ensure you’re logged into the correct Klaviyo account
API key rejected Verify permissions include Accounts, Profiles, Events, and Lists
Events not appearing in Klaviyo Confirm store is enabled and flows are Live
Flows not triggering Check trigger metric is exactly cadence_prediction
Profile properties missing Profile sync starts after store enablement; allow 24 hours

Where to go next