Delivery Monitoring and Your Reliability
The marketplace's promise to advertisers is that delivery is witnessed, not taken on trust β which is why advertisers pay marketplace prices for your channel instead of haggling in direct messages. This page explains what the monitor does with your delivered posts, exactly what does and does not trigger a flag, what each one costs, and how the reliability score behind it moves.
Two separate things watch a delivered placement, and they are worth telling apart from the start:
| Watcher | When it runs | What it can cost you |
|---|---|---|
| The monitor | Repeatedly, from delivery until the promised duration has run | β1.50 and a paused payout |
| The exclusivity sweep | Once, shortly after the format's opening window closes | β0.40 and nothing else |
What the monitor checksβ
From the moment a booking is marked delivered until its promised duration has run, the monitor repeatedly visits your post and checks:
- The post still exists. It forwards the post into a monitoring chat and deletes the copy immediately. Telegram gives a bot no way to read an arbitrary message by id, but it does allow a forward β so a forward that fails with an error naming the message is proof the post is gone.
- The post is still pinned β but only where a pin was actually bought. A pin check runs on a placement that took the pin, and on the legacy pinned-run format; on both, the pin is promised for the whole booked run. On an ordinary 1h/24h, 2h/48h, 3h/72h or native placement nothing is pinned and nothing is pin-checked.
A placement booked before the top-of-feed rules were introduced was sold as "pinned for N hours", and it is still delivered and policed that way, deliberately. Nothing was rewritten retrospectively, because penalising an owner for breaking a promise nobody made them would be the wrong kind of tidy. Every booking taken since is governed by the rules on this page.
How often it visits is set by the advertiser's plan, not yours, and is pinned onto the order at purchase: Free and Lite every 60 minutes, Plus every 30, Elite every 15, Master every 10, Ultimate every 5.
The pin check is the exception, and it runs on its own clock: every 5 minutes, on every plan. Checking a pin costs one read of the channel and no forward at all, so there is no reason to make it wait for the delivery visit β which means an early unpin is normally caught within about ten minutes of happening, rather than at the end of the advertiser's cadence.
It reads the pin two ways β the post's own pin flag where our reading session can see it, and the channel's pinned message otherwise β and it only acts where the answer is definite. Specifically it does nothing at all when:
- the two readings disagree (our session says unpinned, the channel says your ad is the pinned message);
- some other message is pinned on top of yours, which says nothing either way;
- the post cannot be found at all β a deleted ad is a different and more serious matter, priced by the deletion check above, not by this one;
- neither source can be read.
It also keeps running after a breach, which is what makes the mark curable: it is watching for the re-pin just as carefully as it watched for the unpin, and to the same two-reading standard.
The exclusivity sweepβ
Every format sells an opening window in which the ad is the newest post in your channel β 60 minutes on a 1h/24h or native slot, 120 on a 2h/48h, 180 on a 3h/72h. This is the check that tests whether you kept it.
How it works. It is not a poll. Once, about 5 minutes after the window has closed, Onflow Ads reads your channel's recent history β up to 60 messages β and reconstructs the whole window from the timestamps. One read after the fact catches even something posted and deleted inside the window, which no amount of polling could.
What counts as a breach. A message in the channel newer than the ad, dated inside the window. Three things are excluded, each for a reason:
- The ad's own album images. A multi-image creative is several Telegram messages with consecutive ids. Penalising you for the shape of the advertiser's creative would be absurd, so they are matched as one send and ignored.
- Service notices β a pin, a join, a title change. They are not posts.
- Forwards of the ad itself, and edits. An edit does not make a new message.
The verdict has three values, not two. Every read resolves to ok, breached or unknown, and unknown is the one that protects you:
- If the channel could not be read at all β unreachable, not public, or the read simply failed β the answer is
unknown. It is never filed as clean and never as a breach. - An empty history page from a channel we can read is also
unknown, not "no posts, therefore clean". A channel we posted into ourselves does not have zero messages; that reading is far more likely a hiccup on our side. - An
unknownverdict goes back in the queue and is re-read on later passes, up to 25 hours after the ad was published. After that it is written down permanently asunknownβ so "we never managed to check" is never mistaken later for "we checked and it was fine".
The two-reading confirmation rule that guards the deletion and unpin flags does not apply here, and the difference is intentional. That rule exists because a live probe can catch a channel mid-blip. This is a single retrospective read of an immutable past: its uncertain answer already has a value of its own (unknown, which never penalises and is retried), and a second read of the same history would return exactly the same thing.
So: do not expect a warning read first. If your channel posted inside the window, the β0.40 lands on the first pass that can see it.
What a breach costs. 0.40 reliability, once, applied only to you and only on a breached verdict. No money is affected β your payout is untouched, no deposit is forfeited, and the ad keeps running for its full booked duration. It is deliberately far lighter than the β1.50 monitor flag, because posting one extra message forty minutes in is a smaller wrong than deleting the ad.
What you are told. A feed item headed "Your channel posted during an ad's exclusive window", linking to your bookings queue, naming how many posts went up and how far into the window the first one landed β for example, "2 other posts went up during the 60-minute exclusive window, the first 22 minutes in." The advertiser gets their own notice, "Your ad did not get its full time at the top", telling them the ad is still running.
The check reads your channel's public history. If it cannot be read the verdict is unknown and you are not penalised β but you also have no clean record on that placement, and a run of unknown verdicts is not evidence of anything in your favour either.
Three reasons a false monitor flag is very hard to produceβ
These three rules govern the β1.50 monitor flag β the deleted-post and unpinned-early checks. The exclusivity sweep above has its own, different protection: the tri-state verdict.
A flag costs you 1.50 reliability points and holds money you have earned. On an insured placement it also triggers an irreversible refund. So the bar is "Telegram told us it's gone", never "we could not confirm it is there".
1. One conclusive reading is not enough. A reading that looks conclusive β the post gone, or a bought pin removed before the run ended β is held internally as a pending marker and nothing happens. Only a second consecutive conclusive reading of the same kind actually flags. Any clean or unreadable pass in between resets the streak to zero, so two stale readings days apart can never add up to a flag. The pending marker is stripped from every external export, so an unconfirmed probe cannot be quoted as evidence against you in a proof certificate, a dispute record or the admin console.
2. A probe that could be our own fault is never evidence. Every pass first proves that the platform's own monitoring chat can actually receive a message. If it cannot β the chat misconfigured, the bot removed from it β the whole integrity sweep suspends itself for that pass rather than reading its own misconfiguration as "every post on the platform is gone". Measurement carries on; blame does not. An ambiguous chat-level error is re-checked against the source before it is believed, because the same error text is what Telegram returns when our side is broken or when you merely renamed your public handle.
3. A pin the platform failed to apply is recorded as the platform's fault. When auto-post publishes a pin-extra placement but Telegram rejects the pin, that outcome is written onto the order. The monitor re-attempts the pin and is barred from ever converting that missing pin into an "unpinned early" flag on your account.
On top of those: a network blip, a rate limit or any reading that could not be completed is retried on the next pass; only a definite unpin of the ad itself counts, so pinning another message above your ad is not an unpin; a link the monitor cannot parse is skipped rather than guessed at; and a flag fires once per placement.
It was once the whole story. It is not any more. Pinning or publishing something above a running ad does not trigger the β1.50 unpin flag β but if you do it inside the format's opening window it is an exclusivity breach, and that carries its own β0.40. The two checks ask different questions, and only one of them is about pins.
These three rules are the difference between "we might flag you on a bad network day" and "we cannot". They are also why the score is worth trusting when it says something did go wrong.
What a flag doesβ
If the monitor confirms the post deleted or the channel unreachable β or, on a legacy pinned-run format that sold its top hours as a pin, that pin removed:
- Both parties are notified. Yours reads "A placement was flagged automatically" and names the problem. It links straight to your bookings queue.
- Your payout is paused, never reversed. The funds stay in escrow. Claiming returns "We've flagged a problem with this placement β the payout is paused until it's resolved."
- Your reliability drops by 1.50, once.
- Any good-faith deposit is forfeited to the advertiser where the failure stands β to the injured party, not to the platform.
- The advertiser is told their funds are still held and that they can raise a concern.
Once the promised duration has fully run, monitoring stops and you are free to remove the post.
What removing a bought pin doesβ
A pin the advertiser paid the pin extra for is handled as its own, lighter event β the ad is still standing and still being read, so it is not a flag. After two consecutive readings that the ad is no longer pinned (one misread never costs anyone money):
- The pin price is deducted from this booking's payout, straight away β the pin share you had not earned, plus the platform's fee on it. You are told "A pin was removed before the campaign ended". This part is settled and a later re-pin does not reverse it.
- The advertiser is told straight away that the pin is coming back, and the whole pin price reaches their wallet when the campaign finishes, or within 48 hours β whichever is sooner β held until then, so our team can hold it, release it early or reverse the whole settlement if the unpin turns out not to have been your doing. A hold expires after 48 hours on its own.
- Your reliability does not move yet. The β0.75 is held back: re-pin the post and leave it pinned to the end of the run and no mark is ever recorded. If the campaign ends with the ad still unpinned, it is recorded then. See Prices and offers.
- The placement itself is unaffected: it is not paused, the deposit is not forfeited, and it pays out as normal.
Every one of those notices reaches you the way every other order event does β the bell, your email and a Telegram message, following your own notification settings β and not only the Paid Promotions feed. Money moving on a booking is not something you should have to be looking at a panel to find out about, and neither is a reliability mark you still have time to avoid.
A pin the platform itself failed to apply, or released on schedule at the end of the run, is never charged to you. Full detail in Prices and offers.
Check two things first: that @OnflowAdsBot is still an administrator of your channel β removing it makes the channel unreadable β and that the link you submitted points at the ad message rather than some other post. Then contact support from the flag notification, quoting the booking's OFO-.
Delivery metricsβ
On the same visits the monitor samples the post's real views, forwards and reactions, plus the taps, joins and landings the advertiser's links produced. Samples are taken at a fixed ladder of ages β 1, 3, 6, 12, 24, 48, 72 hours, then 7, 14 and 30 days β dense early and sparse later, because view counts are steeply front-loaded and evenly spaced samples would spend most of their effort re-measuring a flat tail.
The peak reading is kept, not the latest: Telegram's counts only climb, so a lower later reading is a failed measurement rather than a real decline, and letting one bad sample shrink a delivered number would erase reach you have already been paid for.
That builds the delivery report both sides see on the booking: delivered views, delivered against the channel's advertised average as a percentage, real cost per thousand views, and click-through rate.
The delivery report, the Performance Passport and the proof certificate all obey the same rule. A blank means "we could not measure this", which is a different claim from "this was zero" β and the difference matters when one of them is quoted at you.
These witnessed numbers are what power your Performance Passport (see Promoting your listing) and what a guaranteed-views placement settles against.
Verified Delivery Insurance β the flip sideβ
An advertiser on the Elite plan or above books insured placements: when the monitor flags a failure, the buyer is refunded automatically without opening a dispute and without arguing with you.
What actually happens, and on what timetable:
- The flag has to stand for at least 30 minutes before any money moves. That delay is deliberate defence in depth for an irreversible refund.
- The buyer is refunded the whole charge.
- The buyer also receives a goodwill service credit of 10% of the refund. It is funded by Onflow Ads and never billed to you β it is non-withdrawable store credit, not cash.
- Your good-faith deposit is forfeited to the buyer.
- The booking moves to refunded and closes.
For you, the consequences are the flag's consequences and nothing more: the 1.50 reliability penalty and the forfeited deposit. One failure, one penalty.
Your reliability scoreβ
Every Onflow Ads account has one reliability score, from 0 to 10, shared across every product. Everyone starts at 8.0. It moves only on concrete events.

