Skip to main content

Orders and Campaigns

Everything you have booked lives at https://onflowads.com/telegram/dashboard/paid-promotion/orders β€” the Campaigns pill. The page's own lede states the rule it runs on: "One checkout = one campaign. Every number below is measured by our monitor β€” never self-reported by owners."

This page covers the life of an order from payment to payout. The evidence a delivered order carries is on Tracked links and delivery proof; the escalation path is on Raising a dispute.

The β€œYour campaigns” page with the Campaigns pill highlighted in the advertiser navigation bar, a β€œ+ New placement” button top right, the subtitle β€œOne checkout = one campaign. Every number below is measured by our monitor β€” never self-reported by owners”, and two campaign cards, each headed with its date and placement count, carrying Export CSV and a greyed β€œPDF report Β· unlocks on Elite” chip, and a row of figures for spend in escrow, measured reach, blended CPM, CTR and joins

Plus plan Β· Advertiser. The Campaigns page with two campaigns on it. Each checkout becomes one card, with its own placements listed underneath it and blended figures measured across only the lines that have been measured.

Before you start​

  • Advertiser role required. A channel-owner account is redirected to the Paid Promotions hub; owners manage their side on the Bookings page.
  • Every campaign carries an OFP- reference and every placement inside it an OFO-. Quote the OFO- whenever you mean one specific post.

How the page is laid out​

Top to bottom:

  1. One campaign card per checkout, with that campaign's order rows underneath it.
  2. A Placements section for any orders that do not belong to a listed campaign.

A + New placement button sits in the header.

Campaign cards​

Each card summarises one checkout:

CellWhat it is
Total spendWhat you paid for this campaign β€” held in escrow until each placement is released, then paid out
Measured reachTotal monitor-measured views across its placements
Blended CPM Β· N of MComputed from measured lines only, labelled with how many of the campaign's orders are measured
CTR Β· tapsUnique taps on your ad's links against measured views β€” every link is counted, a Telegram one included; see links and results
Joins Β· invite linksMembers who joined your connected channel through this campaign's invite link, as Telegram attributes them

Below those: a Measured views per channel bar chart once at least two placements are measured, a Links & results block listing that campaign's counted links β€” taps for every link, joins too for a link into your own channel, landings for a web page that carries the Onflow tag β€” with a Click analytics button for the whole campaign and Details on each link, both opening the click analytics panel, and the export chips.

The export chips are either live links or greyed labels: Export CSV β†— or Export CSV Β· locked, and PDF report β†— or PDF report Β· unlocks on Elite. See Analytics and reporting.

Blank is never zero

Blended CPM is divided by measured views only β€” mixing an unmeasured line's spend into the numerator while its views are absent from the denominator would overstate the number. A blank metric or a Measuring… badge means not measured yet, never delivered nothing.

Order status badges​

Every order row carries one badge. These are the exact strings and exactly what each means:

BadgeWhat it means
AWAITING ACCEPT Β· <countdown>Paid and in escrow. The countdown runs to the owner's real deadline: 24 hours after you booked, or the ad's go-live when you booked a slot that starts sooner than that
SCHEDULED Β· <date>The owner accepted; the post is waiting for its slot
LIVE Β· verifying <countdown>The post is published and your verification window is still open
LIVEThe post is published and the verification window has closed
LIVE Β· pinnedThe same, on an order that bought the pin β€” the pin extra or the 7 days in feed Β· pinned throughout format. See below
RELEASED βœ“The placement ran clean and the funds went to the owner. Complete
DECLINEDThe booking failed on the owner's side. Refunded in full, automatically
CANCELLEDYou cancelled it
REFUNDEDThe money came back β€” delivery insurance or an upheld dispute
NEW PRICE (blue, alongside)Legacy only: a counter-offer sent before counter-offers were retired β€” see Counter-offers
DECLINED covers four different failures

The badge is derived from whether the order carries a decline reason, not from who acted. All four of these render as DECLINED, and all four refund you in full and automatically:

  • the owner actively declined your booking;
  • the owner never answered inside the accept window ("The channel owner did not respond in time.");
  • the owner accepted and then did not post within the agreed window ("The owner did not post within the agreed window.");
  • the owner could not accept at all β€” they are under review or below the marketplace's reliability floor β€” so the platform declined it for them at once rather than leaving your money waiting on a deal that could not proceed ("The channel owner is temporarily unable to accept bookings."). Nobody's reliability changes.

