Klaviyo Form Not Showing on Shopify

If your Klaviyo form is not showing on Shopify, I’d check 6 things first: the Shopify-Klaviyo connection, whether the form is live, the targeting rules, where the embed code sits, theme/app conflicts, and whether klaviyo.js is loading at all.
In most cases, the problem is one of those six. For popup and flyout forms, the issue is often status, audience rules, or browser suppression. For embedded forms, it’s often placement in the wrong Shopify block or theme CSS hiding the form.
Here’s the short version I’d use to troubleshoot it:
- Check the Shopify integration in Klaviyo and make sure it shows Connected
- Turn on onsite JavaScript and the Klaviyo app embed in your live Shopify theme
- Make sure the form is Live, not Draft
- Review targeting rules for device, URL, timing, subscribers, and frequency caps
- Use a Custom Liquid block for embedded forms
- Inspect the page script and CSS for hidden containers, low
z-index, or duplicate Klaviyo scripts
A common pattern: the form works in preview but not on the live store. When that happens, I’d first look at Draft status, device targeting, or rules that hide the form from returning visitors.
Another common pattern: the form code is on the page, but the form still does not appear. That usually points to theme conflicts, old manual script installs, or browser cookies suppressing the form.
About 8 out of 10 form display issues I see fall into setup or targeting problems, not broken code. So I’d start with admin settings before touching theme files.
Use this as your fast checklist before going deeper:
| Check | What I’d confirm |
|---|---|
| Integration | Shopify is connected to the right Klaviyo account |
| Script load | Onsite JavaScript and app embed are both on |
| Form status | Form is Live |
| Display rules | URL, device, timing, and audience rules allow the form to show |
| Embed location | Embedded form is placed in Custom Liquid |
| Theme/script issues | No hidden container, no duplicate klaviyo.js, no wrong account script |
If I were fixing this on 07/17/2026, that’s the order I’d follow because it cuts out the most common causes first.
Klaviyo Form Not Showing on Shopify: 6-Step Troubleshooting Checklist
How To Enable Klaviyo App Embed Shopify [2026 Guide]

