Skip to main content
Intempt
Coming soon

Exit-intent offer test

Compares what to offer a visitor about to leave: a discount, a comparison guide, a content download, a survey, or nothing.

Authored by Sid Chaudhary

Founder & CEO at Intempt

Agentic workflow

Coming soon

1 step Blu runs end to end. It drafts a plan and nothing runs until you approve it.

  1. 1

    Set up the exit-intent test

    Coming soon

    Blu builds a step

About this recipe

When to use it

Exit-intent offers are cited for a 5x conversion lift over time-based popups, but the offer itself matters as much as the timing. This tests a discount against a comparison guide against a content download against a survey.

What it delivers

Tests what to offer on exit-intent for SaaS visitors - a discount, a comparison guide, a content download, or a survey.

How you prompt this

Describe the outcome in your own words and Blu Agent maps it to this recipe, or run it by name. It drafts a plan first and nothing runs until you approve it.

Tell Blu Agent what you want

“Compares what to offer a visitor about to leave: a discount, a comparison guide, a content download, a survey, or nothing.”

recipe.md preview

Built from the published catalog. Blu Agent's full step prompts load in your workspace when you run it.

Sign up to read the full recipe.md and run it with Blu Agent.

Sign up to see the full recipe

Inputs & outputs

What the recipe needs before it runs, and what it leaves in your workspace.

Inputs

  1. Nothing declared beyond an Intempt workspace. Blu asks for anything else it needs as it goes.

