How to market your SaaS

Most marketing advice for small SaaS is written by people who have an audience already. This is the version for the case where nobody knows you exist yet — what the free channels actually do, what they cost you in time, and the specific ways each one throws you out.
I run a small SaaS. I also spent fifteen years making promotional video for other people's products, at Microsoft, at Cloudflare, and for a long tail of startups whose names you would not recognise. So I have watched marketing from the vendor side for a long time, and from the founder side for a much shorter one, and the two views disagree more than I expected.
The vendor view is that channels are a menu. Pick some, execute well, get results. The founder view, which I now hold, is that most channels are closed to you at the start and the whole game is figuring out which two are actually open, then being patient in them for longer than feels reasonable.
What follows is what I have measured or verified myself, marked as such, plus the places where I am relying on other people's numbers and you should weigh them accordingly.
Reddit is the highest-leverage place you can go, and the easiest to get thrown out of

Reddit is where your buyers describe their problem in their own words, unprompted, at length, for free. There is no other public corpus like it for a small B2B product. That is the leverage.
The reason most founders fail there is that they arrive with a link and treat the subreddit as a distribution surface. Subreddits are not distribution surfaces. They are communities with moderators who have watched a thousand people do exactly what you are about to do, and who can remove you faster than you can post.
Here is the thing worth getting right, because almost every blog post about this gets it wrong. Everyone quotes a "9:1 rule" — nine normal comments for every one self-promotional post — as if it were Reddit policy. It came from Reddit's old self-promotion help page, and it is no longer a site-wide rule. What governs you now is each subreddit's own rules, enforced by its own moderators, and they vary enormously: some ban all links, some have a weekly self-promo thread and nothing outside it, some are fine with a founder posting if the post is genuinely useful on its own.
So the actual first step is not "post on Reddit." It is: read the sidebar rules of the five subreddits where your buyers are, before you post anything at all. That is fifteen minutes and it is the difference between a channel and a ban.
The subreddits where small-SaaS founders actually congregate are r/SaaS, r/Entrepreneur, r/SideProject and r/microsaas, and it is worth naming the trap in all four: they are full of other founders, not of your customers, unless you sell to founders. If your product is for accountants, the accountants are in r/Accounting, and r/Accounting will be dramatically less tolerant of you than r/SaaS is.
What actually gets upvoted, and what gets you removed
The posts that work are the ones where you would have written the post anyway, and the product is a footnote.
Concretely, the shape that survives is: you did something specific, you measured it, and you are reporting the number including the part that makes you look bad. "I checked whether the directory I launched on actually passes link equity, and it does not, here is the HTML" is a post. "Check out my new tool" is a removal.
I can give you a live example of that shape, because I ran it on my own product, and I got it wrong the first time. I launched on BetaList and went to read the page source to see what the link was actually worth. My first pass said the listing was worthless as a link: every outbound tag I found carried rel="nofollow". That conclusion was an artefact of how I looked. I had grepped for tags containing nofollow, which is a search that can only ever return nofollow tags — the ones without the attribute were invisible to it by construction. Reading every outbound tag instead showed six links to BetaList's /visit redirect: four image links that are nofollow, and two — the black "Visit Site" button — carrying no rel at all. Dofollow. BetaList's own FAQ says the same thing in plain words.
I am leaving the mistake in the post because the mistake is the more useful half. Go and check the markup of any directory you launch on; it takes thirty seconds. But never test for the absence of an attribute with a pattern that matches its presence. Pull every candidate tag first, then look at each one. I told people the wrong thing for a week on the strength of one badly shaped search.
That paragraph is a Reddit post. It is useful to somebody who has never checked, it names a real thing I did, and it costs me something to say. The product is not in it.
The other format that works is answering the question that already exists. Search a subreddit for the problem your product solves, find the threads from the last month, and write a real answer with no link. Do that ten times and moderators start recognising your username as someone who contributes, which is the entire prerequisite for ever posting about your own thing.
The failure mode nobody warns you about: doing this well takes hours, not minutes, and it does not scale. That is a real cost and you should count it. It is still, in my experience, the cheapest customer acquisition available to a product with no audience and no budget.
Twitter is an audience of other founders, and that is both the point and the trap