The reason line inside the order's timeline is what tells them apart. CANCELLED β€” with no reason line β€” means you cancelled it.

When the Campaigns page says "pinned"

The word pinned appears on the Campaigns page only for an order that bought the pin: the pin extra, or the 7 days in feed Β· pinned throughout format. On such an order the badge reads LIVE Β· pinned and the timeline step reads Posted & pinned; on every other booking they read LIVE and Posted, because nothing was pinned β€” the hours at the top are top-of-feed exclusivity, not a pin.

The expanded order​

Press Details on any row. Live orders expand to a five-step timeline:

  1. Booked & held in escrow β€” with the time you booked.
  2. Accepted by owner β€” with the time, or "waiting Β· <time left>".
  3. Posted β€” with the publish time, or the scheduled slot. On an order that bought the pin it reads Posted & pinned.
  4. Delivery measured β€” with the measured views and real CPM once final, or "our monitor watches the post".
  5. Funds released to owner β€” with the time, or "after the promised duration runs".

A declined, cancelled or refunded order shows a two-step history instead: Booked, then the outcome with its reason.

Under the timeline, an action chip row. Which chips appear depends on the order's state:

ChipWhen it appears
πŸ”— View live post β†—Once the post is published β€” opens the actual Telegram post
Delivery proof Β· <date>Once a proof archive exists. Expands the frozen, signed evidence trail
Open a dispute Β· <48h SLA or queue-ordered>While a dispute may still be raised
Cancel booking Β· N% feeWhile the order is AWAITING ACCEPT or SCHEDULED
Dispute Β· open Β· resolves <countdown>While one of your disputes is under review
🚩 Report channelFrom the moment the owner holds the booking β€” every stage after AWAITING ACCEPT. Before that the faster remedy is Cancel, which is on the same row

Orders with delivery data also show a meter: measured views against promised views.

What a published placement offers

Four actions: open the live post, open the delivery-proof archive (optionally asking AI what it proves), raise a dispute, and 🚩 Report channel. Everything else is the monitor's job β€” you never have to confirm anything for a delivery to count, and the Cancel booking chip is gone by then because the slot has already been spent.

An expanded order on the Campaigns page: the channel β€œOnflow Ads Three”, a SCHEDULED badge, the five-step lifecycle timeline with Booked, Accepted and Posted marked, and an action chip row underneath reading β€œπŸš© Report channel” and β€œCancel booking”

Plus plan Β· Advertiser β€” an order expanded to its action chips. 🚩 Report channel sits with the rest of them, and it names the side being reported rather than saying Report campaign to both parties.

Dispute or report?

A dispute is the money mechanism: a published clock, both sides' evidence, a verdict that moves funds. 🚩 Report channel is the safety mechanism: a human case about delivery, the audience, or the owner's behaviour, which can also move money but runs on no fixed clock. "I paid and did not get what I paid for" β†’ dispute. "This shouldn't be allowed" β†’ report. Both is fine. The reasons you can pick, and what the form promises, are on Reporting a campaign.

While the post is live​

The delivery monitor re-checks that your post is still there for its promised in-feed duration β€” and, on an order that bought a pin, that it is still pinned β€” and samples views, forwards and reactions across the run. The check cadence is your plan's, and it is frozen onto the order at purchase β€” a plan change later cannot downgrade a protection mid-placement.

The monitor does not police the hours at the top

The "N hours at the top" half of your format is top-of-feed exclusivity, not a pin, and it is checked by a different mechanism β€” one retrospective read of the channel's history after the window closes. See below.

PlanMonitor re-check, no more often than
Free60 min
Lite60 min
Plus30 min
Elite15 min
Master10 min
Ultimate5 min

A monitor flag pauses the release to the owner. See Escrow and buyer protection.

If the owner posts over your ad​

Five minutes after your exclusive window closes, the platform reads the channel's history once and checks whether anything newer than your ad went up inside it. Your own album's other photos and Telegram's service messages do not count; another post does.

