Home · Blog · Broadcast to audience segments in a bot: how to build it from tags without mistakes

Broadcast to audience segments in a bot: how to build it from tags without mistakes

· Command CHBT · Broadcasts, Segments

A broadcast “to everyone” is almost always worse than a broadcast “to those who care”: fewer unsubscribes, more replies. In CHBT the segment for a broadcast is set with tags in the To field. The mechanics are simple, but they have rules that decide who gets the message: how several tags work, why “Promo” and “promo” are different tags and how to send “to everyone except buyers” when there is no exclusion filter. Let us go through examples.

How the To field selects recipients

In the New broadcast form, the To field takes comma-separated tags. There is one selection rule:

  • An empty field — all project contacts in Telegram, MAX and VK. On the broadcast card this shows as “all messenger contacts”.
  • One tag — everyone who has it.
  • Several tags — everyone who has at least one of them. This is “OR” logic: vip, regular will send to VIP customers, regular customers and those who are both — once to each.

Spaces around commas do not matter, but the spelling of the tag does: a tag is compared as a whole and case-sensitively. Promo, promo and promos are three different tags. If a flow sets promo and you wrote Promo in To, the broadcast will find no one.

Where tags come from

  • A flow. An Action block → Add a tag at the right step: tapped the “Interested in discounts” button — got discounts; left a phone number — lead; paid — paid.
  • Manually. The Tags field in the contact card in the Contacts section.
  • Import. CSV import — a tags column, tags separated by semicolons.
  • Removal. Action → Remove a tag — for example, when a customer wrote “stop” or has already bought.

Segmentation starts not when you send a broadcast but when you design the flow: every meaningful customer action is worth marking with a tag. More on the tag system and naming rules — in the article on tags as segmentation. Here — only what you need for a broadcast.

How to do “AND”: both tags at once

The To field cannot do “this tag and that one”. If you need to write to those who agreed to the newsletter and are interested in discounts, the list newsletter, discounts will not work: it will also send to those who never agreed.

The solution is a combined tag set by a flow:

  1. Where the customer picks an interest, add a Condition. In one branch set two rules — the second is added with the Add a rule button: field Tag — is set — newsletter and field Tag — is set — discounts. Rules within one branch must all be met at once — that is “AND”.
  2. In this branch — Add a tag newsletter-discounts.
  3. In the broadcast, put only newsletter-discounts in To.

The simplest is to set such a tag right in the consent flow: first “Yes” to the newsletter, then the question “What should we write about?” with topic buttons — and each button sets a tag like newsletter-discounts, newsletter-new. Then every topic tag already includes consent.

How to do “NOT”: everyone except…

There is no exclusion filter in broadcasts: you cannot write “everyone with the lead tag except those with paid”. There are two working techniques.

Remove a tag when it is no longer needed. The lead tag means “has not bought yet”. So in the payment branch, add Remove a tag lead and Add a tag paid. Then a broadcast by lead automatically will not reach buyers.

A positive tag instead of a negation. Instead of “everyone except those who refused”, create a consent tag and write only to it. Instead of “everyone except those who already attended the webinar” — a webinar-not-attended tag that is removed when the person comes.

A rule for the future: name tags so that a broadcast can go to them directly. A segment that can only be obtained by subtraction turns into manual work in practice.

How to know the segment size before sending

The Contacts section has a Filter by tag: choose a tag — and the list shows how many contacts have it. You can save the filter you need with the Save segment button, and it appears in Segments by tags. A segment here is a quick tag filter in the contact list; for a broadcast, enter the same tags in the broadcast form.

A limitation: the filter in Contacts works with one tag. For a broadcast to vip, regular you cannot see the exact number in advance — the sum of two filters gives the upper bound, since some people have both tags. If the number matters, create a combined segment tag via a flow, as in the “AND” example.

Also keep in mind that not every contact from the filter becomes a recipient. Website chat visitors are not included, and contacts imported from CSV who never wrote to the bot end up in the “no channel” counter.

A segment by messenger

You cannot choose a messenger in the broadcast form: without tags it goes to Telegram, MAX and VK — to each person where they wrote to the bot. If you need only one channel — for example, an announcement that concerns only Telegram channel subscribers — make a channel tag:

  1. In the welcome flow, add a Condition on the Channel field.
  2. In the Telegram branch — Add a tag tg, in the MAX branch — max, in VK — vk.
  3. In the broadcast, enter the needed channel tag.

The source is marked the same way: a bot link with a parameter, a QR code on the packaging, a widget on the website. A source tag helps both to segment and to understand where the most active customers came from.

Test the broadcast on yourself

The form has no test send, but it is easy to make one with a segment of one person:

  1. Write to your bot from your personal account — you will appear in Contacts.
  2. Add the test tag in your card. If several people are testing, give the tag to each.
  3. Create a broadcast with the same text and To — test, without a scheduled start.
  4. Check the message in the messenger: variables are filled in, links open, the reply word starts the right flow.

Only after that create the broadcast for the real segment. The test broadcast’s card stays in the list, and its text is visible there — handy for checking before sending to the whole segment.

Segment examples

TaskTagWho sets it
Promotions only to those who agreednewsletterThe consent flow on the “Yes” button, removed by the word “stop”
A webinar reminderwebinar-12-11The registration flow
Following up with those who did not buyleadSet by phone collection, removed by payment
A review request after purchasepaidThe Paid branch of the Payment block
New arrivals for a categorynewsletter-shoesAn interests question after consent
Telegram onlytgA Condition on the Channel field

For temporary segments like a webinar, add the date to the tag: after the event such a tag does not get in the way and is not confused with the next one.

After the broadcast: a segment for the next step

A broadcast is not the end but a fork. Ask in the text to write a keyword, for example “WANT”, and make a flow with that trigger: it sets the replied-promo tag and leads to the offer. Next time you will have two segments: those who replied — you can write to them more often and more specifically, and those who stayed silent — they should get something different or less often.

The counters on the broadcast card show delivery: recipients, delivered, errors and no channel. There are no reads or clicks — the reaction is counted by the tag from the reply flow. Why some messages are not delivered is covered in the article on broadcast delivery.

How often to write to each segment

Segmentation is needed not only to hit an interest more precisely but also so as not to write to the same people too often. A person with three interest tags will get all three topic broadcasts if you send them on the same day. A few rules:

  • Keep a broadcast calendar. At least a table: date, segment, topic. Before a new broadcast, check whom in this segment you already wrote to this week.
  • A wide segment — less often. A broadcast to newsletter (everyone who agreed) — no more than once a week. A narrow segment on a specific interest can take more, if the messages are really about it.
  • Hot ones — sooner. To those who replied to the last broadcast or left a request, it is fine to write within a day or two; to those silent for a month — once every few weeks and with a different offer.
  • Watch the errors. If errors grow after a broadcast to a segment, people are blocking the bot — a signal to write to this segment less often or about something else.

How to bring back long-silent contacts is covered in the article on reactivating a dormant base.

Common segmentation mistakes

  • Different case. VIP in the flow and vip in the broadcast — an empty segment.
  • Expecting “AND”. Listing tags separated by commas widens the audience rather than narrowing it.
  • A tag that is never removed. A lead tag that is not removed after purchase turns a follow-up into spam for customers.
  • A broadcast without consent. An “everyone” segment for advertising risks complaints and blocks. Send advertising by the consent tag.
  • Too fine-grained. A segment of five people is cheaper to handle manually in Conversations.
  • Tagging a hundred people by hand. If a segment is needed regularly, let a flow set it.

More on the blog