For a long time my hashtag “strategy” was typing whatever came to mind in the ten seconds before I hit post. Some days I'd use four tags, some days thirty, and I had no idea which ones did anything. It wasn't a strategy, it was a nervous habit. The fix turned out to be boring and effective: build a handful of saved sets once, use them on purpose, and check in on them every few weeks. No magic, no secret tags. Here is the whole thing.
Why guessing hurts you
Random tags don't just waste the slots, they actively send the wrong signal. Instagram uses your hashtags as one clue about who should see a post. If you stack giant generic tags like a million-post fashion tag onto a photo of your local coffee shop, you're competing with the entire planet and telling the algorithm something untrue about your audience. You vanish in seconds and you confuse your own reach.
The goal isn't the most tags or the biggest tags. It's tags that genuinely describe the post and that you can realistically rank in for a while. That's a much smaller, much more useful set than you'd think.
Build sets by size, not by vibe
I keep my tags grouped by how competitive they are, because mixing sizes is what actually works. A tag with 40 million posts buries you instantly. A tag with 2,000 posts might keep your post visible for hours. You want some of each.
- Broad (200k to 1M posts): a couple of these for the occasional lucky reach, knowing you'll drop off fast.
- Mid-size (10k to 200k): the workhorses. Specific enough to describe you, big enough to have an audience. Use the most of these.
- Niche and local (under 10k): where you can actually stick around. Your town, your specific craft, your sub-community.
Open a notes file and build two or three sets like this, each tied to a topic you post about often. A bakery might have a “bread” set, a “cake” set, and a “local” set. Now picking tags is choosing a set, not inventing from scratch.
Caption or first comment?
This argument never dies, so here's my honest read after testing both for a year: reach is basically the same either way. The difference is how the caption looks. A wall of thirty hashtags under your words makes the post feel like spam. Moving them to the first comment keeps the caption clean and human while the tags still do their job.
I put tags in the first comment for that reason alone, not because of any reach trick. If your scheduler can post the first comment automatically, set it up once and you never think about it again. We cover that habit among others in our Instagram scheduling tips for small businesses.
How many to use
You can technically add thirty. You almost never should. I land between eight and fifteen, all of them relevant. More than that and you're scraping the bottom of the barrel for tags that don't fit, which dilutes the signal you're trying to send. Quality of fit beats quantity every single time. If you can only think of six tags that truly describe a post, use six and move on.
Rotate so the sets stay alive
Stamping the identical block on every post is the one thing that can get you flagged as repetitive, and it's also just lazy signaling. Every few weeks I swap a third of each set: retire the tags that never seem to bring views, add a couple of new niche ones I've spotted, and check that none of my favorites have quietly turned into spam magnets.
Checking is simple. Tap into a tag and look at the top posts. If they're full of unrelated junk or bots, drop it. Tags get “ruined” over time as spammers pile on, so a set you built a year ago needs a clean-out. This pairs naturally with keeping a content calendar, since you're already reviewing the month.
Where scheduling fits in
The reason saved sets matter so much is that they make scheduling painless. When your tags live in a notes file by topic, dropping them into a queued post takes seconds, and you can plan a week of posts without re-thinking hashtags for each one. Our Instagram scheduling lets you queue the caption and the first comment together, so the tags ship automatically the moment a post goes live.
That's the whole strategy: build sets by size, keep them relevant, use a sensible number, put them in the first comment if you like a clean caption, and rotate them before they go stale. It stops feeling like guesswork the moment you decide the sets once instead of every single post.