Dev Tools

Landing Page Demand Tests for SaaS

How to run a landing page demand test for a SaaS idea: what to put on the page, which signal counts as real demand, and how to read the result honestly.

Laptop showing an abstract minimal landing page with a call-to-action beside a notebook funnel sketch on a warm desk

A landing page demand test is a single page that describes one specific SaaS product as if it already exists, asks the visitor to take one costly action, and shows it to people who actually have the problem. You read demand from the action they take, not the praise they give. The whole point is to see revealed intent before you write a line of product code.

I am a solo technical founder building from Bharatpur, Nepal, and I am pre-revenue. So I am not going to hand you conversion numbers from my own tests, because I do not have a track record to dress up. What I have is a way of thinking about this that has saved me from building the wrong thing more than once, and the public work of people who documented their tests honestly.

The reason demand tests matter before code is the same reason most side projects die: a SaaS idea that sounds great in your head is cheap to validate and expensive to build wrong. Before you run a page, get the idea itself into shape with how to validate a SaaS idea before coding, know who you are aiming at from finding your first paying SaaS customer, and have a model in mind from free trial vs freemium: which converts better. The wider playbook lives in Dev Tools.

Key takeaways

  • A demand test measures revealed intent, not opinions. Watch what people do, not what they say.
  • The page needs exactly three things: one promise, one proof, one action.
  • Email is a weak signal. A deposit, a pre-order, or a booked call is a strong one.
  • A fake door test is fine if you stay honest at the moment of friction and never keep money for nothing.
  • You can run the whole thing for under fifteen dollars on Cloudflare Pages with Stripe in test mode.

What is a landing page demand test?

A landing page demand test is a small experiment: one page, one offer, one action, shown to people who have the problem, to see how many take a costly step instead of just approving of the idea. It exists to surface real demand before you build, so you spend code on something a stranger will pay for.

The framing comes straight out of The Lean Startup by Eric Ries: build the smallest thing that produces a learning signal, then read the signal. A landing page is often the smallest such thing for a SaaS idea. It costs almost nothing and it can kill a bad idea in a weekend.

What it is not is a launch. You are not trying to get traffic, rank, or collect a big list. You are trying to answer one question: when a qualified stranger sees this offer, do they reach for their wallet, their calendar, or the back button. Everything on the page should sharpen that one answer.

What a demand test actually measures: revealed intent, not opinions

The single most useful idea here is the gap between stated and revealed preference. People will tell you your idea is great because telling the truth is socially expensive and being nice is free. Their words are noise. Their actions are the signal.

This is the core lesson of The Mom Test by Rob Fitzpatrick. The book is about customer conversations, but the principle carries straight to a landing page: stop asking people to predict their own behavior, and instead set up a situation where their real behavior shows.

A demand test is a behavior trap in the good sense. You make a claim, you ask for one specific action that costs the visitor something, and you count who pays the cost. A pageview is an opinion. A typed credit card is a fact. The closer your asked-for action sits to real money, the closer your result sits to truth.

This is why a wall of compliments in your DMs is not validation, and why a quiet page where three strangers actually pre-paid is. You are measuring willingness to act under a small cost, because that is the cheapest available proxy for willingness to pay later.

The anatomy of a test landing page: one promise, one proof, one action

A test page does not need a hero animation, a feature grid, or a testimonials carousel. It needs three things, and clutter past those three only blurs your signal.

One promise. A single, specific sentence that names the problem and the outcome. Not “the all-in-one platform for teams” but “stop your Stripe webhooks from silently failing.” Specificity is what makes the right person stop and the wrong person leave, and you want the wrong person to leave.

One proof. A reason to believe the promise: a short before/after, one concrete screenshot or mockup, a single number, or a credible line about who built it and why. You are not proving the product works. You are proving the promise is plausible enough to act on.

One action. Exactly one call to action, and it should cost the visitor something real. Resist the urge to offer an email field and a button and a “follow me” link. Multiple actions split the signal and let the visitor pick the cheapest one, which is exactly the soft answer you are trying to avoid.

The discipline here is subtraction. Every element you add gives a hesitant visitor a reason to do nothing easy instead of the one hard thing you are measuring. Pieter Levels, who has shipped a long list of profitable products solo and writes about it at levels.io, is a useful model for this: ship the smallest honest thing, put a price near it, and watch what real people do.

What counts as real demand?

Not all conversions are worth the same. The signal’s strength scales with what it costs the visitor to take the action. This is the heart of reading a demand test, and where most founders fool themselves.

