Integrate with WooCommerce



This article walks through enabling the WooCommerce integration in your Klaviyo account. The main steps are as follows:

  • Enable the WooCommerce integration
  • Install the Klaviyo WooCommerce plugin

After integrating you can add product tracking and connect a WooCommerce signup form to a list in your Klaviyo account.


Enable the WooCommerce Integration

This process walks you through creating an API key and secret in your WooCommerce store, and then using this API key and secret to enable the WooCommerce integration in your Klaviyo account.

  1. From your Wordpress dashboard, navigate to WooCommerce > Settings > Advanced > Legacy API. Check the box to Enable the legacy REST API and click Save changes.
  2. Click the REST API tab and click Add Key. Set the Description to "Klaviyo" and set the Permissions to "Read/Write".
  3. Click Generate API Key. Keep this tab open or note down the information, as you will need to copy/paste it in the next step.
  4. Now go to your Klaviyo account, click the Integrations tab, and search for the WooCommerce Integration.
  5. In your Klaviyo account, paste in the information from the WooCommerce API key you just created above. Click Connect to WooCommerce.
If you're experiencing trouble with this step, double check that you're using the correct Store URL, Consumer Key, and Consumer Secret. Your store URL should be the same URL that customers use to access your site.

Your data will begin to sync with Klaviyo in minutes. You've successfully enabled the WooCommerce integration.

Install the Klaviyo WooCommerce Plugin

The Klaviyo WooCommerce Wordpress plugin allows you to add a newsletter signup form to your website, enable website activity tracking, and get data about when people start checkouts and view products so you can send out abandoned cart emails.

You can download the Klaviyo WordPress plugin here.

To upload the plugin to your WordPress site, click the Plugins tab, then click Add New Plugin and then Upload Plugin. After uploading the plugin, install it and activate it.


  1. After installing and activating the plugin, go to your Klaviyo account and copy your six-character Public API Key / Site ID.
  2. Navigate to your WordPress dashboard and click on the Klaviyo menu.
  3. Paste in the Public API Key / Site ID you copied above.
  4. Optional: If you would like to add a checkbox on the checkout page, you can enter a Klaviyo list ID to connect subscriptions to and customize the text.

This completes installing the Klaviyo WooCommerce WordPress plugin.

Test Your WooCommerce Plugin

To test out your plugin, go to your website and follow these instructions:

  1. Add an item to your cart.
  2. Go to the checkout page.
  3. Fill in your email address on the checkout page; when you click to another text box, Klaviyo will automatically track that you've started a checkout.
  4. Go to your Klaviyo Dashboard's Activity Feed, look for the Started Checkout metric, and you should see your checkout appear.

Data Synced with the WooCommerce Integration

This section walks through some of the data you sync to your Klaviyo account from the WooCommerce integration.

Started Checkout

This event tracks when one of the following occurs:

  • A customer is logged into their account, has added something to their cart, then views the checkout page
  • A customer adds something to their cart, views the checkout page, enters a billing email address

Klaviyo captures the value of a cart at time of checkout, as well as other pertinent details of a customer's cart that you can leverage for personalized Abandoned Cart emails.

We will also generate a key that allows you to create a link that rebuilds the customer's cart in case they return to their cart via an email triggered by this event on another device. You can create this link using the following URL parameter:

?wck_rebuild_cart={{ event.extra.CartRebuildKey }}

Placed Order

This event tracks when a customer completes the checkout process and creates an order in your WooCommerce store. Klaviyo records a Placed Order event when we sync an order with the status of processing.

The event Klaviyo tracks includes all product information captured by WooCommerce so that you can use this detailed data in purchase follow up emails. You can filter and target Placed Order events based on the following criteria:

  • $value: The value of the order
  • ItemNames: The names of the products in someone's order, e.g., t-shirt or pants
  • IsDiscounted: Order has been discounted; true or false
  • UsedCoupon: A coupon was used on the order, e.g., true or false
  • ItemCategories: The categories to which the items in the cart belong
  • ShippingMethods (if any)
  • Coupons (if any)

Fulfilled Order

This event tracks when you mark an order as "shipped" in your WooCommerce store. Klaviyo records a Fulfilled Order event when we sync an order with the status of completed.

The event Klaviyo tracks includes all of the product information about the items someone purchased including product names, images, and variable product information so you can use that information in purchase follow up emails. You can filter and target Fulfilled Order events based on the following criteria:

  • $value: The value of the order
  • ItemNames: The names of the products in someone's order, e.g., t-shirt or pants
  • IsDiscounted: Order has been discounted; true or false
  • UsedCoupon: A coupon was used on the order, e.g., true or false
  • ItemCategories: The categories to which the items in the cart belong
  • ShippingMethods (if any)
  • Coupons (if any)

Ordered Product

This event is tracked when a customer places an order, but one event is tracked for each item someone purchases. For example, if someone buys a t-shirt and a pair of pants, one Placed Order event is tracked and two Ordered Product events -- one event for the t-shirt and one event for the pants.

The event Klaviyo tracks includes detailed information about each product someone purchases. This is useful when creating behavioral segments based on product options and other detailed information that's not available in the Placed Order event. You can filter and target Ordered Product events based on the following criteria:

  • $value: Value of the item
  • ProductId: The custom ID of a product in your WooCommerce store, e.g., 1321
  • SKU: The SKU of the product in your store, e.g., REDMEDIUMTSHIRT
  • Name: The name of a product in your store, e.g., Red T-shirt
  • Quantity: The quantity of the item ordered
  • Categories: List of categories

Viewed Product

This event is tracked when a customer views a product. This is useful if you'd like to set up a Browse Abandonment flow or build segments based on product browsing data.

Customer Data and Custom Properties

For each customer in your WooCommerce account, a profile is created in your Klaviyo account. Customer information including first name, last name, and location is added to this profile.

Klaviyo syncs all customers that are currently subscribed to your WooCommerce newsletter list. It is important to ensure that any customer already on your WooCommerce newsletter list has consented to receiving marketing emails.

In addition there are also custom properties that are added to each Klaviyo profile. You can use these properties in segments and flows.

Sync a WooCommerce Sign Up Form to a Klaviyo List

The last thing you'll want to do is customize your newsletter subscription form so it is connected to Klaviyo. Go to Appearance > Widgets from your WordPress Dashboard. Select "Klaviyo: Email Signup" (see image below) and select the type of subscription you want (depending on your Wordpress theme). If you need help finding your Klaviyo List ID, follow these instructions.

Additional Resources

  • If you're using WooCommerce Subscriptions, this plugin will allow you to sync that data to Klaviyo


Was this article helpful?
66 out of 89 found this helpful