Niche subreddit content marketing is a cadence problem, not a discovery problem.
Every guide on this stops at "find subs with 5K to 100K members and check the sidebar for related ones." That part takes an afternoon. The thing that decides whether you still have working accounts six months later is what you do after you have the list: per-sub cooldowns, a project-fit filter, a daily cap that refuses to let you post twice in the same niche even when you have a perfect-fit thread queued.
Direct answer (verified 2026-05-07)
Pick 8 to 15 niche subs per topic where your buyer actually posts. Hard-cap yourself at one post or top-level comment per sub per 3 days. If you run more than one product, lock each sub list to a single product, no cross-niche posts. Reply to the original poster, not to other commenters. Keep self-promotion under 10 percent of your subreddit activity (Reddit's published 9:1 ratio). The discovery part of niche subreddit content marketing takes one afternoon; the cadence is what actually decides whether you still have working accounts in six months.
Verified against Reddit's self-promotion guidance and against a year of pick_thread_target.py runs across four products in production.
The advice everywhere else, vs. the rules that keep your accounts alive
Toggle between the two views. The left side is what every other piece on this topic teaches. The right side is what you actually have to do once you are running this across more than one product or more than three months.
Find subs with 5K to 100K members. Check the sidebar for related communities. Read the rules. Be authentic. Comment more than you post. Provide value. Engage genuinely. Do not spam.
- Every guide says this
- All correct, all not enough
- Stops at the day-1 setup
- No numbers, no cooldowns, no caps
- Falls apart at week 6
The picker logic, in five steps
This is the actual flow inside pick_thread_target.py. Every time the cron tick fires for original threads, this runs. Steps 3 and 4 are the ones every manual operator forgets.
how a niche-sub post gets picked
Pick a project
Weighted by base config / (1 + posts_in_last_7_days). Frequent posters get penalized.
Load that project's allow list
subreddits[] in config.json. S4L's list is 30 dev subs, PieLine's is 14 restaurant subs.
Drop banned subs
subreddit_bans.thread_blocked filters out subs that banned self-promo or banned the account.
Apply the cooldown
Skip any sub posted in within external_floor_days (default 3). Own community gets 1 day.
Post one comment, one sub
Never queue a second draft for a sub already touched today. The cap is 2/sub/day, target is 1.
One operator, four products, four allow lists
The single piece of plumbing that keeps a multi-product operator from looking like a content farm is this: every product owns its own subreddit allow list, and the picker physically refuses to merge them. Below is the actual fan-out from config.json for four real projects. Cyrano never posts in r/restaurateur, PieLine never posts in r/AI_Agents, even when a perfect-fit thread is sitting right there.
project-keyed sub fan-out
The actual sub lists, verbatim from config.json
These are the per-product allow lists running in production today. Each product picked them by listening to its own buyers, not by copying a generic "best subreddits for marketing" list. If your niche is not represented, the principle is what matters: 8 to 15 subs that your specific buyer actually inhabits, not the largest neighbor.
S4L (developer tool)
30 subs, dev-leaning, mostly 10K to 80K subscribers
r/ClaudeCode, r/ChatGPTCoding, r/AI_Agents, r/LLMDevs, r/selfhosted, r/cursor, r/modelcontextprotocol, r/ollama, r/SideProject, r/coolgithubprojects, r/n8n, r/opensource, r/commandline, r/SwiftUI, r/AlphaAndBetaUsers, r/Automate
PieLine (restaurant SaaS)
14 subs, owner-operator focused
r/restaurateur, r/restaurant, r/RestaurantOwners, r/pizzaowners, r/KitchenConfidential, r/foodtrucks, r/FastFood, r/smallbusiness, r/franchise, r/QSR, r/pizzabusiness, r/sweatystartup, r/BarOwners, r/POS
Testing (QA tool)
14 subs, QA + frontend stack
r/softwaretesting, r/QualityAssurance, r/webdev, r/programming, r/SideProject, r/selfhosted, r/opensource, r/coolgithubprojects, r/learnprogramming, r/coding, r/node, r/reactjs, r/nextjs, r/devops, r/Playwright, r/QAautomation, r/Frontend
Consulting (services platform)
22 subs, services + ops crowd
r/consulting, r/freelance, r/smallbusiness, r/entrepreneur, r/Entrepreneurs, r/SaaS, r/SideProject, r/Automate, r/growmybusiness, r/EntrepreneurRideAlong, r/VirtualAssistant, r/Upwork, r/sidehustle, r/Bookkeeping, r/taxpros, r/Accounting, r/Business_Ideas, r/indiehackers, r/projectmanagement, r/LawFirm, r/realtors, r/msp, r/PrivatePractice
The picker pulls from exactly one list per cron tick. The cross-product join you might draw on a whiteboard is rejected at score time, by design.
The eight-rule operator playbook
You do not need our tool to follow this. A spreadsheet with one row per sub, columns for last_posted_date and self_promo_count_30d, plus a calendar reminder will get you 80 percent of the way. The other 20 percent is mechanical discipline that breaks down once you cross 10 active subs across more than one product.
rules in priority order
- Pick 8 to 15 subs per project where your buyer actually posts and complains, not where they just scroll
- Hard-cap one post or top-level comment per sub per 3 days. Default external_floor_days=3 in pick_thread_target.py
- If you run more than one product, lock each sub list to a single product. No cross-posting Cyrano security stuff in r/restaurateur
- Reply to the original poster, not to other commenters. The OP gets a notification and the upvote multiplier on direct replies has been ~4.2x in our data
- Keep self-promotion under 10 percent of your total subreddit activity. Reddit's published ratio is 9 useful contributions per 1 self-promo
- Block any sub where your last 3 posts averaged below +1 upvote. The list of dead subs grows; refresh it monthly
- Run discovery weekly, not daily. New subs need a soak period before you commit cadence to them
- Hold a deny list for subs that ban self-promo entirely (subreddit_bans.thread_blocked + comment_blocked in the same config)
Why the cooldown matters more than the sub list
Most people who fail at this never fail at picking the wrong subs. They fail at posting too often in the right ones. The cooldown is the single rule that separates "this person shows up usefully and gets DMs" from "this account got muted by every regular in week three." A 3-day per-sub gap means a subscriber who reads every post in the sub sees you twice a week, maximum. A 1-day gap means they see you every time they open the sub, and that is exactly the cadence the human brain pattern-matches to spam.
The own-community rule is the inverse of the same idea. If you have your own subreddit (S4L runs r/screen_pipe, for instance), you can post every day there because the people in that sub opted in to hearing about your product. The default in DEFAULT_OWN_FLOOR_DAYS is 1, not 3. External subs are not your audience yet; they are hosting you.
The piece this gets you is patience. The piece every other guide gets you is enthusiasm. Enthusiasm without cadence kills more niche channels than bad copy ever has.
What changes when you run this across multiple products
A solo founder with one product can hold these rules in their head for about six months. Add a second product, and the wheels start coming off in week two. You start a sentence with "wait, was that for Cyrano or for S4L?" You post a Cyrano security tip in a r/restaurateur thread because it is technically relevant. You hit the cooldown on the wrong sub because your last post was about a different product entirely.
The fix is not willpower. It is enforcement at the scoring layer. Each post gets a project_name in the table. Each candidate thread gets a project_matches_sub() check before a draft request is even made. If they do not match, the thread silently drops out of the queue. The picker treats the cross-product post the same way it treats a thread you already commented on yesterday: invisible.
This is the single rule that lets one human run niche-sub content marketing for three or four products at once. Without it, the third product is the one that kills the first two by polluting their sub-of-record reputation.
Want the cadence rules running on your subs?
Twenty minutes: we walk through your product, your niche subs, and the cooldown plus project-fit rules you'd get out of the box with S4L. You leave with the rules whether or not you adopt the tool.
Frequently asked questions
How small is a 'niche' subreddit, exactly?
Practically: 5,000 to 100,000 subscribers, with at least 5 fresh posts a week. Below 5K and the audience is too thin for any post to surface; above 100K and your post sinks under generic high-volume content within an hour. The dev subs S4L runs in fall mostly in the 20K to 80K range (r/ClaudeCode, r/AI_Agents, r/LLMDevs, r/cursor, r/n8n). r/SaaS is an outlier at the top of the range and gets demoted in the scoring because the noise floor is too high.
Why a 3-day per-sub cooldown? Why not 1 or 7?
Three days is the sweet spot we landed on after a year. One day means the same regulars keep seeing you and the algorithm starts shadowing your posts in /new. Seven days is too cold for a sub with daily-active buyers, you miss the threads. Three lets you be present without being the person every regular has muted. It is encoded as DEFAULT_EXTERNAL_FLOOR_DAYS=3 in pick_thread_target.py and overridable per project via threads.external_floor_days.
What is the project-fit rule and why does it matter?
If you run more than one product, every product gets its own subreddit allow list, and the picker refuses to cross them. Cyrano (security) cannot post in r/restaurateur, even if a restaurant owner happens to ask a security question there. The mechanic is project_matches_sub() in the scoring pass; cross-niche posts get score=None and never make it to draft. Without this rule a multi-product operator quickly looks like a content farm to mods and the niches that should be your strongest channels start dropping you.
Why reply to the OP rather than to other commenters?
Two reasons. First, the OP gets a Reddit notification when you reply directly to their post; commenters do not when you reply down-thread. That single notification is often the trigger for a DM. Second, the upvote distribution heavily favors top-level replies on Reddit's algorithm; in our corpus, reply-to-OP averaged about 4.2x the upvotes of reply-to-commenter on the same threads. We bias the picker by adding +30 to score when the thread permits a top-level OP reply.
What about Reddit's 9:1 ratio? How is that enforced?
Reddit's self-promo guidance asks for roughly 9 useful contributions per 1 self-promotional post. Tooling cannot enforce taste, but it can enforce volume. We log every comment with our_url and a project_name. If self_promo_count / total_comments_30d crosses 0.10 in a sub, that sub gets temporarily moved into subreddit_bans.thread_blocked until the ratio recovers. The reverse pressure forces the operator to do real comments in the sub before the next promo lands.
Do I need a tool for this, or can I run it manually?
You can run it manually for your first 4 to 6 subs. Spreadsheet with last_posted_date per sub, manual count of self-promos, calendar reminders. The wheels come off around 10 to 12 active subs across more than one product, when you start losing track of which sub got which version of your message and whether you violated the cooldown. That is exactly when most indie operators hit a wall and start either spamming (account banned) or going dark (channel dies). The tool's job is to keep the discipline going past the point where memory gives up.
How do I find the right niche subs in the first place?
The seed list comes from three places: subs your existing customers mention to you, sidebars of subs that already work for you, and Google searches like 'site:reddit.com [your niche] [pain point]' to surface high-engagement threads. Add anything new to a probation tier for two weeks. If you cannot get a single +5 comment in 14 days, drop it. If a comment lands and it actually generates DMs, promote it into the main allow list and the cooldown applies from there.
What happens if I just post the same thing in 30 niche subs at once?
Reddit's site-wide spam detector catches it. Even if individual mods do not, the cross-posting pattern is one of the strongest signals for a shadowban. The first symptom is your posts showing up for you while logged in but not appearing in /new for anyone else. Recovery from a shadowban takes weeks of reduced posting, sometimes a new account. The cooldown plus the per-sub cap is mostly there to keep you well below the threshold of any of these signals firing.
Adjacent guides on the same engine
Marketing Reddit as a funnel: 2,732 comments and the throttles that keep accounts alive
What happens after the niche-sub comment lands. The 5-stage funnel from comment to deep DM conversation.
Reddit marketing tools, ranked by what an operator actually needs
What a niche-subreddit content workflow looks like when you wire discovery, drafting, and cadence together.
Reddit marketing service vs running it yourself
When agencies make sense for niche subs and when handing your account to one quietly burns the channel.