Blog

Klaviyo Integration With WordPress: Setup Guide

By
The Reform Team
Use AI to summarize text or ask questions

You can connect WordPress to Klaviyo in a few steps: install the plugin, add your Klaviyo key, link forms to lists, and test a live signup. If WooCommerce is part of your site, you can also send order and customer events into Klaviyo.

Here’s the short version of what I’d check first:

  • WordPress admin access
  • Klaviyo account access
  • Klaviyo Site ID and API keys
  • WooCommerce REST API keys if you want store event sync
  • Form-to-list mapping
  • Consent wording and opt-in settings
  • A live test submission to confirm data lands in the right place

A missed setting is often what breaks the setup. In many cases, the issue comes down to 1 of 5 things: the wrong API key, the wrong list, an unpublished form, a flow still in draft mode, or a script blocked by caching.

If I were setting this up, I’d keep one goal in mind: every signup should go to the right list, with the right consent, and trigger the right email flow. That’s what this guide covers, along with plugin setup, WooCommerce sync, form placement, and the most common fixes.

Klaviyo WordPress Integration: Step-by-Step Setup Process

Klaviyo WordPress Integration: Step-by-Step Setup Process

How to Connect WordPress Forms to Klaviyo (Email Automation Setup)

WordPress

Prepare Your Klaviyo and WordPress Accounts

Before you install the plugin, gather your Klaviyo and WordPress login details and API credentials. It’s a small step, but it can save you from connection issues later.

Find Your Klaviyo API Keys and Form Settings

Klaviyo uses different keys for different jobs. Your Public API Key, also called your Site ID, is used for onsite tracking and Klaviyo signup forms. Your Private API Key is used for secure data sync, like pulling WooCommerce order data into Klaviyo.

You can find both in Klaviyo > Account Settings > API Keys.

If you use Sign-up Forms, check each form’s destination list too. That way, you know exactly where new subscribers will go during setup.

Check Your WordPress and WooCommerce Configuration

WooCommerce

In WordPress, make sure your Site URL matches the domain in Klaviyo. Also check your timezone under Settings > General. If the timezone is off, event times can shift and flows may fire at the wrong time.

If you plan to sync WooCommerce store data, create REST API credentials in WooCommerce > Settings > Advanced > REST API. Add a new key and set the permissions to Read/Write. This allows Klaviyo to sync orders and customer events.

Be sure to save the Consumer Key and Consumer Secret somewhere easy to access for setup.

Credential Where to Find It Used For
Site ID (Public API Key) Klaviyo > Account Settings > API Keys Onsite tracking and signup forms
Private API Key Klaviyo > Account Settings > API Keys Secure data sync (e.g., WooCommerce)
WooCommerce Consumer Key + Secret WooCommerce > Settings > Advanced > REST API Syncing orders and customer data

Next, install the Klaviyo plugin and connect it using these details.

Install the Klaviyo Plugin and Connect Your Account

Start by installing the WordPress plugin, then connect Klaviyo so form submissions and site events sync on their own.

Install and Activate the Official Klaviyo Plugin

In your WordPress dashboard, go to Plugins > Add New, search for "Klaviyo," then click Install Now and Activate.

Use a WordPress Administrator account and a Klaviyo account that has permission to view API keys. After activation, open the Klaviyo settings to finish the connection.

Connect Klaviyo Using Your Site ID or API Key

Open the Klaviyo settings in WordPress, enter your Public API Key (Site ID) in the marked field, and save your changes.

This allows Klaviyo to load forms and track onsite activity through WordPress. After the account is connected, add your forms and map each one to a list.

Add WooCommerce Details for Event Sync

If you use WooCommerce, enter your Store URL and REST API credentials in the Klaviyo plugin settings. This syncs orders and customer events to Klaviyo.

After that, connect each form to the right Klaviyo list.

Add Klaviyo Forms to WordPress and Map Subscribers to Lists

Plugin-Based Forms vs. Manual Embeds: Which to Use

Once your Klaviyo account is connected, you have two practical ways to show signup forms on your WordPress site.

The plugin can display Klaviyo popups, flyouts, and full-page forms on its own. You don't need separate embed code for each form. Manual embeds use Klaviyo's code inside a WordPress Custom HTML block or a theme template. That route gives you tighter control over where a form appears on a page.

Feature Plugin Embed
Setup Time Very fast - publish in Klaviyo, then display the form on your site Moderate - copy the embed code and paste it into the right WordPress location
Placement Control Best for site-wide display Best for specific inline locations, such as a landing page section or blog post
Maintenance Low - updates made in Klaviyo reflect automatically Moderate - requires manual updates
Best Use Case General newsletter capture and promotional offers Demo request pages, gated content, and custom landing pages

Use the plugin for site-wide forms. Use embeds when you need a form locked into a set spot on a page. After you choose how the form will appear, set it to the right list.

Set the Destination List for Each Form

Open the form settings and choose the destination list. This step decides which automations fire after someone signs up.

