Why Telegram Polls Don't Tell You Who Will Actually Attend
Telegram polls are technically excellent. They can show you every voter by name, close themselves on a schedule and hide their results until they do. Fourteen people can still vote yes and nine turn up, and understanding why is more useful than any setting in the app.

Quick answer
A Telegram poll records a prediction made at one moment about a decision taken at another. Voting costs a second, attending costs an evening, and cheap signals are always more abundant than expensive ones.
In a large group a public vote is partly a supportive gesture towards the organiser, and the poll cannot notice when somebody's circumstances change afterwards. The people who never voted are the biggest and least predictable group of all.
Use the poll to decide the date, then ask for the commitment separately with a price and a deadline attached, and book against your own group's historical ratio rather than the poll total.
Fourteen names, nine humans
Saturday football, pitch booked for ten. You posted a Telegram poll on Tuesday and made the votes visible, because you are not an amateur.
Fourteen names sat under "I'm playing". You could read every one of them, tap them, scroll them.
Nine people turned up. You paid for a pitch sized for fourteen and spent the first ten minutes rearranging teams on wet grass.
This is the strange part. Telegram gave you more information than almost any other chat app would, and the number was still wrong.
That is what makes Telegram the sharpest version of this question. On most platforms you can blame the tooling. Here you cannot, because the tooling did exactly what it promised.
The poll was not lying to you. It was answering a question you did not ask.
What Telegram polls actually do, and they do a lot
Start with the capabilities, because the argument only works if you take them seriously.
When Telegram shipped Polls 2.0, it added polls where "everyone in the group can see who voted for what", alongside multiple answers and quiz mode. Anonymous polls stayed. Visibility became a choice the organiser makes.
Underneath, the poll object in Telegram's own API documentation carries a set of flags that most people never realise are available to them.
| Option | What it does | What it still cannot answer |
|---|---|---|
public_voters | Makes cast votes visible to everyone, so you get names and not just a bar | Whether the named person will be there on the day |
multiple_choice | Lets one person pick several options at once | Which of those options they will actually turn up for |
quiz | Marks one answer correct and shows results with an explanation | Nothing about attendance, it is a different tool entirely |
revoting_disabled | Stops people changing their vote once cast | Whether their circumstances stayed as fixed as their vote |
hide_results_until_close | Keeps the running tally hidden so early votes cannot steer later ones | Why somebody voted the way they did |
close_period / close_date | Closes voting automatically after a set duration or at a set time | Anything that happens between closing and kick-off |
open_answers | Lets participants add their own options after the poll exists | Whether the new option has any support beyond its author |
Read that middle column and it is a genuinely impressive piece of engineering. Read the right column and the problem comes into focus.
Every one of those flags improves the quality of the vote. Not one of them touches the distance between a vote and a body on a pitch.
The two moments problem
Here is the mechanism, and it is simpler than people expect.
A vote is cast at one moment. Attendance is decided at a completely different one.
Tuesday evening, on the sofa, Saturday feels abstract and pleasant. Saturday morning, in the rain, with a hangover and a car that needs its MOT, Saturday is a set of concrete costs.
The poll recorded the first moment perfectly. It has no access to the second, and it never will, because the second moment happens outside Telegram.
This is not a flaw you can engineer away. Any system that collects an answer in advance is collecting a prediction, and the person making that prediction is famously bad at it.
What changes between the two moments is not usually the person's honesty. It is the price.
Voting is free, attending costs an evening
Tapping a poll option takes about a second and costs nothing at all.
Attending costs travel, an evening, the thing you would otherwise have done, and often money. Those two acts sit at wildly different points on the effort scale, and yet the interface treats them as the same gesture.
So the vote is systematically cheaper than the thing it predicts. Cheap signals are always more abundant than expensive ones.
You see this everywhere once you notice it. Wishlists are longer than purchases, saved recipes outnumber cooked meals, and poll votes outnumber attendees.
None of that requires anyone to be flaky. It only requires the cost of saying yes to be lower than the cost of doing yes.

