Stripe Integration



This article will walk you through integrating Stripe with Klaviyo. After enabling Klaviyo's Stripe integration, you'll be able to personalize and target emails based on invoice and payment data from your customers.

Here's the data we sync from Stripe:

  • When an invoice is issued, and the items included in each invoice
  • Payment information for when a user fails payment, is refunded, or successfully pays

Enable the Stripe Integration in Klaviyo

Click on the Integrations tab in the left sidebar of your account.

Navigate to the All Integrations tab and find Stripe on the list of available integrations. All integrations are in alphabetical order. Click Add Integration.

To connect your Stripe account, click Connect to Stripe. This will bring you to Stripe's website to authorize access. Once you authenticate with Klaviyo, you will be brought back to Klaviyo's Stripe integration page.


Check the box next to Sync Stripe test data if you want Klaviyo to also sync your test data from Stripe. We will otherwise always sync your live data. 

Monitor the Stripe Sync & Verify Synced Data

To check on your enabled integration, navigate to the Metrics tab in your Klaviyo account.

Find Stripe's Issued Invoice metric and click on the Activity Feed icon.

If your integration has begun syncing data, you will start to see invoices issued through Stripe populate here. Once the Stripe integration has a green border next to it in your Klaviyo account's Integrations tab, your integration is fully synced.

Klaviyo imports all of your Stripe data. To verify this, you can compare the number of successful payments on a particular day with what's in the Stripe interface and confirm they match. Navigate to your Klaviyo account's Metrics tab, find the Successfully Paid metric and click on it. This will take you to the metric chart page and will show the last 30 days of data by default.

Mouse over yesterday's data point, or look in the table of data below the chart, to see how many payments you had yesterday. Compare that number to what's stored in Stripe and you should see they match exactly.

The Stripe Metrics

Failed Payment

This metric records an event every time a payment being made through Stripe is marked as failed. With this metric, you can target customers who fail making a payment to let them know they have an overdue balance. You can filter and target Failed Payment events based on the following criteria:

  • AttemptCount: The number of times this invoice attempted to charge the user
  • Currency: The currency of the invoice failed to be paid, e.g., usd, gbp
  • Invoice: The invoice this failed payment is attributed to
  • Reason: The reason in Stripe this payment failed, e.g., Your card has expired, Your card was declined

Issued Invoice

This metric records an event every time an invoice is issued to your customers through Stripe. This metric is useful for segmenting on customers who have been issued an invoice but have either not paid or had a payment fail. It can also be used to trigger segments to notify customers of an upcoming payment.

Refunded Payment

This metric records an event when you refund a payment through stripe. You can filter and target Refunded Payment events based on the following criteria:

  • Amount: The value of the payment that was refunded

Successfully Paid

This metric records an event each time a customer successfully pays an invoice through Stripe. These events will include data about your customer, their invoice, and the products in their invoice. This is useful for sending automated invoices to customers after they pay, or using email flows to determine when a customer has been active on your website but hasn't made any payments for your products or services. You can send those users emails offering discounts to make a purchase on your website. You can filter and target Successfully Paid events based on the following criteria:

  • Currency: The currency of the invoice paid, e.g., usd or gbp
  • Invoice: The invoice this payment is tied to in Stripe

Customer Data

In addition to the metrics Klaviyo syncs from Stripe, if an email address exists in Stripe that is not already in Klaviyo, we will create a new Klaviyo Profile for this contact. When we create this profile, we will include available information about the expiration date of the customer's credit card as a Custom Property.

Stripe Integration Troubleshooting

I am not seeing all activity in Stripe sync to Klaviyo.

The most common reason why an event in Stripe won't sync to Klaviyo is because there is no email address associated with the individual in Stripe. Klaviyo is only able to sync Stripe events where an email address is associated with the individual taking the action.

This is because we use email address as the unique identifier for a person, and we can't create a Klaviyo profile for someone - or attribute events to an existing profile - if there is no way to accurately identify who the person is. Unfortuantely, first name/last name inputs aren't consistent or unique, we aren't able to create profiles off this information alone as it would lead to duplications and inaccurate tracking.

Was this article helpful?
10 out of 10 found this helpful