Match the list to the form's purpose, like a newsletter, demo request, or checkout opt-in. Keep intent-based forms on separate lists so each follow-up flow stays tied to what the person asked for. If someone signs up for a demo, they shouldn't drop into the same path as a general newsletter reader.

Send form submissions to lists, not segments. Use segments to group people by behavior or profile data after they've been added.

Your list choice affects delivery, and consent affects who can be added.

Consent language should sit right below the form fields, close to the submit button, and clearly state what subscribers are agreeing to. Keep the wording plain and direct so people know exactly what they're signing up for.

For B2B forms, separate transactional follow-up from marketing opt-ins. A simple checkbox can draw that line. If you're collecting SMS consent along with email, add clear disclosure language and opt-out instructions on the form itself.

In WooCommerce, subscribe only users who actively opt in. Keep transactional order emails separate from marketing consent.

Once your consent setup and list rules are in place, run a live submission and confirm the contact lands in the right spot.

Test the Integration and Confirm Data Is Syncing

Once list mapping is done, run a live test to make sure WordPress data is reaching Klaviyo the way it should.

Run a Live Form Submission Test

Open the live WordPress page or popup with the form in an incognito or private browser window. That helps avoid cached sessions or past signups getting in the way. Then submit a clearly labeled test email, such as firstname+klaviyotest@yourdomain.com, and fill out all required fields and consent steps.

Next, log in to Klaviyo, go to Audience → Lists & Segments, and open the list connected to that form. Within a few minutes, you should see the new profile with the right email address and field mapping. If double opt-in is turned on, check that the confirmation email goes out and that the profile changes to Subscribed after the link is clicked.

If there’s a welcome flow tied to that list, open Flows and review the activity feed or the first email step. You want to see the test profile marked as Sent and an event timeline that shows Subscribed to List followed by Email Sent. If nothing fires, check two things first: the flow is set to Live, and the test profile matches the trigger rules.

If your site also syncs store or onsite data, test those events after the form submission.

Check WooCommerce or Tracking Events if Enabled

If WooCommerce is enabled, place a test order using a test email and a U.S. address. Then confirm that Klaviyo logs the order and checkout events for that email.

If you’re not using WooCommerce, check the page source for klaviyo.js to make sure the script is loading. After that, confirm onsite tracking by looking at the profile timeline for page activity.

Common Setup Issues and How to Fix Them

Most issues come from a few small mismatches between WordPress and Klaviyo. This table can help you narrow things down fast.

Problem Fix
Form submissions not appearing in Klaviyo Confirm the public API key (Site ID) in WordPress matches Account → Settings → API Keys in Klaviyo. Also verify the Klaviyo plugin or script is active and that the form is published, not in draft mode.
Contacts added to the wrong list Open the form in Klaviyo and verify the destination list.
No WooCommerce order events in Klaviyo Verify the WooCommerce integration shows Connected in Klaviyo, that the REST API keys have Read/Write access, and that the store URL matches your live WordPress site.
Tracking events (Active on Site, Viewed Page) missing Use browser developer tools to confirm the Klaviyo script loads. Also check whether caching or minification plugins are stripping it out or delaying it.
Double opt-in or welcome flows not triggering Confirm flows are set to Live, the trigger points to the correct list, and any filters are not excluding the test profile.

FAQs

Do I need WooCommerce to use Klaviyo with WordPress?

No. You do not need WooCommerce to use Klaviyo with WordPress.

For standard Klaviyo signup forms, you only need Klaviyo.js installed correctly and the form published in your Klaviyo account. WooCommerce only comes into play for ecommerce-specific features, like checkout page integration.

Should I use the plugin or an embed for my Klaviyo form?

It comes down to how hands-on you want to be and where you want the form to appear.

A Klaviyo plugin can handle the JavaScript setup for your whole WordPress site. That’s handy if you want a simpler setup and less manual work.

An embed gives you more control. You can paste the form code in the exact spot where you want it to show up.

If you go with an embedded form, check that your site settings or other plugins aren’t blocking or breaking the JavaScript.

Why isn’t my Klaviyo welcome flow sending after signup?

First, make sure you’ve had at least one successful test submission. Klaviyo only creates flow triggers after an event happens. It also helps to use a unique email address that hasn’t been used with that form before.

Then check a few common trouble spots:

  • The flow is triggered by the right list or metric
  • No flow filters are blocking the subscriber
  • Your site’s JavaScript is loading the way it should

If one of those pieces is off, the flow may not start even if the form submission looks fine on the surface.

Related Blog Posts

Use AI to summarize text or ask questions

Discover proven form optimizations that drive real results for B2B, Lead/Demand Generation, and SaaS companies.

Lead Conversion Playbook

Get new content delivered straight to your inbox

By clicking Sign Up you're confirming that you agree with our Terms and Conditions.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
The Playbook

Drive real results with form optimizations

Tested across hundreds of experiments, our strategies deliver a 215% lift in qualified leads for B2B and SaaS companies.