Integrations

How to Connect a Shopify Popup to Klaviyo

If Klaviyo runs your email and SMS, every popup signup should land there straight away, so your welcome flow can start while the shopper is still on your store. This guide shows how to connect a Shopify popup to Klaviyo using Poppy: which API key to create, where to find your list ID, and how to set up the welcome flow.

You'll need: a Klaviyo account with permission to create API keys, a Klaviyo list for new subscribers, and Poppy installed on your Shopify store. It takes about ten minutes.

Step 1: Create a private API key in Klaviyo

  1. In Klaviyo, open Settings and go to API keys.
  2. Click Create Private API Key and give it a name you'll recognise, such as "Poppy popups".
  3. Give the key read and write access to Profiles and Lists. Poppy uses these to create or update the subscriber's profile and add it to your list.
  4. Create the key and copy it. Private keys start with pk_.

Treat the key like a password. Poppy stores integration credentials encrypted.

Step 2: Choose a list and copy its ID

Decide which Klaviyo list popup subscribers should join. Many stores use their main newsletter list; others create a dedicated "Popup signups" list so the welcome flow only goes to popup subscribers.

Open the list in Klaviyo, go to its Settings and copy the List ID (a short code of letters and numbers).

Step 3: Connect Klaviyo in Poppy

  1. In Poppy, open Integrations and click + Add integration.
  2. Choose Klaviyo.
  3. Paste your Private API Key and List ID.
  4. Leave sync set to Auto (on submission) so every signup is sent as it happens. Manual holds signups until you send them yourself.
  5. Save, then click Test to confirm Poppy can reach your Klaviyo account.

Already collected signups before connecting? Click Push all on the Klaviyo integration to send them over.

Step 4: Go live and check a test signup

Make sure your popup campaign is Active and the Poppy app embed is on in your theme. (New to this? See how to add an email popup to Shopify.) Then open your store in a private browser window, submit a test email, and look it up in Klaviyo. Within a few seconds you should see:

  • A profile with the email, plus first and last name and phone number if your popup collects them.
  • The profile on the list you chose.
  • Two custom properties: source set to poppy_popup, and campaign_name set to the name of the Poppy campaign that captured it.

If a sync fails, the Klaviyo entry on Poppy's Integrations page shows the error and when it last synced.

Step 5: Start a welcome flow from the list

In Klaviyo, create a flow triggered when someone is added to the list you picked in step 2. The first email should deliver what the popup promised. A few tips:

  • Discount codes: Poppy shows each subscriber a unique code in the popup, with a copy button and an optional one-click apply link. That code isn't sent to Klaviyo, so write the welcome email to remind people of the offer rather than to include the code. (Why unique codes?)
  • Different popups, different messages: if you run several popups, use the campaign_name property in a conditional split, or build segments on it, so a spin-to-win winner and a newsletter signup get different follow-ups.

Collecting phone numbers for Klaviyo SMS

Poppy's SMS capture popup (or a phone field on any popup) collects the country code with the number and formats it to E.164 (like +14155551234), the format Klaviyo expects. One limitation to know about: Klaviyo only stores phone numbers from the countries it supports for SMS, such as the US, Canada, the UK, Australia, New Zealand and most EU countries. For other countries Klaviyo still creates the profile but drops the phone number.

A note on consent

Poppy adds each subscriber to your Klaviyo list, but it doesn't change the profile's email or SMS consent status inside Klaviyo. If you sell to the EU or UK, turn on Require marketing consent checkbox in your Poppy campaign so visitors have to agree to your consent wording before submitting, and check how your Klaviyo flows handle profiles by consent status.

Using Klaviyo alongside other tools

You can connect Mailchimp, Omnisend, Brevo and a custom webhook next to Klaviyo. Every connected integration set to Auto receives each new signup. The webhook is signed with HMAC-SHA256 (in an X-Poppy-Signature header) so your endpoint can check the request came from Poppy.

For an overview of what Poppy adds on top of Klaviyo, see the Klaviyo popup for Shopify page.

Add Poppy to your store

Frequently asked questions

Does Klaviyo have its own popup forms?

Yes. Klaviyo includes signup forms, and many stores use them. Merchants add a dedicated popup app when they want more popup types (spin-to-win, countdown, exit intent, age gate), unique Shopify discount codes per signup, or revenue reported per popup, while keeping Klaviyo for email.

Which Klaviyo API key does Poppy need?

A private API key (it starts with pk_). Poppy creates and updates profiles and adds them to a list, so the key needs read and write access to Profiles and Lists.

Is the list ID required?

It's optional in Poppy, but you almost always want it. Without a list ID, Poppy creates or updates the Klaviyo profile but doesn't add it to any list, so list-triggered flows won't start.

Can the Klaviyo welcome email include the popup's discount code?

Not the unique per-signup code: Poppy shows that code in the popup (with a copy button and an optional apply link) but doesn't send it to Klaviyo. Your welcome email can repeat the offer and link to the store.

What happens if the email is already in Klaviyo?

Poppy updates the existing profile with any new phone number, name and campaign properties, and adds it to the list you chose. It doesn't create a duplicate.

Keep reading

Turn more visitors into subscribers and sales

Add Poppy to your store

$25/month flat after the trial · no page-view caps · cancel anytime