DEV Community

Michael Yousrie
Michael Yousrie

Posted on

I measured 402 posts across 4 founder subreddits before posting to any of them

Every "where should I post my SaaS" thread produces the same list of subreddits. I wanted to know whether that list is worth anything, so before posting again I recorded 402 posts across four of them and looked at the numbers.

Some of what I found changed where I post. More of it changed how I measure.

What I collected

For r/SaaS, r/microsaas, r/indiehackers and r/SideProject I pulled roughly 100 recent posts each and stored the score, the comment count, the author, and whether the post was a link or a text post. Nothing clever, just the public listing.

Then I re-checked the same post IDs six hours later, which turns out to be the only way to learn anything about removals. More on that below.

Finding 1: comments per upvote is a better signal than either number alone

Upvoting is one click. Commenting is work. In a normal community you would expect far more upvotes than comments.

Here is the ratio of total comments to total upvotes across each sample:

subreddit upvotes comments comments per upvote
r/indiehackers 1,463 6,101 4.17
r/microsaas 217 462 2.13
r/SaaS 554 453 0.82
r/SideProject 257 229 0.89

Two of those are inverted, and one is inverted by a factor of four.

A ratio above 1 means people are commenting on things they are not willing to spend a click endorsing. That is what reciprocal posting looks like: I comment on yours, you comment on mine, neither of us reads the other.

The top five comment-getters in the r/indiehackers sample were titled, in order: "Share what you're building", "Share what you're building", "i made a free list of 100 places where you can promote your app", "Share what you're building", "100 users is hard." Those five threads pulled 292, 212, 210, 193 and 189 comments.

Finding 2: count the authors, not the posts

The same sample of 100 r/indiehackers posts came from 56 unique authors. One account wrote 10 of them.

The other three subs were nothing like that: 93, 94 and 101 unique authors per 100 posts.

Author count is worth checking anywhere you plan to spend time, because subscriber count cannot tell you the difference between a community and a queue.

Finding 3: you cannot measure removals by looking

This is the one that generalises beyond Reddit.

A removed post still looks fine to the person who posted it. Logged in as the author you see your post, your title, your body. Logged out, the body is [removed]. The API returns HTTP 200 either way.

Worse, listings only ever show survivors. I checked 100 recent posts in one sub and exactly zero carried a removal marker, which does not mean nothing gets removed. It means removed posts are not in the listing I was reading.

So the only way to get a removal rate is to record a cohort of post IDs now and re-check those same IDs later, through a logged-out client. That is the difference between "my post is up" and "my post is visible", and I had a post sitting invisible for three weeks before I understood the distinction.

Finding 4: the median post gets nothing

Across all 402 posts, 50% scored 1 or 0 and 25% had no comments at all. Median score was 2.

That is not a criticism of those subreddits. It is what a firehose looks like from inside. But it does mean a single post is a lottery ticket, and the honest way to treat it is as one sample, not as a verdict on the channel.

What I actually changed

The uncomfortable part of doing this was realising I had no way to check the conclusion, because not one link I had ever posted carried a campaign tag. Every claim I could make about which channel worked was an argument, not a measurement.

Platform metrics do not fix that. Upvotes tell you how a post did on the platform, which is a different question from whether anyone came to your site and stayed. Those two answers disagree more often than you would like.

So now every link gets a source tag at the moment it is posted, rather than being stored pre-tagged. Three things that are worth knowing if you set this up:

Answer 302, not 301, on anything you want to count. A 301 is a permanent redirect and the browser caches it, so the second click from the same person never reaches your server. The count does not break, it quietly flattens.

Do not bake the source into the stored link. Store the bare URL and add utm_source when you post. Otherwise every channel reports as whichever one you set up first, and you cannot separate them afterwards.

A short link resolves to one destination. If you route a deep link through it, someone clicks a link about a specific page and lands on your homepage. Tag deep links in place on their own domain instead.

Check the target's rules first. r/SaaS auto-removes shortened links and says so in its rules, along with a ban threat for disguised links. Posting a tracked link there would have gotten the post deleted, and the zero clicks would have read as "this sub does not convert" rather than "nobody ever saw it". A confident wrong answer is worse than no answer.

The part I got wrong

My first read of the r/indiehackers ratio was "bots". It is not. The accounts are real people with real post histories.

It is more awkward than bots. Those subs are full of founders, and founders are there to be seen. Everyone in the room is selling and almost nobody is buying. That makes them a reasonable place to talk to peers and a poor place to expect customers, which is a different conclusion from "Reddit does not work" and leads to different behaviour.

The thing that still seems worth it: those threads get indexed, and a post answering a real question keeps getting found by people searching that question months later. That is a slower payoff than upvotes and it is the one the platform's own metrics are worst at showing you, which is the whole argument for tagging your own links.

I build Swyfty, which is the shortener I used for the tagging described above, so treat that section as biased and check the redirect behaviour of whatever you use. The 301 caching problem in particular applies to every shortener, including the one you host yourself.

Top comments (0)