Klaviyo Embed Form: 8 Steps to Add High-Converting Forms to Your Site
Aggressive popups can turn visitors away before they subscribe. Klaviyo embed forms offer a quieter, always-visible alternative — ideal for footers, sidebars, blog content, and landing pages where passive lead capture works best. They don’t interrupt. They build trust and collect high-quality subscribers without asking permission to appear on screen.
- What a Klaviyo embed form is — and when to use it vs popups or flyouts
- How to install klaviyo.js correctly on Shopify, WooCommerce, and WordPress
- Step-by-step form creation, targeting, and embed code generation in Klaviyo
- Platform-specific embedding — Shopify Theme Editor, WooCommerce widgets, Gutenberg
- 7-step troubleshooting checklist for forms that aren’t showing
- Mobile optimisation, brand styling, and compliance consent fields
- A/B testing CTAs, placements, and fields to improve conversion rate
A Klaviyo embed form is a static signup form placed directly into your site’s HTML. Unlike popups or flyouts, it stays visible at all times without triggering based on behaviour — making it ideal for passive, non-intrusive lead generation that doesn’t disrupt the browsing experience.
When Should You Use a Klaviyo Embed Form?
Readers already engaged with your content are more likely to subscribe. Sidebar placement is visible throughout the read without interrupting it.
A universal placement across all pages — captures casual opt-ins from users who’ve reached the end of content and are still exploring.
Especially for gated content, resource downloads, or waitlist sign-ups where the embed form is the main conversion goal of the page.
Collect emails passively below product details — captures intent without interrupting the product evaluation or add-to-cart decision.
Request SMS consent or review sign-ups on the /thank-you page — high-trust moment with a customer who just completed a purchase.
Embed in blog index pages, category pages, or resource libraries where readers scan multiple pieces of content and are primed to subscribe.
utm_source=newsletter_footer — for better list segmentation and source-based personalisation in Klaviyo flows.
To render any Klaviyo form — embed, popup, or flyout — you must install klaviyo.js on your site. Without it, your forms won’t appear and data won’t sync to Klaviyo. This script powers form display, behaviour targeting, visitor tracking, and flow triggers.
<script async type="text/javascript"
src="//static.klaviyo.com/onsite/js/klaviyo.js?company_id=YOUR_PUBLIC_API_KEY">
</script>
The easiest method is installing the Klaviyo for Shopify app from the App Store — it adds klaviyo.js automatically across all pages with no code changes needed.
Manual method: Go to Online Store → Themes → Edit Code → theme.liquid and paste the snippet before the closing </head> tag.
Add the snippet manually to header.php, or use a plugin like Insert Headers and Footers to paste it site-wide without editing theme files. Verify it loads across all relevant pages where your forms appear.
Use Insert Headers and Footers or paste the snippet into header.php via Appearance → Theme File Editor. Alternatively, deploy via Google Tag Manager if you’re managing scripts across multiple properties.
Confirm klaviyo.js Is Loading
- Open browser DevTools (F12) → Sources tab → confirm
klaviyo.jsappears in the<head> - Or use the Klaviyo Chrome Extension to detect active scripts and onsite forms
- In Klaviyo: Settings → Onsite → Forms & Personalisation to confirm the script is active on your domain
Once your form is published, you’ll receive a unique HTML snippet. Here’s how to add it on each platform:
Method 1 — Specific Page: Go to Online Store → Pages → choose or create a page → click “Show HTML” (icon: < >) in the content box → paste the Klaviyo embed code → Save. Best for dedicated landing pages or “Join Our List” pages.
Method 2 — Theme Section (Footer / Homepage): Go to Online Store → Themes → Customise → select Footer or any section → Add a Custom Liquid or Custom HTML block → paste the embed code → Save. Use for global visibility across all pages.
Go to Appearance → Widgets → add a Custom HTML block in the Footer or Sidebar widget area → paste the embed code → Save.
For broader visibility, insert the code directly into footer.php in the Theme File Editor. If using Elementor, drag in an HTML widget and paste the Klaviyo snippet.
Important: The Klaviyo WordPress plugin does not support embedded forms — use manual HTML insertion only.
Open the desired post or page → add a Custom HTML block → paste the embed code → Preview to confirm rendering → Publish.
If your form is missing from the page, work through this checklist before rebuilding. Most visibility issues have a fast fix.
display: none or inside collapsed elements. Use DevTools → Elements to check if the form HTML is present but hidden.klaviyo.js loads after the form tries to render. Move the script higher in the <head> or test with a simpler theme to rule out async loading conflicts.utm_source=footer_form as a UTM parameter or hidden field. If Klaviyo is recording submissions but the form isn’t rendering, the issue is JavaScript — not the form itself.A form that looks broken on mobile or feels off-brand loses conversions before the visitor has a chance to decide. Mobile optimisation and brand consistency are the two highest-impact design improvements you can make.
Set your form container to width: 100% so it adapts to any screen size. Avoid fixed pixel widths — they break layouts on phones and tablets.
Toggle Klaviyo’s mobile preview mode before publishing. Check field spacing, button size, CTA visibility, and text size — common issues aren’t visible in desktop preview.
Set fonts (Google Fonts supported), button colours, and background to match your site. Inconsistent styling reduces trust — especially for first-time visitors.
Replace generic “Sign Up” with something specific to your brand: “Join the club”, “Get the weekly edit”, “Unlock early access.” Tone matters as much as the offer.
Example Responsive CSS for Mobile
/* Klaviyo embed form — mobile responsive */
.klaviyo-form-wrapper {
width: 100%;
max-width: 480px;
margin: 0 auto;
padding: 16px;
}
@media (max-width: 480px) {
.klaviyo-form-wrapper {
font-size: 14px;
padding: 12px;
}
.klaviyo-form-wrapper input,
.klaviyo-form-wrapper button {
width: 100%;
min-height: 48px;
font-size: 16px; /* prevents iOS zoom on focus */
}
}
Before collecting emails and phone numbers, you need the right consent mechanisms in place. GDPR, CCPA, and TCPA all have specific requirements around how consent is collected and stored — and Klaviyo’s form builder supports all of them when configured correctly.
Once your embedded form is live, continuous testing is what separates a 2% submission rate from an 8% one on the same traffic. Use Klaviyo’s form analytics and A/B testing to identify and scale what actually works.
Key Metrics to Track in Klaviyo Form Analytics
- Views: How many visitors saw the form — confirms it’s rendering and visible
- Submits: How many completed the form — your primary conversion signal
- View-to-submit rate: Your conversion rate — aim for 4–10% for embedded forms
- Device breakdown: Desktop vs mobile performance — most optimisation opportunities are on mobile
- List growth over time: How each form contributes to overall subscriber growth
Embedded vs Popup vs Flyout — When to Use Each
| Form Type | Best For | Pros | Cons |
|---|---|---|---|
| Embed | Footers, sidebars, landing pages, blog inline | Always visible, non-intrusive, high trust, passive growth | Lower urgency, no triggers, relies on placement quality |
| Popup | First-time visitors, exit-intent, discount capture | High visibility, urgency-driven, powerful with the right offer | Can annoy users, affects UX if timed or targeted poorly |
| Flyout | Scroll-based soft capture, blog engagement, re-engagement | Less intrusive than popup, flexible trigger timing, subtle | Lower urgency than popup, may be missed by fast scrollers |
Frequently Asked Questions About Klaviyo Embed Forms
Key Takeaways
- Install klaviyo.js first: Without it, your form won’t render, track submissions, or trigger flows — no exceptions.
- Use the Embed type for always-on forms: Best for footers, sidebars, and landing pages where popups feel intrusive or interrupt the browsing experience.
- Paste code in the right spot: Avoid hidden divs, collapsed sections, or async-loaded areas. Verify with DevTools before assuming there’s a form issue.
- Style for mobile and match your brand: Mobile-first design and on-brand CTAs boost submission rates — generic forms lose trust before they collect a single email.
- Add consent checkboxes for GDPR and SMS: Separate, unchecked checkboxes mapped to Klaviyo profile properties keep you legally compliant and deliverability-safe.
- Test and optimise regularly: A/B test CTAs, placement, field count, and design variants using Klaviyo’s analytics to keep improving conversion rate over time.