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
- In Klaviyo, open Settings and go to API keys.
- Click Create Private API Key and give it a name you'll recognise, such as "Poppy popups".
- 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.
- 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
- In Poppy, open Integrations and click + Add integration.
- Choose Klaviyo.
- Paste your Private API Key and List ID.
- Leave sync set to Auto (on submission) so every signup is sent as it happens. Manual holds signups until you send them yourself.
- 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:
sourceset topoppy_popup, andcampaign_nameset 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_nameproperty 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.