> Klaviyo has its own Shopify connection for orders. Plandalf adds a checkout beside the cart and sends its buyers to Klaviyo as events and profiles by Send Webhook.

Source: https://plandalf.com/apps/shopify/integrations/klaviyo
Last modified: 2026-10-26

Checkout embed

# Shopify + Klaviyo integration

Klaviyo handles your Shopify orders itself. Plandalf adds an offer beside the cart and writes its buyers into Klaviyo as events through Send Webhook.

[Start your 14-day free trial](https://admin.plandalf.dev/signup)[Jump to the setup](#setup)

No credit card required. No coding required.

**Shopify**

**Klaviyo**

## Does Shopify integrate with Klaviyo?

Plandalf does not read your Shopify orders and has no native Klaviyo step. Klaviyo's own Shopify connection covers the store's customers, orders and onsite events. A Plandalf offer opened from a Shopify page can write its buyers into Klaviyo with Send Webhook (to Klaviyo's Events or profile API) or through Zapier.

## What moves between Shopify and Klaviyo

Event

From and to

Through

What happens

Offer opened from a Shopify page

ShopifyPlandalf

Checkout embed

A theme button carrying `data-plandalf-present` opens the offer. The cart keeps running as normal, and the offer is paid through your own Stripe or PayPal account.

Checkout completed

Plandalf (paid via Stripe)Klaviyo

Webhook

Send Webhook POSTs to Klaviyo's Create Event endpoint with a metric name you choose and the buyer's email as the profile. Klaviyo answers 202 once the event is validated and queued, which is not the same as processed.

Checkout completed

Plandalf (paid via Stripe)Klaviyo

Webhook

To store first name and your own properties, a second Send Webhook can call Klaviyo's profile-import endpoint, which creates the profile or updates the existing one.

Upsell accepted

Plandalf (paid via Stripe)Klaviyo

Webhook

Use a different metric name for the upsell so a Klaviyo flow can tell a plain buyer from one who took the add-on.

Cart recovery

PlandalfKlaviyo

Webhook

When a payment fails, the trigger carries a `retry_url`. Passing it as an event property lets a Klaviyo email link the buyer back to the payment page.

Profile enters a flow

KlaviyoPlandalf

Webhook

Plandalf's Klaviyo page uses a Webhook action inside a Klaviyo flow that posts to a Plandalf catch URL, so the sequence can run Enroll in Promo for that person.

## Send a Plandalf checkout buyer to Klaviyo as an event

You need a Shopify theme you can edit, a published Plandalf offer and a Klaviyo private API key with write access to events.

1.  ### Load the SDK in the Shopify theme
    
    Add the Plandalf script before the closing `body` tag of `theme.liquid`. Place a button with `data-plandalf-present` on the product template, then test that the Shopify path still works before you test the offer.
    
2.  ### Create a Klaviyo private key
    
    Klaviyo's Create Event reference says the endpoint takes a private key with the `events:write` scope, sent as an Authorization header that starts with Klaviyo-API-Key. Profile import needs `profiles:write`. Create a key with only the scopes you use.
    
3.  ### Build the sequence
    
    Under Automation, then My Sequences, create a sequence with Plandalf, Checkout Completed and your offer. Pick a recent checkout on the Test tab so `{{trigger.customer_email}}` and the other variables show real values.
    
4.  ### Configure Send Webhook for the event
    
    Add Send Webhook, POST, to `https://a.klaviyo.com/api/events`. Add the Authorization header, a `revision` header with a dated revision from Klaviyo's reference, and set Content-Type to `application/vnd.api+json`, because Plandalf only defaults to application/json when you leave it blank.
    
5.  ### Write the payload
    
    Follow Klaviyo's body shape: a `data` object of type event whose attributes hold the properties, a metric with a name such as Plandalf Checkout Completed, and a profile with `email` set to `{{trigger.customer_email}}`. Add `{{trigger.line_items_summary}}` as a property.
    
6.  ### Test, then handle refunds
    
    Turn on Run on test purchases, buy with a test card and your own email, and confirm the event on the profile in Klaviyo before turning the sequence on. For refunds, add a sequence on Invoice Refunded that sends a refund event; Klaviyo's reference says setting `backfill` to true records an event without starting flows.
    

## What sellers do with Shopify and Klaviyo

### Upgrade offer on a product launch

A store launches a product in the Shopify cart and sells a paid early-access pass as a Plandalf offer from the same page. Klaviyo gets a Plandalf event per pass buyer, and a flow built on that metric sends the access emails.

### Bookings next to a retail catalogue

A shop that also sells fittings or classes keeps the bookable service in a Plandalf offer. Each booking becomes a Klaviyo event, so the confirmation and reminder flow sits with the rest of the store's email.

## Limits and gotchas

-   This route is built from Klaviyo's published reference and Plandalf's Send Webhook options, and Plandalf's docs do not show a worked Klaviyo example. Run the step on the Test tab with your own email before relying on it.
-   The Klaviyo key is a private key held in the step's headers. Create it with only the scopes needed, and rotate it in the sequence if it ever leaks.
-   Klaviyo's Shopify connection brings in Shopify orders and onsite events, none of which exist for a Plandalf sale. Revenue from Plandalf appears in Klaviyo only if you pass it as an event property.
-   Klaviyo's Create Event reference lists a steady limit of 3,500 requests a minute and a burst of 350 a second, which a normal launch will not reach.
-   Send Webhook waits up to 30 seconds for a reply and Plandalf's docs say not to assume automatic retries, so read the step result in the Events view.

## Shopify and Klaviyo: common questions

Does Shopify integrate with Klaviyo?

Yes, Klaviyo has its own Shopify connection, set up from Klaviyo's Integrations page, which brings in store customers, orders and onsite events. Plandalf is not part of that connection.

How do I connect Plandalf to Klaviyo for a Shopify store?

Open the offer from a Shopify page, then build a sequence on Checkout Completed whose Send Webhook step posts a purchase event to Klaviyo's Events API. The recipe above lists each field.

Shopify Klaviyo integration: will a Plandalf sale count as a Shopify order?

No. A Plandalf offer is paid through your Stripe or PayPal account, so Shopify holds no order for it and Klaviyo's Shopify data will not include it.

Can a Klaviyo flow start a Plandalf promo countdown?

Yes, through a Webhook action in the flow that posts to a Plandalf catch URL, as described on Plandalf's Klaviyo page. The sequence then runs Enroll in Promo.

## Guides for this pair

-   [Plandalf with Shopify](https://plandalf.com/platforms/shopify)
-   [Plandalf with Klaviyo](https://plandalf.com/platforms/klaviyo)
-   [Shopify setup guide](https://plandalf.com/docs/platforms/shopify)
-   [Webhooks, inbound and outbound](https://plandalf.com/docs/api/webhooks)
-   [Automations overview](https://plandalf.com/docs/integrations/plandalf)

[Start your 14-day free trial](https://admin.plandalf.dev/signup)

## More from Shopify and Klaviyo

-   [**Stripe + Shopify**A button in your Shopify theme opens a Plandalf checkout that charges through your own Stripe account, while Shopify keeps its cart and catalog.](https://plandalf.com/apps/stripe/integrations/shopify)
-   [**PayPal + Shopify**A Plandalf offer sits beside the Shopify cart. PayPal on that offer is set in Plandalf, not in Shopify.](https://plandalf.com/apps/paypal/integrations/shopify)
-   [**Shopify + ActiveCampaign**ActiveCampaign connects to the Shopify store on its own. A Plandalf offer opened from that store reaches ActiveCampaign through one Send Webhook step.](https://plandalf.com/apps/shopify/integrations/activecampaign)
-   [**Mailchimp + Klaviyo**A Plandalf checkout writes the buyer to Mailchimp natively and to Klaviyo through its API, so both lists fill while you decide which one wins.](https://plandalf.com/apps/mailchimp/integrations/klaviyo)
-   [**Next.js + Klaviyo**Your Next.js app owns the page, Plandalf owns checkout, and the paid order lands in Klaviyo as an event that can start a flow.](https://plandalf.com/apps/nextjs/integrations/klaviyo)
-   [**PayPal + Klaviyo**Plandalf posts a purchase event for each PayPal-paid checkout to Klaviyo's API, where a flow can pick it up.](https://plandalf.com/apps/paypal/integrations/klaviyo)

Checked October 26, 2026 against Plandalf's own setup guides and the vendor documentation: [Klaviyo help: Getting started with Shopify](https://help.klaviyo.com/hc/en-us/articles/115005080407), [Klaviyo API reference: Create Event](https://developers.klaviyo.com/en/reference/create_event), [Klaviyo API reference: Create or Update Profile](https://developers.klaviyo.com/en/reference/create_or_update_profile).
