Blog
How to write a popup that converts at 4%+ on Shopify (with real examples)
TL;DR. The median Shopify popup converts at 1.4% of visitors. The top quartile converts at 4%+. The difference isn’t the design — it’s five concrete decisions: the offer (10% off beats 5%, free shipping beats both for low-AOV stores), the headline (specific benefit beats “Subscribe!” 3:1), the form (1 field beats 3), the trigger (exit-intent + scroll combined beats either alone), and the welcome flow (popup with no flow attached converts at half the rate of one that delivers the code immediately). This post walks each of the five, with examples.
A popup is the single highest-leverage list-growth tool a Shopify store can run. The number that should matter to you isn’t whether you have one — it’s the conversion rate. A 1% popup on a 10K-monthly-visitor store adds 100 subscribers/month. A 4% popup adds 400. Over a year, that’s the difference between 1,200 and 4,800 new subscribers — at typical email revenue of $30-$50 per subscriber per year, it’s a $108K–$180K annual revenue gap from the same traffic.
So the popup question isn’t binary (have one / don’t have one). It’s: how do you write one that performs in the top quartile? Five decisions, in order of how much they move the needle.
1. The offer: what’s behind the email-required wall
Most popups offer 10% off the first order. A few offer 15%. Some offer free shipping. The decision should be based on your AOV (average order value) and category, not what other stores do.
Rough rule: discount % beats free shipping when AOV > $50; free shipping beats discount when AOV < $50. The math:
- $50 order, 10% off = $5 discount = small psychological pull
- $50 order, free shipping = $7-$10 saved = larger pull, especially for buyers comparing across tabs
- $200 order, 10% off = $20 = significant pull
- $200 order, free shipping = $7-$10 = trivial relative to order size
For a store with $30 AOV (jewelry, supplements, beauty), free shipping typically pulls a 25–40% higher conversion than 10% off. For a store with $200 AOV (furniture, electronics), the inverse.
If you don’t know your AOV, find it in Shopify Admin → Analytics → Reports → Sales by total. Pick the offer that maps to your number.
What doesn’t work: “join our newsletter” with no offer. Conversion floor is around 0.3% — basically only the people who would have subscribed anyway via the footer form.
2. The headline: specific benefit beats “Subscribe!” 3:1
Compare these:
| Headline | Median CTR |
|---|---|
| ”Subscribe to our newsletter” | 0.6% |
| “Get 10% off your first order” | 2.1% |
| “Save 10% on your first order — plus early access to new launches” | 3.4% |
| “$10 off your first $50+ order — instant code” | 3.8% |
Notes:
- Specificity wins. “$10 off” beats “save money” beats “join newsletter.”
- Include the unlock condition if there is one (“$50+”) — visitors see it as a fair trade rather than a vague promise.
- Add a secondary benefit (“early access,” “members-only drops,” “free shipping forever after $X”) to lift the CTR another 30-40% when it’s true. Don’t fabricate.
- Avoid imperative-only headlines (“Subscribe!” “Sign up!” “Join!”). They underperform benefit-led headlines by ~3:1.
3. The form: one field, not three
Every additional form field cuts conversion by 8-15% on average. Common ways stores accidentally add fields:
- Asking for first name + email + phone “to send the discount”
- Adding a “what are you shopping for?” dropdown
- Requiring a checkbox for “subscribe to marketing emails”
For a discount-code popup, email is the only required field. First name is optional and worth ~5% of conversion. Phone is a 25-40% conversion-killer unless your business is SMS-led, in which case collect phone and let email be optional.
If you must ask multiple fields (because of a particular product fitter or quiz), use a multi-step popup — collect email first, then the secondary fields after the visitor commits. The post-email step converts at 60-80% of the email-step rate, so even if 30% drop off, your overall conversion stays close to the email-only version.
4. The trigger: exit-intent + scroll combined
Five common trigger types, ranked by typical conversion contribution:
- Exit-intent (desktop) — fires when the mouse leaves the viewport pointing at the close-tab button. ~40% of total conversions on most stores.
- Scroll-percentage — fires when the visitor scrolls past 50% (or 75%) of the page. Catches engaged visitors who haven’t yet considered subscribing. ~30% of total conversions.
- Time-delay — fires after N seconds. Worst of the three because it doesn’t correlate with engagement. Use sparingly, mainly as a fallback for traffic with no clear scroll behavior. ~15%.
- Page-specific — only fires on certain URLs (e.g. blog posts but not product pages, or vice versa). Use to align the offer to the page intent. ~10%.
- Returning-visitor — only fires for visitors who’ve been on the site before. Lowest volume but highest intent; conversion rate is 2-3× the cold-traffic version. ~5%.
The combination that maximizes total subscribers per visitor: exit-intent + 50% scroll, with the scroll as the primary (catches engaged readers) and exit-intent as the safety net (catches those about to leave). Rough rule: exit-intent alone misses 30-40% of qualified subscribers; scroll alone misses 25%.
Mobile is different. Exit-intent doesn’t exist on touch devices — there’s no mouse to track. Decent popup tools (including Kovyo) map mobile exit-intent to a fast-scroll-up gesture, which catches roughly 60% as much volume as desktop exit-intent. Scroll-percentage works the same on both.
5. The welcome flow: deliver the code in the first email, automatically
A popup with no welcome flow attached converts visitors to subscribers at the headline rate (1-4%). A popup with a welcome flow converts those subscribers into first-time buyers at 8-12% within the first week. The compound rate — visitor to first purchase — is what matters, and it doubles when the popup is wired to a flow.
Critical detail: the discount code from the popup must arrive in the first email of the welcome flow, within 5 minutes, not in a “thank you for subscribing!” page they have to remember to come back to.
The structural fix:
- Popup converts → triggers welcome flow → first email sent within 5 minutes with code pre-filled
- Email subject line includes the savings amount: “Your 10% off code is inside” beats “Welcome to Brand!” by 35-50% open rate
- The CTA in the email goes to a URL with the code already applied at
checkout (Shopify supports
?discount=CODEquery parameters that pre-fill the cart)
If your popup tool and email tool are different products, this end-to-end loop takes manual configuration and breaks half the time. If they’re the same product (Klaviyo, Omnisend, Kovyo), it’s a single toggle.
The three mistakes that kill conversion immediately
If your popup is currently below 1.5%, it’s almost always one of these:
-
The popup fires too early. Anything under 5 seconds delay or triggered before the visitor scrolls feels intrusive and gets dismissed reflexively. Median dismissal rate at 0-second delay is 85%+. At 10-second delay or 50% scroll, dismissal drops to 40-50%.
-
The headline is generic. “Join our newsletter” without an offer or specific benefit is the floor. Even “Subscribe and get 10% off” outperforms it 3:1, just by adding the offer.
-
The popup doesn’t dismiss when it should. A popup that re-fires on every page view, or after the visitor already converted, is worse than no popup at all — it teaches visitors that your brand has bad UX. Set a 7-day cookie minimum on dismissal, and never re-fire to a converted subscriber.
Quick benchmark check
Pull your current popup numbers:
- Conversion rate (subscribers ÷ popup views): if under 1%, fix the offer + headline first.
- Dismissal rate (closes ÷ popup views): if over 70%, the trigger is firing too early.
- Welcome-flow attach rate (welcome flow first-email opens ÷ subscribers): if under 50%, the flow is broken or the subject line is bad.
A top-quartile popup hits 4%+ conversion, 50–60% dismissal, 65%+ first-email open. The benchmarks are achievable with the five decisions above and 30 minutes of setup. Most stores skip the welcome-flow step because their email tool doesn’t make it a one-toggle wiring.
For the full deep-dive on how the popup → discount → welcome flow loop should be wired, see the popups feature page. For the math on whether “free popup tool + free email tool” is actually free once you account for the gluing time, the stack-cost analysis in the Shopify Email post is the better read.
— The Kovyo team