Checkout embed

WordPress + Klaviyo integration

Klaviyo forms and tracking run on your WordPress site through Klaviyo's own script. A Plandalf button on that site sends paid buyers to Klaviyo as events.

No credit card required. No coding required.

Does WordPress integrate with Klaviyo?

Plandalf has no native Klaviyo step, so the link is a webhook. WordPress hosts a Plandalf button, and a Plandalf sequence posts the buyer to Klaviyo's Events API or profile API with Send Webhook, or through Zapier. Klaviyo's sign-up forms on the same page are Klaviyo's own embed code and are separate.

What moves between WordPress and Klaviyo

EventFrom and toThroughWhat happens
Checkout opened from a WordPress pageWordPressPlandalfCheckout embedThe SDK script and a data-plandalf-present button go in a Custom HTML block or the theme. Your Stripe or PayPal account takes the payment.
Checkout completedPlandalf (paid via Stripe)KlaviyoWebhookSend Webhook POSTs to Klaviyo's Create Event endpoint. The reference needs a private key with the events write scope, a revision header, and a body with properties, a metric name and a profile identified by email.
Checkout completedPlandalf (paid via Stripe)KlaviyoWebhookKlaviyo's profile-import endpoint creates or updates a profile with first name, last name and your own properties, and needs the profiles write scope.
Upsell acceptedPlandalf (paid via Stripe)KlaviyoWebhookRecord it as its own metric, so a Klaviyo flow starts only for people who added the upgrade.
Profile enters a flowKlaviyoPlandalfWebhookPlandalf's Klaviyo page describes a flow Webhook action that posts to a Plandalf catch URL, so the sequence can run Enroll in Promo for the profile.

Send a WordPress sale into Klaviyo as an event

You need a WordPress login that can insert JavaScript, a published Plandalf offer and a Klaviyo private API key.

  1. Add the button to the page

    In the page Code editor or a Custom HTML block paste the Plandalf SDK script and a button with data-plandalf-present and your offer slug. Publish, then open the live page signed out and check that the checkout opens.

  2. Know what Klaviyo's script needs

    Klaviyo's embed-form help says sign-up forms need its onsite tracking script, which many platforms add automatically and a WordPress site without a native connection must add by hand. Embed forms need their code pasted, while popups and flyouts do not.

  3. Create a private key

    Make a Klaviyo private API key with the scopes for the calls you use, events write for the event and profiles write for profile import. Keep it out of the page and only in the Plandalf step.

  4. Build the sequence

    In Plandalf open Automation, then My Sequences, and create a sequence on Plandalf, Checkout Completed and the offer. Pick a recent checkout as the sample on the Test tab.

  5. Configure Send Webhook

    Add Send Webhook with POST to https://a.klaviyo.com/api/events. Add the Authorization header, the revision header and a Content-Type of application/vnd.api+json. In the body set the metric name, put {{trigger.customer_email}} in the profile and {{trigger.line_items_summary}} in the properties.

  6. Test and use the metric

    Switch on Run on test purchases, buy with your own email, and look for the event on the profile in Klaviyo. Then build a flow that starts on that metric, and switch the test setting off.

What sellers do with WordPress and Klaviyo

Digital product from a content site

A publisher sells a paid guide at the end of an article. Each purchase is a Klaviyo event, and a flow on that metric sends the download link and a follow-up.

Classes taught from a studio site

A studio sells a class pass from its WordPress schedule page. Pass buyers become Klaviyo profiles with a Class Pass event, which starts a flow of reminders.

Limits and gotchas

  • Plandalf's docs have no worked Klaviyo example. The route follows Klaviyo's reference and Plandalf's Send Webhook options, so run it on the Test tab with your own email first.
  • Klaviyo's reference says Create Event returns 202 when the event is validated and submitted, which does not confirm that processing has finished.
  • Send Webhook uses application/json unless you supply a Content-Type. Klaviyo's reference shows application/vnd.api+json, so set the header yourself.
  • If WordPress removes the script when you save, the account or hosting plan may block custom JavaScript, as Plandalf's WordPress guide explains.
  • Optimisation plugins can delay both Klaviyo's script and Plandalf's, so check the published page rather than the editor preview.

WordPress and Klaviyo: common questions

Does WordPress integrate with Klaviyo?
Klaviyo's help describes embedding its sign-up forms on any site by pasting code, with its onsite script. Plandalf is separate and reaches Klaviyo by webhook, not through a WordPress plugin.
How do I connect Klaviyo to a Plandalf checkout on WordPress?
Put the Plandalf button on the page and add a Send Webhook step to a Checkout Completed sequence that posts a purchase event to Klaviyo. The recipe above lists the headers and body.
Klaviyo WordPress integration: do I need Klaviyo's script for Plandalf?
No. The Plandalf button works without it. Klaviyo's script matters for its sign-up forms and onsite tracking.
Does Plandalf add buyers to a Klaviyo list?
Not directly. It creates an event or updates a profile, and Klaviyo's own flows or segments decide what happens next.

Feature detail