sbb-itb-5f36581
Start by Checking the Klaviyo-Shopify Connection
Start with the connection. If Klaviyo isn’t connected, the form won’t load. That’s because Klaviyo forms load through klaviyo.js, and that script runs only when the Shopify integration is connected and onsite tracking is turned on.
Confirm the Shopify Integration and Onsite Tracking Are Active
In Klaviyo, open Integrations and make sure Shopify shows Connected. If you see an error or a missing connection, fix that first.
If you manage more than one Klaviyo account, double-check that the store is linked to the account that owns the form. This trips people up more often than you'd think.
You’ll also want to check that Automatically add Klaviyo onsite JavaScript is enabled in the Shopify integration settings. If that box isn’t checked, klaviyo.js won’t load, and the form won’t appear.
Enable the Klaviyo App Embed in the Shopify Theme Editor
On the Shopify side, the Klaviyo app embed has to be turned on for onsite tracking to load.
Go to Online Store > Themes > Customize for your live theme. Then open App embeds, turn on Klaviyo Onsite, and save the change.
Make sure you do this on the published theme. Changes made on a draft theme won’t affect what shoppers see on the live store.
Use this table to match each check with what you should confirm:
| Verification Step | Where to Check | What to Confirm |
|---|---|---|
| Integration status | Klaviyo > Integrations > Shopify | Shows Connected with no errors |
| Onsite JavaScript | Klaviyo > Integrations > Shopify settings | Automatically add Klaviyo onsite JavaScript is checked |
| App Embed toggle | Shopify > Theme Editor > App Embeds | Klaviyo toggle is turned ON |
| Active theme | Shopify > Online Store > Themes | Settings are applied to the live theme, not a draft |
If those checks look good, the next step is form status and display rules.
Make Sure the Form Is Live and Allowed to Display
If the integration is active, the next thing to check is the form itself. A form can be connected just fine and still stay hidden because of its status or display rules—even multi-step forms beat static ones in complexity and potential for errors.
Check That the Form Is Published, Not in Draft
A Draft form will not appear on your live storefront. The preview can still show it, which is why this trips people up.
Save the form, then switch it to Live. Before you move on, check the status indicator in the Klaviyo form editor one more time.
Review Targeting, Behavior, and Audience Rules
If the form is live but still missing, the issue is often in the targeting settings. Device, URL, audience, and frequency rules can each stop the form from appearing.
There’s also a simple gotcha here: if you already submitted the form or Klaviyo knows you as a subscriber, the form may be set to hide from you. Open an incognito window and test again.
Match Symptoms to Fixes With a Checklist Table
Use this checklist to connect the symptom with the fastest fix:
| Symptom | Likely Cause | Where to Check | Fix |
|---|---|---|---|
| Shows in preview but not on live site | Form is still in Draft mode or targeting rules exclude the viewer | Klaviyo: Form Editor > Status / Targeting & Behavior | Toggle status to Live; check for restrictive URL or visitor rules |
| Shows on desktop but not mobile | Device targeting is restricted to desktop only | Klaviyo: Form Editor > Targeting & Behavior > Devices | Enable Mobile under device display settings |
| Form not showing for returning visitors | Frequency cap or "hide from subscribers" rule active | Klaviyo: Form Editor > Targeting & Behavior | Test in an incognito window; adjust frequency or audience settings if needed |
Fix Embed Placement and Theme Conflicts
If the form is still missing, look at where you placed the embed and how the theme styles that area.
Add Embedded Form Code to the Right Shopify Location
For embedded forms, put the Klaviyo code inside a Custom Liquid block, not a standard text or rich-text block. Those blocks can strip out the tags and scripts the form needs.
Use a Custom Liquid block in the exact section where you want the form to show up. Use Custom HTML only if that part of the theme supports it.
In the Shopify Theme Editor, go to the section you want, click Add Block, and choose Custom Liquid. Then paste in your Klaviyo embed code. If you're working with older themes like Debut, edit sections/footer.liquid directly and add the form code there.
Check for CSS Issues, App Conflicts, and Hidden Containers
If the code is in the right spot, the next place to look is theme CSS or another app block getting in the way.
Sometimes the form is on the page, but the theme hides it. Open your browser's developer tools by right-clicking the page and choosing Inspect. Find the form's container element, then check for styles like display: none, visibility: hidden, a low z-index, or a parent element with overflow: hidden.
If you spot one of those, override the CSS rule or move the form to a section without that limitation. It also helps to test the form on a default page template. That's a simple way to see if the theme is the problem.
| Theme | Common Placement Method | Common Issue |
|---|---|---|
| Reformation | Custom Liquid block in the footer | No Custom HTML block available |
| Debut | Edit sections/footer.liquid directly |
Requires manual code insertion |
| Dawn | Custom Liquid or CSS customization | Newsletter form styling can override Klaviyo styles |
| Impact | Custom Liquid or Custom HTML | Standard newsletter block may conflict |
Refresh the Script, Test the Fix, and Avoid Repeat Issues
Reinstall or Remove Duplicate Onsite Scripts if Needed
If the form still doesn’t show, the next place to look is the onsite script.
A few script problems show up again and again: a missing App Embed, duplicate scripts, old manual code, or a script tied to the wrong Klaviyo account.
Start with the simple fix. Turn the Klaviyo App Embed off, turn it back on, and test again. If the form still doesn’t appear, reconnect the Shopify integration so Klaviyo can inject a new onsite script.
Duplicate scripts are a common problem in older stores. For example, a merchant might have added a manual klaviyo.js snippet to theme.liquid years ago, then later turned on the Klaviyo App Embed. Now two scripts are running at the same time. That can stop forms from rendering.
To check, open DevTools, go to the Network tab, and filter for "klaviyo." If more than one Klaviyo script loads, compare the Klaviyo account key to the one in your Klaviyo settings. If they don’t match, the store is loading the wrong script. If only one script loads and the account matches, move on to the browser state.
Turn on the Klaviyo App Embed first. Then confirm the form in theme preview and remove any manual script tags. Once the script setup is clean, verify the form again in a fresh session.
Retest With Cache Cleared and Record the Final Setup
After any script change, retest in an incognito or private window. Cached scripts and saved browser sessions can hide what’s actually happening. Open a clean session, go to the page where the form should appear, and wait through the trigger delay before you judge the result.
Test on mobile as well. Sometimes the form is there, but a sticky header, promo bar, or layout issue covers it on smaller screens, or consider using multi-step form design to improve mobile usability. It may look fine on desktop and still fail on a phone.
Once the form appears, save the setup that worked.
Document the working setup in a shared doc. Record the active theme name and version, confirm that only the App Embed is active, save the targeting rules, and log the date in U.S. format. Run the same test again any time you change themes or install a new app so you can catch regressions early.
Use this sequence to isolate the issue fast:
| Step | What to Check |
|---|---|
| 1. Verify connection | Shopify integration active; App Embed on |
| 2. Confirm form status | Published, not Draft or Paused |
| 3. Review targeting | URL rules, device type, audience filters, trigger timing |
| 4. Check embed placement | Correct Shopify location and matching form ID |
| 5. Inspect theme conflicts | CSS hiding, z-index issues, conflicting apps |
| 6. Reload onsite script | Remove duplicates, standardize on App Embed, reconnect integration if needed |
FAQs
Why does my form show in preview but not live?
If your form shows up in the editor but not on your live site, start with the simplest check: you may have closed the popup before. Klaviyo can set a cookie that keeps the form from appearing again.
It’s also worth checking your targeting settings. This matters most if the form is set to show only for a certain list or segment.
If those settings look fine, take a look at your site’s CSS and any active plugins. In some cases, they can block the form’s styles or JavaScript and keep it from displaying as expected.
How do I know if Klaviyo is loading on Shopify?
Open your browser’s Developer Tools and check the Network tab. If any Klaviyo-related scripts show up in red, they didn’t load.
Pay close attention to 403 and 404 errors. Klaviyo forms rely on JavaScript, so klaviyo.js needs to load and connect with your site for forms to appear the way they should.
Can my Shopify theme hide a Klaviyo form?
Yes. Your Shopify theme can hide or interfere with a Klaviyo form, even when the embed code is installed correctly.
In many cases, the issue isn't the Klaviyo setup at all. It's your theme's CSS. Theme styles can override how the form looks, and popup-related rules that use !important may block the form from showing up or cause it to render the wrong way.
Related Blog Posts
Get new content delivered straight to your inbox
The Response
Updates on the Reform platform, insights on optimizing conversion rates, and tips to craft forms that convert.
Drive real results with form optimizations
Tested across hundreds of experiments, our strategies deliver a 215% lift in qualified leads for B2B and SaaS companies.

.webp)


