Skip to main content
Intempt
Coming soon

Sticky CTA bar test

Compares an always-visible sticky CTA bar, one that fades in after the hero, and no sticky bar at all on marketing pages.

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 sticky CTA test

    Coming soon

    Blu builds a step

About this recipe

When to use it

An always-visible sticky CTA is cited for an 8-15% lift, but it also competes for attention on every scroll. This tests always-visible against fade-in-on-scroll against none at all, on your own SaaS marketing pages.

What it delivers

Tests a sticky CTA bar on SaaS marketing pages across three states - always-visible, fade-in-on-scroll, and no sticky bar.

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 an always-visible sticky CTA bar, one that fades in after the hero, and no sticky bar at all on marketing pages.”

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 sticky CTA testCreate a CLIENT EXPERIMENT on /experiences titled "Landing Page Sticky CTA". ═══ PATH 1: Top-level configuration ═══ Experience type: client_experiment Variants: - Control (34%): no sticky CTA (existing landing page: CTA only in hero) - Variant B (33%): always-visible sticky CTA bar at top of page (appears immediately on page load) - Variant C (33%): fade-in sticky CTA bar (appears after the user scrolls past the hero, ~600px scroll depth) Targeting: - Pages: marketing landing pages: homepage "/", /solutions, /features, /product, /pricing - Devices: any (mobile + desktop both benefit; mobile especially given long-scroll pages) - Audience: all visitors - Display frequency: always (within session) Primary metric: goal_completed_in_experience where experience_id = <this> (goal: Form submitted on demo-request OR User created via signup, within session of exposure) Secondary metrics: - Click on where target_id = "sticky-cta-button" (sticky CTA engagement rate) - Click on where target_id = "hero-cta-button" (does sticky cannibalize hero clicks?) - Bounce rate per variant (variant B's always-visible may feel pushy) - Scroll depth (does sticky reduce scroll engagement?) Guardrail: bounce rate must not increase >5%; scroll-depth-to-50% rate must not drop >10% Schedule: 14 days, 1,500 unique visitors per variant minimum ═══ PATH 2: Variant HTML content (Visual Editor) ═══ Variant: Control (no DOM changes) Variant: B (always-visible sticky CTA) HTML target selector: body (prepend fixed-position bar) Variant DOM: <div class="sticky-cta-bar sticky-cta-bar--top" data-variant="b" data-trigger="immediate" style="position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid #eee;padding:12px 24px;z-index:1000;display:flex;align-items:center;justify-content:space-between;"> <div class="sticky-cta-message"> <strong>[Brand]</strong>: see it in action in 15 minutes </div> <button class="sticky-cta-button" id="sticky-cta-button" data-variant="b">Book a demo</button> </div> Adjust body padding-top to compensate for the bar's height (so existing content isn't hidden behind it). Variant: C (fade-in sticky CTA) Same DOM as Variant B but with data-variant="c" and data-trigger="scroll-600px". Lightweight JS the user refines in the Visual Editor: - Listen for scroll events - When window.scrollY > 600 (or after the hero CTA scrolls out of view), set the bar visible with a smooth fade-in transition (300ms) - When the user scrolls back above the threshold, hide the bar smoothly The Visual Editor allows the user to refine the sticky bar's color, copy, button styling, and animation timing. Mobile note: ensure the sticky bar respects the iOS Safari URL bar and doesn't double-stack with mobile browser chrome. Taxonomy notes: - This is distinct from mobile-sticky-add-to-cart-test (which is ecommerce PDP-specific, mobile-only). Landing-page sticky CTA applies to SaaS marketing pages on all devices. - target_id="sticky-cta-button" must be preserved across variants B and C for consistent Click on aggregation. - Variant C's fade-in is generally less intrusive but has slightly lower engagement than Variant B's always-visible. The test answers: which tradeoff wins for your audience? - For dark-launching: ship Variant B first to a small traffic slice (5%) to confirm no layout regressions before full experiment ramp.

    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 /landing-page-sticky-cta-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