An email signup is the weakest common signal. It costs the visitor almost nothing: no money, no calendar, barely thirty seconds. A high email conversion can mean genuine interest, or it can mean people like the idea and want to be polite to a list they will never open. You cannot tell which from the number alone.

A booked call costs time and intent, so it counts more. Someone who puts thirty minutes on their calendar to talk about your unbuilt product is telling you something an email never will. A pre-order or a deposit costs actual money, so it counts most. Money is the only signal that cannot be faked by good manners.

The practical rule: design your test around the strongest action your idea can plausibly support. If you can ask for a small deposit or a pre-order, do it, because that single signal outweighs a hundred emails. If the product is too early to price, ask for a call. Treat email as the floor, not the goal.

The Demand-Signal Ladder

Here is the framework I use to rank what a visitor actually told you. The higher up the ladder the action sits, the more it should move your decision.

SignalWhat it costs the visitorHow much it counts
PageviewA click and a few secondsNearly nothing. Proves the headline got attention, not that anyone wants the product.
Scroll to the offerAttention and mild interestLow. Shows the promise held them, but they still walked away from the action.
Email signupAbout thirty seconds, no moneyWeak. A real list and a follow-up channel, but easily inflated by politeness.
Reply or DM with intentA few minutes and a small social costModerate. They cared enough to type. Read the words against The Mom Test, not at face value.
Booked callCalendar time and stated intentStrong. Time is scarce, and they spent it on your unbuilt thing.
Deposit or pre-orderReal money on a real cardStrongest. The only signal money cannot fake. A few of these beat a flood of emails.

Read the ladder top-down when you score a test. Find the highest rung people reached and count how many got there, instead of celebrating a big number on a low rung.

The fake-door test and its ethics: be honest, refund, do not deceive

A fake door test puts a buy button or a pricing page in front of a product that does not exist yet, then measures how many people try to go through the door. It is the strongest demand test because it captures intent at the exact moment of payment. It is also the one that can cross a line, so handle it with care.

The ethical version is simple. At the moment of friction, you are honest. When someone clicks buy, you tell them plainly that the product is early and you are gauging interest, and you either do not charge a real card at all or you charge and refund immediately. You never keep money for something that does not exist.

The unethical version takes real payment for vapor and goes quiet. That is not validation. That is fraud, and on a credibility-driven product it is also slow suicide, because the first thing a burned early user does is tell everyone.

There is a softer and cleaner variant that avoids the issue entirely: run the full checkout in Stripe test mode, so the button, the pricing, and the payment intent are all real to the visitor but no live card is ever charged. You still measure who reached for their wallet, without holding a stranger’s money. For a solo founder, that is usually the right default.

Driving a little real traffic: a narrow community post or small ad, not vanity traffic

A demand test with no visitors tells you nothing, and a demand test with the wrong visitors tells you something worse than nothing: a false read. The goal is not traffic. It is a small amount of the right traffic.

The cheapest good traffic is a narrow community where your target user already gathers. A specific subreddit, a niche Slack or Discord, a focused forum, a thread where people are complaining about the exact problem you solve. One honest post that says “I am building this, here is the page, would this help you” sent to fifty of the right people beats a thousand random clicks.

A small paid ad is the other option, and its value is the targeting more than the volume. Spending ten or twenty dollars to put your page in front of a tightly defined audience can tell you whether cold strangers, not your network, take the action. Cold conversion is a stronger signal than warm, because your friends are biased and your audience is polite.

Avoid vanity traffic on purpose. A viral post that floods your page with people who do not have the problem will inflate your pageviews and crush your conversion, and you will learn nothing true. Narrow and qualified beats broad and cheap every time you are reading for demand.

Reading the result honestly: what conversion to act on, how to avoid fooling yourself

This is where demand tests are won or lost, and it has nothing to do with the page. The hard part is reading a weak result as weak when you have already fallen in love with the idea.

Decide your action threshold before you run the test, and write it down. Pick the rung on the Demand-Signal Ladder you will treat as a go, and the count you need at that rung. Choosing it in advance is the only protection against moving the goalposts after you see a disappointing number.

Read the strongest signal, not the friendliest one. If the page got two hundred emails and zero deposits, your honest result is “people are interested and nobody is convinced to pay.” That is a soft no on the product as priced, not a green light because the email number looked big. The whole reason you built the ladder is to resist this exact self-deception.

Watch for the traps. Counting your network’s clicks as market demand. Reading a high rate on a tiny, biased sample as proof. Treating “nobody said no” as a yes. Quietly lowering the bar because you want to start building. A demand test only works if you let it be allowed to fail, and a result you would have ignored if it disappointed you was never a test.

A quiet page is not always a dead idea. It can mean the promise was wrong, the proof was thin, the audience was off, or the action was too steep for how early you are. Before you bury the idea, change one variable and run it again. Just be honest about whether you are iterating on the test or rationalizing a result.

The under-$15 setup on Cloudflare Pages plus Stripe test mode

You can stand up a real demand test for under fifteen dollars, and most of that is the domain. The point of keeping it cheap is to keep it honest: when the test costs almost nothing, you have no sunk cost pushing you to read the result favorably.

The pieces, with rough costs. A domain runs about ten to fifteen dollars a year. A static page hosted on Cloudflare Pages sits comfortably in the free tier for a single page with normal test traffic. A checkout or pre-order button wired through Stripe in test mode costs nothing and charges no real card, while still showing the visitor a real payment flow.

A workable shape: one hand-built HTML page or a single-page framework build, deployed to Cloudflare Pages from a git repo, with one promise, one proof, and one action above the fold. If the action is a pre-order, point the button at a Stripe test-mode checkout so you measure intent without holding anyone’s money. If it is a call, point it at a free scheduling link. If it is email, use any free form provider, and remember email is the floor.

Keep the analytics minimal and privacy-respecting: you need the count of each action, not a surveillance stack. For a solo founder running a quick read, a simple privacy-friendly counter and your Stripe and form dashboards are enough. The setup should take an afternoon, not a sprint, because the page is disposable by design.

What I would do differently

If I had run more of these earlier and with less ego, the change would not be technical. The build is easy. The change is in how I would treat the result.

I would set the threshold before launching, every time, and refuse to renegotiate it after seeing the number. The temptation to reinterpret a weak result as “promising” is the real failure mode, not a missing feature on the page.

I would push the asked-for action up the ladder sooner. Early on it is tempting to ask only for an email because it feels safer and the number comes out higher. That higher number is exactly the comfort that fools you. Asking for a small deposit or a call earlier would have killed two ideas faster and freed the time for one worth building.

And I would treat a failed test as a win, not a wound. A demand test that says no costs an afternoon and fifteen dollars. Building the wrong product because you skipped the test costs months. The cheapest thing you can buy as a solo founder is the early, honest no.

Want the system, not just the article?

This post is one tool from a larger founder operating system. The full version, with the templates, checklists, and decision frameworks I use to run tests like this end to end, lives in the workbook for $29.

Get the workbook →

Frequently asked questions

What is a landing page demand test for a SaaS idea?

It is a single page that describes one specific SaaS product as if it already exists, paired with one clear action, and shown to a narrow audience that has the problem. You measure how many of them take the costly action instead of just nodding. The page exists to surface revealed demand before you write the product, not to launch it.

How much does it cost to run a demand test?

A demand test can cost under fifteen dollars. A domain runs roughly ten to fifteen dollars a year, hosting on Cloudflare Pages has a free tier that easily covers a single page, and Stripe in test mode costs nothing to wire a pre-order button. The expensive resource is not money. It is the honesty to read a weak result as weak.

Is an email signup enough to validate a SaaS idea?

An email is a weak signal on its own. It costs the visitor almost nothing, so a high email conversion can mean polite interest rather than real demand. Emails are useful as a top-of-funnel list and a way to follow up, but they do not prove anyone will pay. Treat email as a starting point and push toward a costlier action before you build.

What is a fake door test and is it ethical?

A fake door test shows a button or pricing for a product that is not built yet to measure how many people try to buy. It is ethical only if you are honest at the moment of friction: tell the visitor it is early, do not capture real payment for nothing, and refund instantly if you do. Deceiving people into paying for vapor is fraud, not validation.

How much traffic do I need to read a demand test?

There is no universal number, and chasing a precise sample size misses the point as a solo founder. What matters more is traffic quality. A few dozen of the right people from a narrow community give you a clearer read than thousands of random visitors. Look for a costly action repeated by qualified strangers, not a conversion rate from vanity traffic.

What conversion rate counts as real demand?

There is no single threshold, because the rate depends on the strength of the action and the quality of the traffic. A handful of deposits or booked calls from a cold, qualified audience matters far more than a high email rate from friends. Read the absolute count of the strongest action people took, not a percentage you can talk yourself into liking.

Newsletter

Liked this breakdown?

Bootstrapping playbooks and founder systems, delivered when there is something worth saying. No spam, unsubscribe anytime.