Connecting Klaviyo
Connecting Klaviyo lets SupaPop send your popup subscribers straight into Klaviyo. When a visitor enters their email or phone and submits a popup, SupaPop creates or updates their Klaviyo profile, can add them to the right list, and can trigger a Klaviyo flow based on the answer they picked. This is how you turn quiz and survey answers into segmented, automated email and SMS.
Before you start
You need a Klaviyo account and your Klaviyo private API key. In Klaviyo, you can find it under Account > Settings > API Keys. The key starts with pk_. SupaPop only accepts the private key, so a key that does not start with pk_ will be rejected when you try to save it.
How to connect your Klaviyo account
- In SupaPop, open Settings.
- Find the Klaviyo Connection section.
- Paste your key into the Klaviyo Private API Key field.
- Click Connect Klaviyo.
When the key saves, you will see a Klaviyo API key saved confirmation and a green Connected badge next to the field. After a key is saved, the button changes to Update API Key, which you use to swap in a new key later.
If you paste a key that does not start with pk_, SupaPop shows the error Invalid Klaviyo API key. It should start with ‘pk_’ and does not save it. Your key is stored encrypted, not in plain text.
How to route answers to lists and flows
Routing is where the real value is. It decides which list a subscriber joins and which flow fires, based on the answer they choose.
You set this up per answer. There are two places to do it, and both feed the same result, so pick whichever is in front of you:
- On a survey or quiz answer in the section editor, open the Klaviyo area for that answer. The helper text reads: “When a visitor selects this answer, add them to a Klaviyo list or trigger an event.” You get an Add to list picker and a Trigger event (optional) field. Routing you set here lives in the popup’s draft, so it only takes effect once you Publish the popup.
- On the dedicated Klaviyo Routing page for a step, each answer has a Subscribe to Klaviyo list picker (with a None option that turns off list subscription for that answer) and a Trigger a Klaviyo flow field where you name the event. Changes here save live as soon as you click Save routing, with no separate publish step.
Because SupaPop is connected to your account, the list picker shows your real Klaviyo list names, so you can choose the correct one instead of pasting an ID.
Here is what happens on submit when a visitor picks a routed answer and gives a contact:
- Their profile is created or updated in Klaviyo, with the answer saved as a custom property.
- If you chose a list, they are subscribed to it with marketing consent. An email subscribes the email channel; a phone number subscribes SMS (when SMS is set up in your Klaviyo account, see below).
- If you named an event, SupaPop fires that event in Klaviyo, which you can use as the trigger for a flow.
Subscribe every signup to a default list
If you want everyone who submits a popup to land on one Klaviyo list (the most common setup), set a default list:
- In SupaPop, open Settings and find the Defaults section.
- Choose your list from the Default Klaviyo list dropdown. SupaPop loads your real Klaviyo list names once your API key is connected, so you pick the list instead of pasting an ID.
- Click Save settings.
From then on, every popup submission that includes an email or a phone number is subscribed to that list with marketing consent, on top of any per-answer routing. An email subscribes the email channel; a phone number subscribes SMS.
SMS opt-in needs SMS set up in Klaviyo
SMS subscriptions require SMS to be activated in your Klaviyo account, with a sending number for the contact’s region. Until that is set up, Klaviyo rejects SMS opt-ins, so SupaPop subscribes the email channel and skips SMS (email is never held up by an SMS problem). Once SMS is configured in Klaviyo, new phone signups are subscribed to SMS automatically. Show clear SMS opt-in language on any popup that collects phone numbers.
Tips
- List subscriptions work with an email or a phone number. An email subscribes the email channel; a phone number subscribes SMS (once SMS is activated in your Klaviyo account). A signup with both is subscribed on both channels.
- Editor routing needs a publish. A list or event you set on an answer in the section editor sits in the popup’s draft until you publish. Until then, profiles may still be created but the list add and flow event won’t fire, with no error shown. The dedicated Klaviyo Routing page is different: it saves live on Save routing. If routing isn’t firing, confirm the popup is published.
- The Default Klaviyo list subscribes everyone. Pick a list in Settings > Defaults and every popup signup is subscribed to it (email, plus SMS when they give a phone number), in addition to any per-answer routing. It is a dropdown of your Klaviyo lists, so you choose the list instead of pasting an ID.
- The “Don’t show the popup to visitors who are already subscribed” checkbox is not a Klaviyo check. It hides the popup from visitors who already submitted it recently on the same device. It does not look at whether someone is on a Klaviyo list.
- Subscribing sets marketing consent. When SupaPop subscribes a contact, it sets email marketing consent (and SMS marketing consent when a phone is given), so they show as Subscribed in Klaviyo, not just present. Make sure your popup has clear opt-in language for the channels you collect. If your list uses double opt-in, contacts stay pending until they confirm.
- Answer properties use internal names. Survey answers land on the Klaviyo profile as custom properties, but the property names are internal IDs, not your question wording. Keep this in mind when you build segments in Klaviyo.
- Sending is not instant. Profiles, list adds, and events are processed in the background, so a profile can take a few seconds to appear in Klaviyo after a submission, and longer if a send has to retry.
- Test and preview submissions are skipped on purpose. Previewing a popup or submitting a test does not push anything to a real Klaviyo list, so you can safely check your popup without polluting your account.
- Key changes can take a few minutes. After you update your API key in Settings, allow a few minutes for the new key to take full effect on background sends.
Troubleshooting: a profile is not showing up in Klaviyo
If a submission did not reach Klaviyo, work through these in order:
- Is the key saved? Open Settings and confirm the Connected badge is showing next to the Klaviyo Private API Key field.
- Is the key still valid in Klaviyo? A revoked or wrong key will quietly fail with no on-screen warning in SupaPop. If in doubt, generate a fresh private key in Klaviyo and use Update API Key to replace it.
- Did the submission include a contact? SupaPop only sends to Klaviyo once a visitor gives an email or phone. Quiz answers with no contact, and preview or test submissions, are intentionally skipped.
- Subscribed to a list, or just present? If a profile appears but shows Never subscribed, no list was set. Pick a Default Klaviyo list in Settings > Defaults so every signup is subscribed, or set per-answer routing. If only SMS shows “Never subscribed” while email works, SMS is not yet activated in your Klaviyo account (you need a sending number for that region).
If you connected Klaviyo and saw the Connected badge but no one is being subscribed, set a Default Klaviyo list in Settings > Defaults so every signup is subscribed, and/or set per-answer routing using Subscribe to Klaviyo list on the Klaviyo Routing page (which saves live), or Add to list in the section editor (which takes effect once you publish the popup).
One more note: the Klaviyo Routing page shows a warning, No Klaviyo API key configured. Go to Settings to connect your Klaviyo account first, when no key is saved. If you see that, finish the connection steps above before setting up routing.