Fake door test: validate demand for a B2B SaaS offer

last updated: Aug 26, 2025
fake-door-test-flow

Answer Box

A fake door test is a short landing or in-product prompt that advertises a not-yet-built offer to measure real clicks and opt-ins. Use it to decide build vs no-build fast. Ship a priced offer, collect intent, and track events with GA4 + Google Tag Manager. Then act on the signal.

  • Works before code: page + price + traffic = decision
  • Measures action, not opinions
  • Needs clear expectation-setting and ethical guardrails

Definitions & glossary

  • Fake door testing: presenting a feature or product that does not exist yet to gauge interest via clicks or sign-ups.
  • Pretotyping: testing demand before building the real thing.
  • Concierge MVP: manual delivery to simulate the product outcome for early users.
  • CTR (click-through rate): clicks on your main CTA divided by unique visitors.
  • Opt-in rate: percent of visitors who leave an email or book a call after clicking.
  • Design partner: early customer who co-builds with you under a pilot.
  • Google Tag Manager (GTM) and Google Analytics 4 (GA4): free stack to capture click and campaign events.
  • Tilda: a simple CMS to ship landing pages quickly.

How to run a fake door test

  1. Pick one ICP and one painful job. Write the single outcome your page sells. If you have gaps in language, run a few interviews first using your list of [customer interview questions](/customer-interview-questions-b2b).
  2. Price-signal the offer. Add a visible price or “design partner from $X/month” to filter tire-kickers.
  3. Build a tight landing in Tilda. Hero outcome, social proof, pricing, one primary CTA. For examples, see [B2B landing page examples](/landing-page-examples-b2b) and [value proposition examples](/value-proposition-examples-b2b).
  4. Wire up tracking. In GTM, create a GA4 event tag for CTA clicks. In GA4, mark it a key event. Verify in DebugView.
  5. Drive traffic with clean UTMs. Example: `?utm_source=linkedin&utm_medium=founder&utm_campaign=fake_door_q3`. Check Reports → Acquisition → Traffic acquisition. For cold, consider [founder-led LinkedIn outbound](/founder-led-linkedin-outbound).
  6. Set expectations after the click. Route to a modal or page that says: “You’re early. Join the waitlist for priority access and a founder call.” Offer a call slot or design-partner form.
  7. Decide with thresholds. Use CTR and opt-in ranges below. Stop when you hit your sample size or time-box.

Benchmarks & ranges

Use these as starting points, then tune for niche, ACV, and traffic quality.
Audience
Offer framing
Target CTR range
Opt-in rate range
Notes / [source]
Cold (paid/social)
Design partner invite
0.44% – 0.65%
3% – 5% (LP)
LinkedIn Sponsored Content typically lands ~0.44–0.65% CTR; SaaS LP median CVR is 3.8% vs 6.6% overall, so 3–5% is a practical target for cold paid social [source: Unbounce CR benchmark].
Cold (niche display)
Pilot with price anchor
0.30% – 0.50%
2% – 4%
Google Display CTR averages ~0.46% across industries (incl. B2B). Cold display traffic converts below SaaS medians; 2–4% keeps expectations realistic [source: Unbounce CR benchmark].
Warm (email /LI)
Design partner invite
2% – 4%
15% – 25%
Large-panel email studies place CTR in the 2–4% band; Unbounce (via MarketingProfs) shows email-driven LPs converting ~19.3% on average [source: Unbounce CR benchmark].
Existing users (in-app)
Feature interest or pilot nudge
8% – 13% (in-app msg CTR)
10% – 25%
n-app message CTRs vary by format: banners ~8.6–9.6%, pop-ups ~11–12.8%. For downstream “opt-in” (eg, form/scheduler after click), use a conservative 10–25% guided by Pendo guide completion (~45–50%) and checklist completion (~19.2%). [source: Pendo.io]
UTM template
?utm_source={channel}&utm_medium={paid|organic}&utm_campaign=fake-door-b2b&aud={cold|warm}&asset={post|carousel|email}
UTM Example
?utm_source=linkedin&utm_medium=cpc&utm_campaign=fake-door-dp&aud=cold&asset=post
GA4 events to capture
  • page_view
  • cta_click ← primary button
  • lead_submit ← form submitted
  • calendar_booked ← scheduler confirmed