On a confirmed breach you are notified, under the title "Your ad did not get its full time at the top". The item names the channel, says how many posts went up and how far into the window the first one landed, and adds: "We have recorded it against the channel. Your ad is still running for its full booked duration."

What happensWhat does not
The owner loses 0.40 reliability, onceNothing is refunded, and no discount is applied
Both parties are notifiedThe payout is not held
The verdict is recorded against the orderYour placement keeps running for its full in-feed duration
The notification is the only place this appears

No page renders the verdict β€” not the order row, not the timeline, not the proof archive, not the campaign rollup. Once you dismiss the notification there is nowhere on the dashboard to read it back, so keep it or quote the OFO- to support.

Do not raise a dispute about it

None of the four dispute reasons covers "the owner posted over my ad", and reaching for the nearest one is expensive: a concern the review finds unfounded costs βˆ’0.5 reliability. The breach is handled without you, and it carries no money remedy because your ad still ran. See What you are actually buying.

The verification window​

After your post goes live you get a window to inspect it and raise a concern. It runs from publication for the ad's own promised in-feed duration, capped at 48 hours β€” so a 24-hour format gives you 24 hours and a 7-day format still gives you 48.

While it is open the badge reads LIVE Β· verifying with the countdown. Doing nothing is a clean delivery: the placement is judged delivered when the window closes and you never have to click anything. You can still dispute for up to 14 days after delivery.

Cancelling a booking​

Cancel from the expanded order. What it costs depends on the stage.

StageWhat happens
AWAITING ACCEPT β€” the owner has not acceptedWithdrawn and refunded in full. No fee, no reliability cost
SCHEDULED β€” accepted, not yet postedCancelled and refunded in full. The owner's good-faith deposit is returned, and nobody's reliability changes. The owner can cancel on the same terms from their side; you are told, and the refund lands in your wallet at once
LIVE or laterRefused: "This ad is already live β€” it can no longer be cancelled."

The chip arms into a confirm that states the exact amount β€” "Confirm Β· full refund $X" β€” and nothing happens until you press it a second time.

Cancelling before go-live never costs reliability

There is no fee and no "abandoned booking" penalty at either stage: whether the owner has accepted or not, a cancellation before the post is published is a full refund and nobody's reliability changes β€” the owner's good-faith deposit simply goes back to them. The only thing you cannot do is cancel a placement that has already run.

Cancelled placements never burn quota

Cancelled and refunded bookings do not count against your plan's monthly placement allowance.

Counter-offers​

Counter-offers are retired: a channel's rate card is the price, and an owner answers a booking by accepting or declining it at that price. The rest of this section only applies to a counter that was sent before the retirement and is still waiting on your answer.

An owner used to be able to answer a pending booking with a different price. The order gains a blue NEW PRICE badge, stays expanded so you cannot miss it, and shows a panel: "The owner proposed a new price: $X", with their note in quotes if they left one, and the line "Accepting adjusts your wallet by the difference and confirms the booking. Declining keeps your original request."

  • Accept $X β€” the difference is settled against your wallet. A higher price is debited; a lower one is refunded. The order re-prices and flows straight through the owner's normal accept path, which usually confirms it immediately. If your wallet cannot cover a higher price you are told the shortfall and nothing changes.
  • Decline β€” the counter is rejected and your original booking stands. The owner can still accept or decline it as you booked it.

The accept countdown keeps running throughout: an unanswered booking still auto-refunds when the window lapses.

Repeating placements​

A campaign that worked can book itself again on a schedule. Included from Plus.

The offer is made once, on the receipt you get straight after a checkout, because that is the only moment that holds all three things a rule needs: the exact channels you booked, the ad post they ran, and a real figure to seed the cap. It reads πŸ” Book this again, automatically, with a repeat interval (Every week, Every 2 weeks, Every month), a Cap per run already filled in with the total you just paid rounded up, and Start repeating.

There is no AI in this. It does not pick channels, suggest times or re-write anything β€” it repeats exactly what you booked.

How a run works​

Each run goes through the same checkout, the same escrow and the same owner accept as anything you book by hand. It schedules itself at your channel's lead time, prices at whatever the rate cards say that day, and debits your wallet as a normal booking. Every run books under its own key, so a sweep that retries after a crash replays the original booking instead of charging twice.