Outputs

    How the recipe runs

    Blu follows the steps in order and shows you each one before anything goes live.

    1. 01Set up the exit-intent testCreate a CLIENT EXPERIMENT on /experiences titled "SaaS Exit-Intent Offer". This experiment tests WHAT CONTENT to show in an exit-intent popup on SaaS marketing pages: distinct from cart-abandonment-popup-timing which tests WHEN to show the popup on ecommerce cart pages. ═══ PATH 1: Top-level configuration ═══ Experience type: client_experiment Variants: - Control (20%): no exit-intent popup (baseline: measures intrinsic exit behavior without intervention) - Variant B (20%): trial-extension or first-month discount offer ("Stay 30 more days: get 50% off your first month") - Variant C (20%): comparison guide download ("Comparing [Brand] vs. [Competitor]? Get our side-by-side guide.") - Variant D (20%): content download / lead magnet ("Take our [Industry] Best Practices report with you") - Variant E (20%): exit survey ("Quick question: what stopped you from booking a demo today?") Targeting: - Pages: marketing pages (/pricing, /features, /solutions, key landing pages (NOT /checkout or /signup) exit there is a different problem) - Devices: desktop only (exit-intent requires mouse-leave detection; mobile requires different triggers) - Audience: visitors who have spent at least 30 seconds on the page (avoid triggering on bounces) AND have not yet converted - Display frequency: once_per_session (don't show twice) Primary metric: goal_completed_in_experience where experience_id = <this> (goal varies by variant: see secondary metrics) Secondary metrics (per variant): - Variant B: Form submitted on the discount-claim form: discount-redemption rate - Variant C: Click on the comparison-guide download: guide-download rate - Variant D: Form submitted with email captured: lead-capture rate - Variant E: Form submitted on the exit survey: survey-completion rate - Cross-variant: 7-day return visit rate, 14-day demo-request conversion rate (which offer brings the highest-quality leads back?) Guardrail: bounce rate must not increase >5%; popup-dismiss rate must not exceed 80% (high dismissal = annoyance signal) Schedule: 21 days, 1,000 exit-intents triggered per variant minimum (note: only ~20-30% of visitors trigger exit-intent) ═══ PATH 2: Variant HTML content (Visual Editor) ═══ Variant: Control (no DOM changes: no popup) Variant: B (trial-extension / first-month discount) HTML target selector: body (append modal triggered on exit-intent) Variant DOM: <div class="exit-intent-modal" data-variant="b" data-offer="discount" hidden> <div class="modal-content"> <button class="modal-close" id="exit-modal-dismiss" aria-label="Close">×</button> <h2>Wait: before you go</h2> <p>Get <strong>50% off your first month</strong> when you start a trial today.</p> <form class="discount-claim-form" id="exit-discount-form"> <input type="email" name="email" placeholder="you@example.com" required /> <button type="submit" class="modal-cta" id="exit-modal-cta">Claim 50% off</button> </form> <p class="modal-disclaimer">Discount code emailed instantly. No credit card required.</p> </div> </div> Variant: C (comparison guide download) HTML target selector: body Variant DOM: <div class="exit-intent-modal" data-variant="c" data-offer="comparison-guide" hidden> <div class="modal-content"> <button class="modal-close" id="exit-modal-dismiss">×</button> <h2>Comparing options? Take our guide with you.</h2> <p>The 12-page comparison: <strong>[Brand] vs. [Competitor]</strong>. Honest, side-by-side.</p> <img src="/lead-magnets/comparison-guide-cover.webp" alt="Comparison guide cover" class="guide-thumbnail" /> <form class="guide-download-form" id="exit-guide-form"> <input type="email" name="email" placeholder="Work email" required /> <button type="submit" class="modal-cta" id="exit-modal-cta">Email me the guide</button> </form> </div> </div> Variant: D (industry best-practices report) HTML target selector: body Variant DOM: <div class="exit-intent-modal" data-variant="d" data-offer="content-download" hidden> <div class="modal-content"> <button class="modal-close" id="exit-modal-dismiss">×</button> <h2>Take our [Industry] best-practices report with you</h2> <p>30+ pages of insights from leading [Industry] teams. Free.</p> <img src="/lead-magnets/industry-report-cover.webp" alt="Industry report cover" class="report-thumbnail" /> <form class="report-download-form" id="exit-report-form"> <input type="email" name="email" placeholder="Work email" required /> <input type="text" name="company" placeholder="Company" required /> <button type="submit" class="modal-cta" id="exit-modal-cta">Send me the report</button> </form> </div> </div> Variant: E (exit survey) HTML target selector: body Variant DOM: <div class="exit-intent-modal exit-intent-modal--survey" data-variant="e" data-offer="survey" hidden> <div class="modal-content"> <button class="modal-close" id="exit-modal-dismiss">×</button> <h2>Quick question: got 10 seconds?</h2> <p>What stopped you from booking a demo today?</p> <form class="exit-survey-form" id="exit-survey-form"> <label><input type="radio" name="reason" value="too-expensive" /> Pricing was unclear or too high</label> <label><input type="radio" name="reason" value="not-relevant" /> Product didn't match what I need</label> <label><input type="radio" name="reason" value="researching" /> Just researching: not ready yet</label> <label><input type="radio" name="reason" value="missing-feature" /> Missing a key feature for me</label> <label><input type="radio" name="reason" value="other" /> Other</label> <input type="email" name="email" placeholder="Email (optional: for follow-up)" /> <button type="submit" class="modal-cta" id="exit-modal-cta">Submit</button> </form> </div> </div> Trigger logic for all variants: attach mouseleave listener to document.documentElement; when mouse exits the top of the viewport AND the user has been on the page for >30 seconds AND hasn't converted, show the popup. Lightweight JS the user refines in the Visual Editor. Taxonomy notes: - This recipe is desktop-only (exit-intent requires mouse-leave detection). For mobile, a different trigger is needed: typically scroll-up direction on long pages. Consider a separate mobile recipe if mobile exit-intent is needed. - The 30-second engagement gate is important: without it, the popup triggers on bouncers, where exit-intent isn't really intent at all. - Variant E (survey) is the most informative variant for product/marketing teams: even if conversion is low, the qualitative responses guide future page-content tests. Treat the survey results as research input, not just a conversion variant. - Variant C (comparison guide) is the highest-quality lead-gen variant for B2B SaaS: visitors who download a competitor-comparison guide are typically high-intent. - Variant B (discount) often has the highest immediate conversion but may bring lower-quality leads. Measure 14-day downstream demo-request rate to avoid being misled. - This is distinct from cart-abandonment-popup-timing (which tests popup TIMING on ecommerce cart pages). The current recipe tests popup CONTENT on SaaS marketing pages.

    Install Intempt and run it

    1. 1

      Sign up

      Create a free Intempt workspace.

    2. 2

      Connect your data

      Add the sources this recipe reads from.

    3. 3

      Ask Blu

      Type /saas-exit-intent-offer-test in Blu once this recipe is live there.

    4. 4

      Review and approve

      Blu builds each step and waits for your OK before anything goes live.

    More recipes by Sid Chaudhary

    Got a play worth sharing?

    Publish it to the Intempt Collective Marketplace and earn when other teams run it.

    Submit a recipe