GTM quick map
  • Trigger: Click - All elements → CSS selector matches the primary CTA.
  • Tag: GA4 Event → name cta_click.
  • Parameters: pull utm_campaign and aud from URL; send with the event.
  • Repeat for lead_submit and calendar_booked triggers.

QA checklist
  • Do UTMs resolve on the final landing path after redirects
  • Do GA4 debug view and Realtime show each event with utm_campaign and aud
  • Do audiences build for cta_click AND NOT lead_submit and lead_submit AND NOT calendar_booked
In 90 seconds, find the bottleneck stopping your first 10 customers. Take the free quiz and get a personalized action plan.

Fake door vs other early validation methods

When to use which method depends on the context:
  • Fake door: cheapest read on demand for a specific offer or feature. Good early filter.
  • Smoke test: fuller story with ads and email capture to learn message-market fit at the market level.
  • Concierge MVP: manual delivery to prove workflow and outcomes before automation.
Rule of thumb:
  • Demand unknown → fake door.
  • Market or message unknown → smoke test.
  • Delivery or value capture unknown → concierge MVP.

Templates / examples

Landing page B2B wire SaaS
  • Hero: “Close invoices 5x faster with compliant approvals for manufacturing finance teams.”
  • Subhead: “Design partner slots from $1,500/month. SOC 2 and SSO planned.”
  • CTA: “Get early access”
  • Trust block: brief case bullets or logos
  • Footer note: “You’re early. We’ll reach out within 48 hours.”
Button microcopy
  • “Join the design partner list”
  • “See pilot scope and pricing”
Expectation banner (post-click)
“You’re early. We’re inviting 5 design partners this quarter. Join the shortlist and the founder will reach out. If we don’t proceed, we’ll share a research recap.”
Optional tools
  • CMS: Tilda to ship the page today.
  • Analytics: Google Analytics 4 (GA4) + Google Tag Manager for events.

Risks & pitfalls

  • Ethics and trust. Be transparent after the click. Do not imply availability you cannot deliver. Offer waitlist, call, or compensation if needed.
  • Misleading copy. Sell the outcome, not features you cannot ship this quarter.
  • No pricing signal. You will overestimate demand without a price.
  • Bad traffic math. Thin samples and mixed audiences distort CTR.
  • Ignoring negative signal. If CTR or opt-in miss thresholds, stop or pivot the offer.

FAQ
  • You:
    Does this actually validate demand or just interest?
    Guide:

    It validates action intent. Pair it with a price and a founder call to approach true demand.

  • You:
    How long should a test run?
    Guide:

    Time-box to 7 - 14 days or until you hit a minimum of 300 unique sessions per audience.

  • You:

    What traffic volume is enough?

    Guide:
    Aim for 300 - 1,000 sessions per cohort to avoid chasing noise.
  • You:
    Should I show pricing?
    Guide:

    Yes. “Pilot from $X/month” is usually enough to filter.

  • You:
    How do I avoid backlash?
    Guide:

    Set expectations after the click. Invite to a design-partner waitlist. Follow up quickly.

  • You:
    What if CTR is high but opt-in is low?
    Guide:

    Your hook works. Friction doesn’t. Shorten the form. Clarify value. Adjust price.

  • You:
    Can I run it inside my app?
    Guide:

    Yes. In-app prompts often convert better than pages.

  • You:
    Can this help me validate demand for investors?
    Guide:
    It gives concrete leading indicators. Pair with 2 - 3 founder calls and letters of intent.
Ready to stop guessing?
© 2025
If you’re a funded B2B founder and want to de-risk what to ship next