Build-in-public works on X for a specific structural reason: the people who reply to a founder posting metrics are mostly other founders, and other founders are unusually willing to try a new tool. If you sell developer tools, design tools, marketing tools, anything where the buyer is a builder, that is your market and the channel is genuinely aimed at it.
If you sell to hospital administrators, it is not, and every hour you spend there is an hour of theatre. I want to be blunt about that because build-in-public has become an identity rather than a channel choice, and I have watched founders keep posting into it long after it was clear their buyer was not there.
Assuming your buyer is there, the things that seem to matter are unglamorous. Post the specific number rather than the feeling. Show the thing rather than describing it — a short screen recording outperforms a paragraph about the same feature, consistently enough that I would treat it as a rule. Reply to other people more than you post; the replies are where a small account is actually seen. And keep it up for months, because the compounding is real but slow and the first eight weeks look like failure.
I am giving you mechanics rather than numbers here on purpose. I do not have a controlled measurement of X's contribution to my own signups that I would be willing to publish as fact, and the engagement statistics floating around are mostly vendor blog posts citing each other. If someone shows you a precise conversion rate for organic X posting, ask where the denominator came from.
Organic social is a compounding asset with a terrible first month
The honest framing for organic social — X, LinkedIn, short-form video, a blog — is that you are building an asset with a long lag, and the lag is the part that kills most attempts.
Two things follow from that. First, pick one surface and go deep rather than posting the same thing to five. Five half-tended accounts produce less than one real one, and I say that having made the mistake in both directions.
Second, be realistic about which surface fits what you sell. Short-form video is a genuinely different bet from written posting, with different economics and a different failure mode, and I wrote about what actually goes into short-form for SaaS separately rather than compressing it here.
There is a third thing, and it is the one I underestimated most. Search is part of organic, and search is slower and more structural than social. I write these posts partly because they rank, and I can tell you from measuring my own site that ranking is not automatic just because the page exists. When I audited my own indexing, most of my pages had never been crawled at all — not ranked badly, never fetched. A new domain has almost no crawl budget, and crawl budget follows links from places that already have authority. Which is a slightly deflating way of saying that the SEO channel and the "get mentioned by other people" channel are the same channel, and you cannot do the first without the second.
Directories and launch platforms, valued honestly
Launch platforms are the most over-recommended item on every marketing list, largely because they are easy to write about and easy to do.
They are worth doing. They are not worth building a plan around. What they reliably give you is a burst of traffic on one day, a permanent page that ranks for your brand name, and occasionally a genuinely useful conversation with an early user. What they mostly do not give you is a link that helps your rankings — see the BetaList markup above, and go and check the others yourself rather than trusting anyone's list, mine included.
Launch day itself has enough moving parts that it deserves its own treatment, and I wrote a separate piece on the day-before mechanics — the short version being that almost everything that determines how launch day goes is decided before it starts.
The one thing I would add here, because it belongs to marketing rather than to launching: do the free ones first and measure them before you pay for a single paid placement. The paid tiers on these platforms are priced as if the free tier works, and you have no evidence of that until you have tried the free tier.
The channel everybody suggests and nobody checks
Someone will tell you to send cold email. Before you do, go and read the terms of service of the provider you plan to send it through.
I did this, for my own product, across seven transactional and marketing email providers. All seven prohibit cold outreach in their acceptable use policies. Not "discourage" — prohibit, as grounds for account termination. This matters more than it sounds, because the account you would be risking is usually the same account that sends your password resets and receipts. Getting terminated for a cold campaign takes your transactional email down with it.
There are legitimate ways to do outbound. They involve a separate sending domain, a provider that explicitly permits it, and a warming period, and the cheapest legitimate setup I found was in the region of eight dollars a month. That is not a lot. The point is that "just send some cold emails" is not free, and doing it on your existing provider is a way to lose your product's email entirely.
If you take one operational thing from this post, make it that one, because it is the only item here where the downside is losing something you already have.
What I would actually do in the first thirty days

If I were starting again tomorrow with no audience and no budget, in this order:
Week one, no posting at all. Find the five subreddits and the two other communities where your buyer already talks. Read the rules. Read the last month of threads and write down the exact words people use for their problem, because those words belong on your landing page and they are almost never the words you would have chosen.
Week two, contribute with no links. Answer questions in those communities. Ten real answers. This feels like it is not marketing. It is the entry fee for everything in week four.
Week three, build the thing you will point at. One page that explains the product plainly, and one artefact that is genuinely useful on its own — a teardown, a measurement, a small free tool. You need something to share that is not a pitch, because every good channel above rewards the artefact and punishes the pitch.
Week four, share it, once per surface, following each surface's rules. Then go back to week two, because that is the loop.
That is four weeks of work with no guaranteed outcome, which is an unsatisfying thing to write and an unsatisfying thing to read. I would rather say that than sell you a growth hack, and if you have read this far you probably would rather hear it.
What four weeks of that adds up to in actual users is arithmetic rather than ambition, and it is worth doing before you start rather than after. I did that arithmetic with my own numbers — conversion rates, cost per free user, what my checkout log said — in a separate post on the first hundred.
And then show the product moving
One practical note to end on, from the side of this I actually know well.
Every channel above eventually needs you to show the product, and static screenshots underperform badly at that job. On Reddit a short clip is the difference between a post people scroll past and a post people ask questions under. On X, showing beats describing. On your own landing page, motion is what makes an unfamiliar interface legible in the four seconds a visitor gives you.
That used to mean either a lot of hours in After Effects or a few thousand dollars with an agency, which is why most small SaaS products simply went without.
That is the specific problem I built PromoHyper for. You give it your product URL, it reads your site, writes a script you can edit in plain English, and renders a fully animated promo video — voiceover, music, motion graphics, every frame designed rather than templated. The first video is free, watermarked, no card and no subscription, so you can find out whether a video actually moves anything for you before you spend money on one.
Make that free one, put it in the post you were going to write anyway, and see what happens. That is a cheaper experiment than any of the paid channels, and unlike most of the advice above, it takes an afternoon rather than a month.