In a big group, a vote is partly a gift
Now add Telegram's defining feature, which is scale. Telegram's own FAQ puts the ceiling at 200,000 members per group, and even ordinary hobby groups run into the hundreds.
Something changes socially at that size, and it changes what a vote means.
In a group of six, your vote is a piece of coordination between friends. In a group of three hundred, your vote is also a small public gesture towards the organiser, visible to everyone, costing nothing.
With public_voters on, that gesture has your name on it. Voting yes is a way of being seen supporting the thing.
Look at the difference between two questions that seem identical. "Would it be good if this happened?" and "will you be there?" produce very different numbers, and a poll usually reads as the first.
This is not cynicism about people. It is a description of what a public, free, one-tap yes means inside a large group, which is genuine enthusiasm plus a bit of social warmth, and those two things arrive fused together.
The enthusiasm is real. It just does not convert to attendance at anything close to one to one, and the bigger the group, the wider that ratio gets. We go further into that in the piece on running an event in a Telegram group with hundreds of participants.
The poll cannot notice that anything changed
Here is the failure that annoys organisers most, because it feels like it should be fixable.
Somebody votes yes on Tuesday. On Thursday their sister announces a birthday dinner on Saturday night.
Their vote does not move. It sits there, still bright, still counted, still carrying their name.
Telegram will let them change it, unless you set revoting_disabled. The question is whether they will remember a poll they interacted with for one second three days ago.
Mostly they will not, and this is entirely normal behaviour rather than rudeness. Updating a poll vote is an act of admin that produces no benefit for the person doing it.
Compare that to a formal event record. In RFC 5545, the specification behind every calendar file, each attendee has a PARTSTAT value that lives on the event and is expected to change, and the event carries a LAST-MODIFIED stamp so you can see how stale it is.
A poll vote has none of that. It is a timestamped fact about Tuesday, presented as a fact about Saturday.
The mechanics of that drift are worth their own read, and we cover them in the article on what happens when RSVPs change during group planning.
The silent majority is the real number
Everything so far has been about the people who voted. The larger problem is the people who did not.
In a group of two hundred, a poll with forty votes has one hundred and sixty non-answers. Your visible list of names is the small, atypical, self-selecting minority who felt like touching a poll.
Non-voters are not one group. They are at least four, and they behave completely differently.
| Who they are | Why they did not vote | How likely they are to attend | What would reach them |
|---|---|---|---|
| The muted member | Muted the group months ago and never saw it | Near zero, they do not know it exists | A direct message or a link shared elsewhere |
| The deciding-later member | Saw it, genuinely does not know yet | Moderate, and highly sensitive to a reminder | A deadline and a second, specific ask |
| The already-in member | Considers it obvious that they come every week | High, often higher than the voters | Nothing, but they will not appear in your count |
| The polite decliner | Does not want to vote no in public with their name on it | Near zero | An answer option that is private to the organiser |
That third row is the one that catches organisers out. Regulars often do not vote precisely because they consider their attendance settled.
So your poll can undercount and overcount at the same time. Fourteen votes and nine attendees can contain three regulars who never voted and eight voters who did not come, and the totals still look almost reasonable.
Silence is the largest, least predictable, least measurable group you have. Anonymous polls make this worse, because you cannot even tell who is missing from the list.
Why an anonymous poll is worse for headcounts
Anonymous polls are the default mental model for most people, and they are the wrong choice here.
An anonymous poll gives you a number with no names attached. You cannot chase, you cannot check for double-counting, and you cannot see who never engaged.
If you are running a poll to decide something, anonymity is often correct and protects honest answers. If you are running one because you need a headcount, it removes the only follow-up route you had.
Why the number is wrong in a predictable direction
All five mechanisms push the same way, which is why organisers over-book rather than under-book.
| Mechanism | What it does to the count | Gets worse when |
|---|---|---|
| Two moments | Records a prediction, not a decision | The gap between poll and event is long |
| Cost asymmetry | Yes is cheap to say, expensive to do | The event needs travel, money or a whole evening |
| Social gesture | Adds supportive votes to genuine ones | The group is large and votes are public |
| No update path | Leaves stale yeses looking fresh | Life happens, which is always |
| Non-voters | Hides most of the group from the count entirely | The group is big and mostly muted |
Four of those five inflate the number. Only the non-voters can push it either way, and in a large muted group they mostly hide people who were never coming.
So the honest summary is that a poll count is a ceiling, not an estimate. It tells you the number cannot be higher than this, which is genuinely useful, and is not the same as a booking.
Use the poll anyway, but use it deliberately
None of this means stop running polls. It means run them for what they are good at, and stop treating the output as a guest list.
Telegram polls are excellent at closing a question. Which Saturday, which pitch, indoor or outdoor, six or seven o'clock.
Five moves make a poll dramatically more useful for planning. Three of them are settings already sitting in the app, and two are things you type.
- Set a closing time and say it out loud. Telegram's poll documentation describes close_period and close_date, which shut voting automatically. A poll that stays open forever tells the group that answering now and answering next week are equally fine.
- Make the votes visible when you need names. Public voters turn a bar chart into a list you can follow up on. Accept the trade, which is that some people will not vote no in public.
- Hide the running results while it is open. The
hide_results_until_closebehaviour stops early votes from steering later ones, so you find out what people think rather than what they think is winning. - Write the question so it cannot be misread as enthusiasm. "Which Saturday suits you?" collects availability. "Will you be at the pitch at 10 on the 14th?" collects something much closer to a commitment.
- Ask for the commitment separately, afterwards. Once the date is fixed, the poll has done its job. The headcount is a second question, asked once, with a name attached and a deadline on it.
That last step is the one that changes the numbers. It is also the one everyone skips, because the poll is already sitting there looking like an answer.
The difference between the two questions is a whole topic in itself, and it is taken apart properly in the piece on why "going" and a poll answer are not the same thing.

How to word the second ask
The commitment question has a shape, and getting the wording right does more work than any feature.
Name the concrete thing being decided by their answer. "I book the pitch on Thursday and it is fourteen pounds a head" is a fact people can respond to honestly.
Give a deadline that is earlier than the moment you actually need it. Not because you are being sneaky, but because the last three answers always arrive after any deadline you set.
Make "no" easy and unembarrassing. If the only public options are yes and silence, you have designed a poll that cannot record a no, and silence will do the job instead, badly.
Then say what the number is for. People answer differently when they know a deposit depends on it, and that is exactly the sensitivity you want.
What to do with the gap when you have to book something
Eventually the abstract problem becomes a form asking how many people, and you have to type a number.
Do not type the poll number. Work out the gap deliberately, then book against the thing you can afford to be wrong about.
Start with your own history, because your group's ratio is stable and nobody else's is. If the last four events went fourteen to nine, twelve to eight, twenty to eleven and nine to seven, your conversion is somewhere near two thirds and you should be using it.
Then look at what the wrong number actually costs you in each direction.
| What you are booking | Cost of booking too big | Cost of booking too small | Which way to lean |
|---|---|---|---|
| Restaurant table | An awkward gap and a mildly annoyed host | People standing, or split across two tables | Slightly under, tables usually stretch |
| Pitch or court hire | Fixed fee split between fewer people | Cannot play at all | Book it, split it, say the per-head price upfront |
| Per-head catering | Real money, gone | Someone does not eat | Under, and confirm numbers late |
| Coach or minibus seats | Wasted seats you paid for | Somebody is left behind | Over, being left behind is unrecoverable |
| Ticketed event | Unsold tickets you are liable for | Latecomers miss out | Under, and collect money before booking |
The general rule is simple. Lean toward whichever error you can fix on the day.
Money is the other lever, and it is the honest one. Asking for payment upfront converts the free yes into a costly one, and the count immediately becomes accurate, because you have removed the asymmetry that was causing the whole problem.
That feels formal among friends, which is why most groups will not do it for a kickabout. For anything with a real deposit, it is the only method that reliably works.
A method that survives contact with a real group
Here is what actually works in a Telegram group of any size, and it takes about four messages.
Run the poll to decide the date. Public voters, a stated deadline, results hidden while open.
Close it, announce the winner as a decision rather than a result, and stop referring to the poll from that point on. It has done its job and its number is now historical.
Post the commitment ask separately with the price and the deadline in it. Keep the confirmed list somewhere that is not a chat message, because a message cannot be updated by the people it is about.
Then chase once, and only once, and do it by name to the people you actually need. This is worth more than every poll setting combined, and it is covered in more depth in our guide to tracking attendance when it lives inside a conversation.
The final step is the one nobody does. Write down the two numbers afterwards, the votes and the bodies, so that next time you have a ratio instead of a hope.
Why the chat cannot hold the answer either
The obvious response to all this is to skip the poll and just ask in the group. That works right up until anyone changes their mind.
A chat records what was said. It does not record what is currently true, which is the difference explored in the article on Telegram chat versus structured planning.
So "I'm in" on Tuesday and "sorry, can't Saturday" on Friday both exist in the thread as equally real messages. Somebody has to read the whole thing and work out the present, and that somebody is always the organiser.
Reactions have the same problem in a smaller package, which we look at in the piece on why emoji reactions do not make attendance records.
The poll was an attempt to escape this, and it half works. It gives you a structured answer to a structured question, and then it freezes.
What a poll would need to become an attendance record
It is worth being concrete about the missing pieces, because they are not mysterious.
- A per-person status that updates
- Not a vote cast once, but a field that belongs to each person and that they can change without hunting up the thread for an old message.
- A meaning for silence
- Somewhere the un-answered are counted as un-answered rather than invisible, the way
NEEDS-ACTIONworks in a calendar event. - A visible last-changed time
- So an organiser can tell a fresh yes from a three-week-old one, instead of treating both as current.
- A record that outlives the message
- Something that stays reachable when the poll has scrolled away under four hundred messages about somebody's new boots.
- A separate ask for commitment
- A question that is explicitly about turning up, priced and deadlined, rather than a question about which date is convenient.
None of that is a criticism of Telegram's poll feature, which is a poll feature and an unusually good one. It is a description of a different object.
Telegram's Bot API documentation for sending polls makes the boundary clear enough: it exposes options, votes, closing behaviour and quiz answers. There is no attendance concept in it, because a poll is not an attendance concept.
Where Ontaym fits
This is the part where we mention our own product once, honestly, and then stop.
Ontaym holds the event as a record rather than a message. One link, one current time and place, and a per-person answer that the person can change themselves without asking you.
Guests answer without joining anything, installing anything or exposing their phone number to two hundred strangers. The link drops into your Telegram group and your group carries on exactly as it was, which is the point covered in how Telegram groups handle event coordination.
It does not fix human beings. Somebody will still say yes and then not come, and that is not a software problem.
What it fixes is the part where the yes cannot be updated, the silence cannot be seen, and the count cannot be trusted because it was collected in a poll three weeks ago.
The one sentence to keep
A Telegram poll tells you what a self-selected subset of your group believed on the day they tapped it.
That is a real and useful fact, and it is not a headcount. Treat it as the ceiling, ask for the commitment separately, and write down your own ratio so that the next booking is based on your group rather than your optimism.
If you keep only one habit from this, make it the last one. Two numbers in a note, votes and bodies, after every event.
Do it four times and you will predict your own group better than any feature ever could. The single source of truth for a group event is a place to keep them.
Frequently asked questions
Can you see who voted in a Telegram poll?
Yes, if the organiser creates a poll with visible votes rather than an anonymous one. Telegram introduced this with Polls 2.0, which lets everyone in the group see who voted for what. Anonymous polls are still available and are usually the better choice when the question is sensitive rather than logistical.
If I can see the names, why is my headcount still wrong?
Because a name next to an option records what that person predicted on the day they tapped it. Attendance is decided later, under different conditions, and the vote has no way of noticing the change. The list is accurate about voting and only loosely correlated with turning up.
Why do people vote yes and then not come?
Usually not dishonesty. Voting takes one second and costs nothing, while attending costs travel, an evening and often money, so the cheap signal is always more common than the expensive act. In a large group a public yes also works as a small supportive gesture towards the organiser.
Should I use an anonymous or a visible Telegram poll for an event?
Visible, if you are trying to build a list you can follow up on, because an anonymous poll leaves you with a number and no way to chase anyone. The trade-off is that some people will not vote no in public, so give them an easy option or a private route to decline.
Can I stop people changing their vote after they cast it?
Telegram's poll object includes a flag that disables revoting, so yes. It is rarely what you want for attendance, though, because the useful behaviour is the opposite: you need people to update a stale yes when their plans change, not be locked into it.
How should I set a deadline on a Telegram poll?
Telegram polls support closing automatically after a set duration or at a set time, and you should use it and announce it in words as well. An open-ended poll tells the group that answering now and answering next week are equally acceptable, so the answers arrive too late to book anything with.
What number should I actually book against?
Your own group's history, not the poll. Write down the votes and the actual attendance after every event, and after three or four you will have a ratio that predicts your group better than any feature. Then lean toward whichever error you can fix on the day.
Does asking for money upfront really improve the count?
It is the most reliable fix there is, because it removes the cost asymmetry that causes the problem. Once saying yes costs something, only the people who mean it say it. It feels formal for a casual kickabout, which is why most groups reserve it for anything with a real deposit.
Give your next plan one address instead of one more thread.
Plan it with Ontaym