The cap is a reversal, not a trim​

The price of a run is not knowable until the run is priced, so the cap is checked after. If the run came out above it, the whole booking is reversed β€” not trimmed to fit, not partly placed:

  • every line is cancelled before any owner sees it,
  • the full amount goes back to your balance as non-withdrawable credit, exactly like every other Paid Promotions refund (spendable anywhere on the platform, not cashable out),
  • you get a notice naming the price, your cap and the amount returned,
  • the rule stays on and tries again next period, unless it has now failed too often.

Nothing runs and nothing is charged. Raise the cap if you want that run to go ahead next time.

Watching, pausing and removing​

Rules appear under Repeating placements at the bottom of this page, each showing its channels, interval, cap, how many runs it has made, and when the next one is due. Each carries two buttons:

ControlWhat it does
Pause / ResumeStops or restarts future runs. Anything already booked is untouched. Resuming also clears the failure count
RemoveArms in place to Confirm Β· remove this rule. It stops every future run and cannot be undone, so it takes the same two-step as a cancel chip

A rule that could not book says why on its own row β€” "Last run didn't book: This run priced at $161.00, over your $150.00 cap." β€” and carries a gold Retrying pill instead of Active. That line matters more than it looks: a rule between runs and a rule that died look identical from the outside, and the first you would otherwise hear of it is your channels going quiet.

After repeated failures the rule pauses itself and tells you, rather than generating a notice every period for something you cannot fix by waiting. It also stops itself outright if the saved ad post was deleted, or if repeating placements are no longer included on your plan.

If something goes wrong​

What you seeWhat it meansWhat to do
The accept countdown ran out and nothing happenedAuto-decline and auto-refund run on a background sweepThe refund lands moments after the window lapses and the badge flips to DECLINED. Your notification centre records it
The badge says LIVE but you cannot find the postBusy channels scroll fast, and once the exclusive window has closed the ad sits in ordinary feed order β€” it is not held at the top, and on most bookings it is not pinned eitherUse πŸ”— View live post β†— rather than scrolling. If its target is genuinely gone, that is what the monitor watches for β€” and what a dispute is for if it slips through
Measuring… on a placementThe monitor is still samplingNothing to do. Views are sampled across the promised duration; blank means not measured yet
A campaign card shows a blank CPMNo line in it is measured yetWait for the run. The card labels how many of M orders are measured
Export CSV Β· locked / PDF report Β· unlocks on EliteYour plan does not include that exportUpgrade, or buy that one campaign's exports β€” see Analytics and reporting
"This booking can't be cancelled β€” it may already be resolved."The order already left a cancellable stateRefresh. If it is live, the dispute path is what remains
"This ad is already live β€” it can no longer be cancelled."The post is publishedA placement that has run cannot be un-spent
"We couldn't reach your campaigns just now" with RetryA display problem, not a marketplace oneYour bookings and escrow are untouched. Retry
"A repeating run was reversed β€” it priced over your cap"A repeating placement came out above its ceiling and was undone wholeNothing was charged and the refund has already landed. Raise the cap on the rule if you want that run to go ahead next period
"Your repeating placement has stopped"The rule failed too many times, lost its ad post, or is no longer included on your planThe notice names the last reason. Fix it and press Resume, or Remove the rule

FAQ​

Can I change the schedule or the creative after paying?​

No. Both are frozen into the booking β€” that is exactly what the delivery-proof archive later verifies against. Cancel under the rules above and rebook. The owner sees your slot in their own local time automatically, so there is nothing to coordinate.

One channel declined and the others did not. What happens to my campaign?​

Each owner accepts or declines independently. The declined line refunds on its own while the rest of the campaign proceeds, and the campaign card's numbers cover the lines that ran.

Where do my Paid Promotions notifications appear?​

In the site-wide notification centre β€” accepts, declines, refunds, price counters and dispute outcomes all land there.

From the support chat

Ask the assistant to confirm delivery of my order OFO-… once the post is up and it proposes the confirmation that pays the owner; cancel my order cancels one that has not been published; dispute my booking because … raises a concern with your reason. Each waits for CONFIRM. What the assistant can do for you has the full list and the confirmation rule.