Most label setups fail the same way. Someone creates twenty labels in the first week, nobody agrees what half of them mean, and by spring the filter is useless because the posts that should share a label don’t.
This is a guide to designing the scheme, not to the buttons. If you want the mechanics of creating and applying labels, they are on the Post labels feature page. What follows is the thinking you do before you open it.
A worked example
Take a small agency running three clients: a bakery, a dental practice and a bike shop. Each client posts to a few channels, and the agency wants to answer two questions at the end of each month: what did we post for each client, and which kind of post worked.
The tempting scheme is one label per thing anyone might ask about: “Bakery”, “Dentist”, “Bikes”, “Sale”, “Tips”, “Photo”, “Video”, “Instagram”, “Monday”, “Q4”, “Christmas”. Eleven labels, and already four of them duplicate something else. “Instagram” is a channel. “Monday” is a time. “Photo” and “Video” are on the post itself.
The scheme that holds up uses two groups and nothing else:
| Group | Labels | Question it answers |
|---|---|---|
| Client | Bakery, Dental, Bikes | Whose is this? |
| Content type | Offer, Tip, Behind the scenes, Customer story | What is it for? |
Seven labels. Every post gets exactly one from each group. A bakery offer carries “Bakery” and “Offer”. Now both questions are one filter away: pick “Bakery” to see their month, or pick “Offer” across everyone to see how promotions did.
The rule that makes it work is one label from each group, every time. A post with a client but no type is invisible to half your questions.
Combining labels: Any or All
When you select more than one label in the post filter, you choose between Any and All. People pick the wrong one more often than you would expect, so it is worth deciding by the question you are asking:
- “Show me the bakery’s and the bike shop’s posts” means Any. You want posts carrying at least one of the two.
- “Show me the bakery’s offers” means All. You want posts carrying both.
With the two-group scheme, selecting two labels from the same group and choosing All will always return nothing, because no post has two clients. If a filter comes back empty, check that first.
Mistakes that wreck a scheme
Labels that overlap. “Promo” and “Sale” will both be used, by different people, for the same thing. Pick one word and write it down.
One-off labels. A label used on a single post filters nothing. If you only ever need it once, it is a note, not a label. (The calendar has notes for that, see adding notes to your social media calendar.)
Labels for facts the post already carries. Platform, date and media type are all filterable without a label. Spending a label slot on them uses up your plan limit for nothing.
Starting after the posts are written. Analytics grouped by label only counts posts that carry the label. A campaign you forgot to label has to be fixed one post at a time, so the cheapest moment to label is when you write.
Never deleting. Finished campaign labels pile up and eat into the limit. Deleting a label detaches it from its posts and leaves the posts themselves alone, so clearing out last quarter’s labels is safe.
Using colour as the only signal. Pick colours that differ in more than hue, and keep one colour family per group (all the client labels warm, all the type labels cool, say), so the calendar reads at a glance and still makes sense to someone who can’t tell reds from greens.
Post labels or media labels
Post labels and media labels are separate sets, and a “Bakery” in one is not the “Bakery” in the other. Create a media label when you want to find files later, such as “Product shots” or “Team photos”. Don’t mirror your client labels into media unless you really browse the library by client. Both kinds count against the same limit, so every duplicate has a price.
How many labels you can afford
The limit counts every label in the workspace, post and media together:
- Free: 10 labels
- Lifetime: 25 labels
- Pro: 50 labels
- Business: unlimited
The three-client example above uses seven. On Free that leaves three for media or a fourth client, which is a good reason to resist the eleven-label version. Hit the limit and creating another label is refused until you delete one or upgrade.
What to do when the scheme is already a mess
Don’t rebuild everything. Pick the group that matters most, usually client, and make that one clean first: rename look-alikes, delete the ones with a single post, and apply the right one to the posts from the last month or two. Add the second group going forward. A scheme that is tidy from now on beats one that is perfect but took a weekend to retrofit.
If the same labels have to be applied by a script or an automation, send them as labels (an array of label IDs) when you create or update a post, and filter the list with labelIds. The two names are easy to swap. Details are in the BulkPublish API guide.
When labels are the wrong tool
- Where a post goes: that is what channels and channel sets are for. Don’t make an “Instagram” label.
- When a post goes: the calendar and queue handle timing. See building a content calendar.
- Content that repeats: that is a recurring schedule.
- Whether a client has signed off: use review links, not a “Approved” label that someone has to remember to set.
The one-page checklist
- Write down the two questions you want answered at month end.
- Make one group per question (client, content type, campaign) and list its labels. Keep it under about ten in total.
- Agree that every post gets one label from each group.
- Create the labels once, with a colour family per group.
- Label while you write. For volume, do it as part of bulk scheduling.
- At the end of the month, filter analytics by each label and write down what you learned.
- Delete labels for finished work.
BulkPublish supports 15 platforms: Facebook, Instagram, TikTok, YouTube, X, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr and Snapchat.
- Labels: Free: 10. Lifetime: 25. Pro: 50. Business: unlimited.
- Channels: Free: 3 (1 per platform). Pro: 30 (2 per platform). Business: 75 (5 per platform).
- Posts: Free: 3/day. Pro: 30/day. Business: unlimited.
The short version
Decide the questions first, then build one small group of labels per question and apply one from each group to every post. Avoid labels that duplicate channels, dates or media type, and prune what you finish. Then the filters and the analytics do the rest.
Ready to set it up? Follow the steps on the Post labels page, or start free and create your first labels in a couple of minutes.