Plus plan Β· Advertiser. One score, every product. The chips underneath are the floors each marketplace requires β Paid Promotions needs 4.0 or more before you can accept a booking.
The events that move it on the selling side:
| Event | Change |
|---|---|
| Completed a placement cleanly | +0.20 |
| Let a booking offer expire unanswered β ghosting | β0.30 |
| Posted over an ad inside its opening window | β0.40 |
| Removed a pin the advertiser paid for, before the run ended | β0.75 |
| Accepted but did not post within the window, cause yours | β1.00 |
| Monitor flagged the post β removed early, or the channel gone | β1.50 |
| A fraud concern against you was upheld | β2.00 |
The β0.40 is the lightest of the delivery penalties on purpose, and it is the only one with no money consequence at all: no payout is paused, no deposit is forfeited, and the placement keeps running. It exists so the ladder can say that posting over an ad is a smaller wrong than deleting it.
Five things that are not penalties: a missed window caused by a platform or Telegram failure, a make-good paid out on a view guarantee, an exclusivity verdict of unknown, a booking you or the advertiser cancelled before it was posted (full refund, deposit returned), and a request declined for you because you were under review or below the floor. None of them touches your score.
What the score affects:
- Accepting bookings requires at least 4.0. Below the floor you cannot accept new work, though you can and should finish work already in flight. A request that reaches your queue while you are under the floor β or under review β is declined for you at once and refunded in full, with no ghosting penalty; the advertiser sees "The channel owner is temporarily unable to accept bookings."
- Your marketplace fee, only through the veteran streak. The rate itself never follows the score: the standard rate is 9% for every account, and once one of your channels has completed 100 clean campaigns the veteran rate is 7% on every payout to your account. "Clean" is counted from your most recent reliability penalty, so a penalty restarts that count from zero; a penalty later overturned on appeal is marked forgiven and does not interrupt it, so the streak is restored by itself. The rate applied to each booking is printed on its card. See What you are actually paid.
- It is visible on your Performance Passport and on your desk, and it factors into how buyers read your channel.
How a damaged score healsβ
Recovery is automatic, and deliberately slower after a serious offence than after a small one β a permanent punishment only makes people open a new account, but a serious breach must not launder itself back to neutral at the speed of a missed reply.
| Worst recent unforgiven penalty | Clean stretch required first | How fast it then heals |
|---|---|---|
| Ghosting, or another mark under 0.50 | 14 days | 0.10 a day |
| A mark of 0.50 to 0.99 β for example a rejected fraud concern you raised | 21 days | 0.07 a day |
| A missed delivery (1.00) or a monitor flag (1.50) | 30 days | 0.05 a day |
| An upheld fraud concern (2.00) | 45 days | 0.03 a day |
Four more rules govern it:
- Healing happens at most once every 20 hours per account, so the rates above are a ceiling rather than a promise.
- It never crosses 8.0 on its own. Anything above the baseline has to be earned by delivering.
- An unforgiven upheld fraud caps recovery at 6.0, and that ceiling decays back to 8.0 across 90 days β so Trusted cannot be re-reached the month after a fraud.
- A frozen or under-review account does not heal at all while the freeze stands.
A penalty that is later reversed on review stops throttling recovery entirely, and your score is put back exactly as it was.
Answer every request before its deadline β 24 hours, or the ad's go-live on a short-notice channel β and declining is free; only silence costs. Post inside the window. Keep the channel quiet for the format's opening hour or three. Leave the post up, unedited, for its full promised duration. Do those four and the score only goes up.
The complete published rules β every penalty, every credit, the healing schedule and how to appeal a mark β are on your reliability page at https://onflowads.com/telegram/dashboard/reliability and in Reliability score.
If something goes wrongβ
| What you see | What it means | What to do |
|---|---|---|
| "A placement was flagged automatically" | Two consecutive conclusive readings found the post gone, the channel unreachable, or β on the legacy pinned-run format only β its pin removed. A bought pin is never this: it has its own, lighter settlement | The bot published the post β if it is gone and you didn't remove it, contact support from the notification with the OFO- at once |
| "A pin was removed before the campaign ended" | The bought pin is off. The pin money has been taken from this booking's payout; no reliability mark has been recorded | Re-pin the post and leave it pinned until the run ends β then no mark is recorded at all. The money does not come back either way |
| "Pin restored β no reliability mark" | We saw the re-pin on two consecutive readings and the mark is waived | Nothing. Leave it pinned until the campaign ends |
| "The pin came down again" | It was re-pinned and then taken down again. The mark is back on the table | Re-pin it before the run ends. No further money is taken β the pin was already returned in full |
| "A reliability mark was recorded for an early unpin" | The campaign finished with the ad still unpinned | Nothing to undo now. Appeal it if the reading was wrong |
| "Your channel posted during an ad's exclusive window" | Something else was published in the channel before the format's opening window closed | Nothing to undo. It cost 0.40 reliability and no money; the ad is still running. Schedule around the window next time |
| Your score dropped 0.40 and you never deleted anything | That is the exclusivity penalty, not a monitor flag | Check the notification: it names the number of posts and how far into the window the first one landed |
| A flag on a post that is visibly still up | Usually the bot has lost access to the channel | Re-add @OnflowAdsBot as an administrator, then contact support with the OFO- |
| A flag on a placement the platform itself failed to pin | Should be impossible β that outcome is recorded as ours | Contact support immediately with the OFO-; you should not be carrying that penalty |
| A pin that never landed | The platform attempted it and Telegram refused, usually because the bot has no Edit Messages of Others right | Add the right β the monitor retries the pin on every pass, and the failure is recorded as ours, never yours |
| "Your reliability is X/10 β you need at least 4/10 to accept bookings." | You are under the accept floor | Deliver work already in flight, then wait out the clean stretch above |
| Your score has not moved in weeks despite clean work | Recovery needs a clean stretch first, heals at most once a day, and never crosses 8.0 | Check the table above against your last penalty; a wallet freeze also stops healing entirely |
Relatedβ
- Submitting proof of delivery β the link the monitor visits, and the signed archive.
- Disputes β the seller's side β the human review a flag is not.
- The view guarantee β the one under-delivery that costs you nothing.
- Reliability score β the published rules in full.