Exit Intent
by @leooooooow
Design exit-intent popup strategies for ecommerce sites including trigger rules, offer types, copy variants, and A/B testing plans that recover leaving visit...
clawhub install exit-intentπ About This Skill
name: Exit Intent description: Design exit-intent popup strategies for ecommerce sites including trigger rules, offer types, copy variants, and A/B testing plans that recover leaving visitors without degrading UX or brand perception.
Exit Intent
This skill designs end-to-end exit-intent popup strategies for ecommerce stores β deciding when to fire, what to offer, what copy and creative to show, and how to measure lift β so that recovery offers catch abandoning visitors without interrupting the ones who are still shopping or ready to check out.
Quick Reference
| Decision | Strong | Acceptable | Weak| |---|---|---|---| | Trigger timing | Fire only after 15s+ on page AND cursor leaves viewport toward browser chrome | Fire on scroll-up past 60% of page | Fire immediately on page load or after < 5s | | Offer type | Tiered by cart value (% off high carts, free shipping low carts) | Single universal discount code | Generic "Don't leave!" with no incentive | | Copy length | Headline β₯ 8 words + 1-line value prop + single CTA | Headline + short paragraph + CTA | Wall of text with multiple competing CTAs | | Mobile handling | Slide-up drawer triggered by back-button or tab-switch, respects scroll | Smaller modal with close button at top | Full-screen overlay blocking content, no close affordance | | Frequency cap | 1 show per session, s-day cookie cooldown | 1 show per session, no cross-session memory | Shows on every page, no cap | | A/B test design | Sequential test: trigger β offer β copy β creative, 1 variable at a time | Multivariate test with interaction analysis | Change everything at once with no control | | SEO / CWV safety | Lazy-load popup JS, < 20 KB, no layout shift, defer until after LCP | Popup JS in main bundle but < 50 KB | Large third-party script blocking render, CLS > 0.1 | | Close behavior | Visible X button + click-outside-to-close + Esc key | Visible X button only | No close mechanism or hidden close button |
Solves
1. High cart abandonment with no recovery system β stores losing 60-80% of carts with no popup or only a generic browser-default prompt. 2. Popups that annoy engaged shoppers β exit overlays firing too early, on wrong pages, or for users who are actively browsing or already at checkout. 3. Weak or generic popup copy β "Wait! Don't leave!" headlines that fail to provide a compelling reason to stay or convert. 4. No offer strategy by visitor segment β same 10%-off code for a first-time visitor with a $20 cart and a returning customer with $300 in cart. 5. Mobile popup compliance gaps β overlays violating Google's interstitial guidelines, breaking mobile UX, or failing to display correctly on small screens. 6. Unmeasured popup impact β no A/B testing, no control group, no tracking of incremental revenue vs. margin erosion from discounts. 7. Brand and trust damage β aggressive popup patterns (multiple overlays, fake urgency timers, dark-pattern close buttons) that erode brand trust over time.
Workflow
Step 1 β Audit Current State
Collect baseline metrics before designing the strategy:
Deliverable: Baseline metrics snapshot with annotated problem areas.
Step 2 β Define Trigger Rules
Design trigger conditions that balance recovery rate with UX:
Desktop triggers (use AND logic):
Mobile triggers (use OR logic since no cursor):
Exclusions (never show):
Deliverable: Trigger rules matrix with conditions, logic operators, and exclusion list.
Step 3 β Design Offer Tiers
Create segmented offers based on cart value and visitor type:
| Segment | Cart Value | Visitor Type | Offer | Rationale | |---|---|---|---|---| | High-value abandoner | > $150 | Any | 10% off or free express shipping | Protect margin, high motivation to convert | | Mid-value abandoner | $50-150 | Returning | Free standard shipping | Familiar with brand, shipping cost is friction | | Mid-value abandoner | $50-150 | New | 15% off first order | Acquisition cost justifies deeper discount | | Low-value browser | < $50 | Any | Email signup for 10% future discount | Build list, don't discount low-margin orders | | Cart page abandoner | Any | Any | Cart reminder + urgency (stock/price) | No discount needed β just remove friction |
Deliverable: Offer tier matrix with segment definitions, offer values, and margin impact estimates.
Step 4 β Write Copy Variants
Create 3 copy variants per offer tier for A/B testing:
Structure for each variant:
Copy principles:
Deliverable: Copy matrix with 3 variants per tier, each with headline, subheadline, CTA, and dismiss text.
Step 5 β Specify Creative and Layout
Define visual specifications for the popup:
Deliverable: Creative spec document with wireframe, color tokens, animation timing, and accessibility requirements.
Step 6 β Build A/B Testing Plan
Design sequential tests to isolate each variable:
Test 1 β Trigger sensitivity (Week 1-2):
Test 2 β Offer type (Week 3-4):
Test 3 β Copy and creative (Week 5-6):
Statistical requirements:
Deliverable: A/B test roadmap with timeline, variants, metrics, sample sizes, and decision criteria.
Step 7 β Monitor and Iterate
Set up ongoing monitoring dashboards and iteration cycles:
Deliverable: Monitoring dashboard spec with KPIs, alert thresholds, and review cadence.
Examples
Example 1 β DTC Skincare Brand ($85 AOV, 72% Cart Abandonment)
Input: "We sell premium skincare DTC on Shopify. AOV is $85, cart abandonment is 72%. We have no exit popups. Our margins are 65%. We get 40K monthly sessions, 60% mobile."
Audit findings:
Trigger rules designed:
Offer tiers: | Segment | Trigger Page | Offer | Expected Margin Impact | |---|---|---|---| | Cart > $100 | Cart page | Free express upgrade (normally $12) | -$12/order, ~14% conversion lift | | Cart $50-100 | Cart page | 10% off | -$7.25/order avg, ~18% conversion lift | | No cart, browsing | Product page | Join VIP list β 15% first order | $0 immediate, builds email list |
Copy variant A (winning):
Results after 6 weeks:
Example 2 β Electronics Accessories Store ($42 AOV, High Mobile Traffic)
Input: "We sell phone cases and accessories on WooCommerce. AOV is $42, margins are 45%. 78% mobile traffic. We tried a popup before but it hurt our Google rankings."
Audit findings:
Trigger rules designed:
Mobile-specific design:
Offer strategy (low margins require caution): | Segment | Offer | Margin Impact | |---|---|---| | Cart > $60 | Free shipping ($5.99 value) | -$5.99/order, justified by higher AOV | | Cart $25-60 | "Add $X more for free shipping" progress bar | $0 cost, increases AOV | | Browsing, no cart | "Get notified when this drops in price" email capture | $0 cost, builds list |
Copy variant B (winning):
Results after 4 weeks:
Common Mistakes
1. Firing popups too early β Showing an exit popup within 5 seconds tells the visitor you expect them to leave. Wait at least 15 seconds to ensure they've had time to engage with the page content.
2. Using full-screen interstitials on mobile β Google penalizes intrusive interstitials on mobile in search rankings. Use bottom sheets, slide-up drawers, or sticky bars instead of overlays that cover the main content.
3. Offering the same discount to every visitor β A blanket 15%-off code trains all visitors to expect discounts and erodes margins. Segment offers by cart value, visitor type, and page context.
4. No frequency cap β Showing the popup on every page visit creates popup fatigue and actively pushes visitors away. Cap to 1 impression per session with a 72-hour cross-session cooldown.
5. Testing everything at once β Changing the trigger, offer, copy, and design simultaneously makes it impossible to know what drove the result. Test one variable at a time in sequential experiments.
6. Ignoring Core Web Vitals impact β Heavy popup scripts, layout shifts from overlay rendering, and render-blocking CSS can tank CWV scores. Lazy-load popup code, keep the bundle under 20KB, and ensure zero CLS.
7. Dark-pattern dismiss buttons β Tiny close buttons, guilt-trip dismissal copy ("No, I hate saving money"), or fake countdown timers damage brand trust and may violate consumer protection regulations in some jurisdictions.
8. Not measuring incrementality β Tracking popup conversion rate without a holdout control group overstates impact. Many popup converters would have purchased anyway. Always run with a no-popup control to measure true incremental revenue.
9. Showing popups to returning purchasers β A customer who bought last week doesn't need a discount popup. Exclude recent purchasers and let loyalty programs handle retention offers.
10. Forgetting accessibility β Popups without focus trapping, keyboard navigation, screen-reader labels, or sufficient color contrast exclude users and may create legal liability under ADA/WCAG requirements.
Resources
π‘ Examples
Example 1 β DTC Skincare Brand ($85 AOV, 72% Cart Abandonment)
Input: "We sell premium skincare DTC on Shopify. AOV is $85, cart abandonment is 72%. We have no exit popups. Our margins are 65%. We get 40K monthly sessions, 60% mobile."
Audit findings:
Trigger rules designed:
Offer tiers: | Segment | Trigger Page | Offer | Expected Margin Impact | |---|---|---|---| | Cart > $100 | Cart page | Free express upgrade (normally $12) | -$12/order, ~14% conversion lift | | Cart $50-100 | Cart page | 10% off | -$7.25/order avg, ~18% conversion lift | | No cart, browsing | Product page | Join VIP list β 15% first order | $0 immediate, builds email list |
Copy variant A (winning):
Results after 6 weeks:
Example 2 β Electronics Accessories Store ($42 AOV, High Mobile Traffic)
Input: "We sell phone cases and accessories on WooCommerce. AOV is $42, margins are 45%. 78% mobile traffic. We tried a popup before but it hurt our Google rankings."
Audit findings:
Trigger rules designed:
Mobile-specific design:
Offer strategy (low margins require caution): | Segment | Offer | Margin Impact | |---|---|---| | Cart > $60 | Free shipping ($5.99 value) | -$5.99/order, justified by higher AOV | | Cart $25-60 | "Add $X more for free shipping" progress bar | $0 cost, increases AOV | | Browsing, no cart | "Get notified when this drops in price" email capture | $0 cost, builds list |
Copy variant B (winning):
Results after 4 weeks: