The Business Reality7 min read

I built the landing page, then found there was nowhere to put the link

Form: 5 minutes. Landing: 5 minutes. Analytics: 5 minutes. I finished the funnel in 25 minutes, and only then asked where the link was supposed to go.

#distribution#validation#reality-check#smartstore#saas
Two-panel diagram: a finished three-part funnel on the left, and on the right all three places to put the link blocked
Left: built in 25 minutes, every piece works. Right: there is nowhere to put the link.

Before building a tool for marketplace sellers, I decided to first validate whether an unknown newcomer can actually reach sellers in their community. Distribution looked more doubtful than the product. The order was right.

I even wrote the gate down in advance: 80 visits, 12 signups, 15% conversion, in 48 hours.

Then I started building.

  • Google Form — four questions, sign-in wall off. 5 minutes
  • Landing — dropped the form link and contact into HTML I already had. 5 minutes
  • Analytics — one tag on an existing property, one CTA click event. 5 minutes
  • Deploy — rsync static files. 10 minutes (I got lost once; more on that below)

Twenty-five minutes and the funnel was done. The form opens, the landing renders, visits show up in the dashboard.

Only then did I ask: where does this link actually go?

Does your next experiment start by checking the door people are supposed to walk through?

There were three paths, and all three were closed

1. Being helpful in comments — zero response

I was already doing this. I wrote four answers in the community's QnA board. Not one line of selling — just concrete diagnostic sequences for questions about inventory management, product titles dropping out of rankings, bulk price edits.

The result was 0 upvotes, 0 replies. All four.

One of them ended like this:

"Post part of your product title and the date you changed it, anonymously, and I'll walk through the checks with you."

It's free, it's frictionless, and the person asking wrote the post because they were stuck. Nobody responded for two days. Not even the original poster.

The member settings had a homepage field, so I figured that would do it. There was even a "make my info public" toggle.

Before flipping it, I took a baseline. I fetched the page containing my comments while logged out and counted what was exposed. Then I turned the setting on and fetched the same page again to compare.

Item Before After
Nickname shown no change
Rank badge shown no change
Homepage link absent still absent
Phone / email / birth year absent still absent

No personal data leaked. That part is good. But no link appeared either.

Opening the HTML made the reason obvious. What renders next to a comment is avatar + rank badge + nickname as plain text — and the nickname has no anchor tag. There is no way for a reader to get to my profile at all. The homepage field is never rendered anywhere.

It wasn't unlikely. The path did not exist.

3. A link in the post body — I read the rules and stopped

The board rules never say "no external links." That turned out to be worse.

  • "Unauthorized advertising is removed and sanctioned regardless of your prior activity"
  • "No posts requesting money" — my landing shows an expected price
  • "Anything else the admin judges to be a problem is sanctioned"

The entire gray zone is admin discretion, and sanctions escalate from removal to restriction to ban to permanent block on re-registration.

The asymmetry is bad. One post gets me 10–50 clicks. What I can lose is a permanent ban on an account tied to my real name and my actual store. And to reach the 80 visits the gate demands, I'd need to repeat that link across several posts — which is precisely the definition of unauthorized advertising.

Honestly, I considered it for a moment. One try and you get data.

I didn't. And not doing it told me more.

Look again at what this test was supposed to decide: whether I can reach sellers. The fact that all three paths are closed is the answer. The conclusion arrived before the test ran, and it cost nothing.

Posting the link would have gotten me the same answer while carrying a ban risk.

I made the same mistake twice the same day

On a different project I followed the identical order. I built a search-based SaaS and planned to validate it with paid ads. I had a budget and a two-week schedule.

Before spending anything, I ran a free keyword volume check. It took twenty minutes.

  • 9 of my 10 target keywords had no search volume data at all (under 10/month)
  • The bid columns were entirely blank — nobody spends money on those keywords
  • Filtering 1,268 expanded ideas by the core intent words (multiple, portfolio, bulk) returned zero

There was no traffic to buy. I saved the budget and the two weeks.

Both projects have the same shape. I finished the funnel and then checked the entrance. The order was backwards.

A three-line self-check

Before starting your next experiment, run these three.

  1. Can you name the exact place the link goes, right now? "Post it in the community" is not a place. You need "that board, this screen, this field." If you can't say it, it isn't time to build yet.
  2. Have you verified that place renders, while logged out? A field existing in your settings and that field appearing on a reader's screen are different claims. I fetched the HTML and checked for an anchor tag myself.
  3. Is the downside of breaking the rules smaller than the upside of succeeding? Put "30 clicks" next to "permanent ban" and the math usually finishes itself.

I didn't throw the work away

The landing, the form, and the analytics are all still live. The moment a channel exists, it runs. It's open right now — the seller tool beta page. If you run a marketplace store, feel free to look. It drafts and checks; it never auto-posts or auto-changes prices.

One note: I keep visits to that page separated by source. Dev blog readers and actual sellers are different people, and if they mix I lose the ability to ever judge "did I reach sellers?" again.

The deploy detour

Pure gotcha-sharing. I first pushed it to a hosting platform as a new project, and the deployed URL returned the platform's login page. New projects there have deployment protection on by default.

The problem is that it comes back as HTTP 200. A health check that only reads status codes passes. I only caught it by opening the body and seeing it wasn't my HTML.

Neither a config file nor a CLI flag turned it off, so I switched to the same approach as my existing content sites: rsync static files into a subfolder of a domain I already own. No DNS wait, no protection wall, and it inherits the domain's trust. I deleted the temporary subdomain DNS record I had added — a dangling DNS entry always bites you later.

The honest part

I wanted to post the link because twenty-five minutes of work felt wasted otherwise. That feeling — sunk effort pushing the decision — was exactly the dangerous moment.

Writing this, I noticed something else. I'm good at building. Five minutes for a form, five for a landing, five for analytics: that isn't a brag, it's a diagnosis. Doing the easy thing first and deferring the hard thing has been the repeating pattern for months. Even when the check takes twenty minutes.

Your last project — which door were the first visitors supposed to come through? Have you ever opened it?

Related