Skip to main content

Running ads

Once at least one of your channels is hosting, you can run your own ad across the pool. This is the flow that grows your channel: your creative is placed in other members' channels, one at a time, spread across a 30-day cycle.

Hosting comes first

The exchange is reciprocal. If you try to create an ad before enrolling a channel, the page shows a Host first step instead: "The exchange is reciprocal: ads run in members' channels, so you need to be hosting before you can run one. Enrol a channel and agree to receive ads, and the advertising side opens immediately." Click Add my first channel and follow Getting started.

Before you start

  • At least one channel enrolled and showing Hosting.
  • Your plan's limit on ads running at once not already reached (2 on Free, up to 25 on Ultimate).
  • Your reliability score at or above the exchange's floor, and your account not cooling down after a strike. Both are shown plainly at the top of the exchange page.

Creating an ad

Open My advertisements and click Create an ad. The header shows your allowance ("Up to N ads at a time"). The builder has three steps.

Step 1 — Creative

Add an image or video, some text, or both. You can skip either one — but not both; an ad cannot be empty.

  • Image or video (optional). JPG, PNG or WebP up to 10 MB, or MP4 up to 50 MB. Click Choose a file to upload. Telegram also rejects images whose width plus height exceeds 10,000px or whose aspect ratio exceeds 20:1 — you are told immediately if that happens. Click Remove to clear an attachment.
  • AI image (optional). Type a description into the "Describe an ad image and let AI create it…" box and click Generate image. The result attaches exactly like an upload, and Remove switches back to a manual upload. Availability depends on your plan and your daily AI allowance.
  • Post text. The live counter shows the real Telegram limit as you type: up to 4,096 characters for a text-only post, or 1,024 when media is attached (the caption limit). The hint under the box changes to match.
  • AI copywriting (optional). Describe your channel or offer in the "Describe your channel and let AI draft it…" box and click Write my ad. The draft lands in the text box for you to edit: "Drafted — edit it to taste, then continue."
Free-plan ads carry an attribution line

On the Free plan your placement carries one extra clickable line below your content: "Advertisement by Onflow Ads". Paid plans (Lite and above) run clean, line-free placements. A little room for the line is reserved out of your character limit at submit time, so text sitting right at the cap may need a small trim.

Click Continue.

Tick Include link buttons to attach up to two tappable buttons — one above the post and one below. Each needs a label (up to 48 characters) and a link. Leave a slot completely blank to skip it; filling in only half of one is rejected with "Give the top button a label" or "…a link".

Telegram links only

Button links must point at Telegram. External websites are not allowed anywhere in the exchange — that is part of the promise made to every host that a placement cannot drag their subscribers to an arbitrary site. A non-Telegram link is refused with "Button links must point at Telegram."

Buttons are tracked: when someone taps one they reach our bot, which hands them your link straight away — and you get the click count in your metrics.

Click Continue.

Step 3 — Level and submit

  1. Topic. Required. Choose the topic that best describes the ad from the list — Education and Study, Tech and Gadgets, Crypto and Web3, Casino and Slots, and so on. Some topics carry a minimum content level, and the page says so as soon as you pick one: "This topic runs at level 4 or above, so only channels that opted in to it carry it."
  2. Content level. Pick the level the ad belongs to. It will only be placed in channels whose owners accept that level. Picking a level below your topic's minimum is refused, with the exact reason.
  3. Reach estimate. As you pick a level, the page estimates the pool: "About 1,240 channels currently accept level 2. Your ad spreads across them over the cycle." If nothing matches: "No channels currently accept level 5. A lower level reaches a wider pool."
  4. Targeting copilot (optional). Click it for an AI read on your eligible pool — how many of the level's channels currently match, plus advice. It uses one of your daily AI actions.
  5. Matching (optional). Higher plans see extra matcher controls: a Lookalike tick box ("favour hosts like the channels that performed best for you", Master and above) and, on Ultimate, an Audience-size match slider (from "very close in size" through "balanced" to "any size") plus "Also match closely-related topics". Everything defaults to neutral, so an untouched form changes nothing. If your plan does not include a control, a note underneath names the plan that does.
  6. How should this run? Choose Broadcast — reach the whole eligible pool (the default) or Swap — a direct 1:1 with one partner channel. Choosing Swap reveals a picker for the channel of yours that will host your partner's ad in return — see Swaps.
  7. Delivery boost (optional, broadcast only). A one-off paid upgrade for extra placements and priority, plus an optional Priority Review add-on. Prices and the exact effect on this campaign are shown in the form — see Delivery boosts. Credit-bought extra placements are chosen on this step too — see Spending credits on extra placements.
  8. Click Submit for review. If you selected a paid upgrade, you are asked to confirm the wallet charge first: "This will charge $X.XX from your wallet for the delivery upgrade. Continue?"

Review and approval

Submitting sends your ad to human reviewers — nothing runs until a person approves it. The confirmation tells you which queue you are in: "Your ad is with our reviewers. You'll hear back by email and on Telegram," or "…You're in the priority review queue."

Paid plans (Lite and above) always sit in the priority queue. On any plan, a Priority Review purchase puts that one submission there too.

Ad statuses

Each ad in My advertisements shows a badge:

BadgeMeaningWhat you can do
In reviewWaiting for a reviewer's decisionWhy?, Cancel
RunningApproved and in rotation across the poolWhy?, Cancel
DeclinedRejected in review — the reason is printed on the rowAppeal (once)
FinishedThe cycle completedNothing — start a new campaign
PausedTemporarily not being placedCancel

Rows also carry a Swap tag for swap campaigns, a badge naming any delivery boost you bought (with a star for Featured), and a Priority flag if you bought Priority Review.

Tracking performance

Running and finished ads show live metrics:

  • Placements — delivered so far out of this cycle's target.
  • Live now — placements currently up in channels.
  • Views and Clicks — totals across all placements.
  • Match — a 0 to 100% score of how well your actual placements fit your ad's topic and your own channel's size. It appears once there is enough data.

Broadcast ads also show a 30-day cycle timeline: a progress bar of placements this cycle, and either "Next drop [date]" or "Cycle finished". Placements are spread evenly across the cycle by design, roughly four days apart on the included cadence, so gaps of a few days are normal rather than a problem.

Totals only, by design

You will never see a list of which channels ran your ad. Per-channel breakdowns would identify the hosts, and host anonymity is one of the exchange's core promises — it is what makes owners willing to host at all.

"Why?" — the placement diagnostic

If you are wondering why an ad has not placed yet, click Why? on the ad row. The diagnostic walks the exact gates the scheduler walks, in order, and names the one holding things up. Each step is ticked or flagged:

StepWhat it tells you
In review"Your ad hasn't been approved yet — nothing runs until a reviewer approves it. Paid tiers are reviewed first."
DeclinedThe reviewer's reason, with a nudge to fix and resubmit.
Account standingWhether you are cooling down after a placement was removed early.
ReliabilityWhether your score clears the exchange's floor, and what to do if not: "Host ads and keep them up to earn it back."
Scheduled startIf the campaign has a future start date, when it begins.
Swap partnerFor swaps: "Waiting for a compatible partner channel to join," or "You're matched with a partner — both ads run together."
Matching channels"N of the M channels that accept level 3 match your targeting." If it is zero: "Nothing matches right now — widen your targeting or lower the level to reach more of the pool."
On the even schedule"N of M placements so far. Drops are spread across 30 days, never bursted — next one around [date]."
This cycle is complete"All N placements for this cycle are done. The next cycle reopens on the 30-day rhythm."

Click Why? again to close the panel.

Cancelling an ad

  1. Click Cancel on any ad that is in review, running or paused.
  2. Confirm: "Cancel this ad? Placements already live will finish their 24 hours."

What happens:

  • Future placements stop immediately, including any waiting for a host's review.
  • Anything already live finishes its full 24 hours. The hold applies to everyone equally, including you.
  • The exchange confirms: "Ad cancelled. Any placement already live will finish its 24 hours."
  • If nothing had delivered yet, everything you paid is returned automatically — credit-bought extra placements come back as credits, and a delivery-boost charge is refunded to your wallet.
  • If at least one placement had run, a mid-cycle cancel forfeits those purchases.

Cancelling frees a slot against your plan's limit on ads running at once, so it is also the fix for "Your plan runs N ads at a time. Cancel one before submitting another."

Appealing a decline

If an ad is declined and you believe the decision was wrong:

  1. Click Appeal on the declined ad row.
  2. Write a sentence or two the reviewer can weigh — at least 10 characters — in answer to "Why do you think this ad was wrongly declined? Our reviewers will read this and take another look."
  3. Submit. The exchange replies: "Appeal submitted — our reviewers will take another look and let you know."

The row then shows Appeal pending, and later Appeal accepted or Appeal declined. You get one appeal per ad; a second attempt is refused with "You've already appealed this ad — it's with our reviewers."

If the appeal is accepted, the ad is re-approved and starts running. Note that a declined ad's delivery-boost charge was already refunded at decline time, so a re-approved ad runs on its standard cadence — the paid boost is not reinstated.

On Elite plans and above, appeals are flagged for priority attention in the review queue.

Things that can stop a submission

MessageMeaningFix
"The exchange is reciprocal — add a channel and agree to host ads before you can run one of your own."No enrolled, active channelEnrol one — see Getting started
"Your plan runs N ads at a time. Cancel one before submitting another."You are at your plan's live-ad limitCancel one, or upgrade
"Add an image, a video or some text — an ad can't be empty."Nothing in the creativeAdd media or text
"That text is N characters; the limit here is M."Over Telegram's limit for this post typeTrim, or remove the media to get the longer limit
A topic-versus-level clashYour level is below the topic's minimumRaise the level to the one named
"Choose the topic that best describes this ad."No topic pickedPick one — it is required
"Button links must point at Telegram."An external linkUse a t.me link
Insufficient credits or wallet fundsA paid extra could not be chargedReduce the extras, or top up — nothing is charged when a submission fails

FAQ

How many channels will my ad reach?

Your plan's included placements per cycle: 7 on Free, up to 18 on Ultimate, plus anything you add with credits or a boost, and capped at 24. Each placement is a different channel. See Plans and limits.

Can I edit an ad after submitting it?

No. Cancel it and submit a corrected one — if nothing has delivered, your purchases come back automatically.

Why is my ad approved but showing zero placements?

Almost always the even spread: the next placement is simply a day or two away. Click Why? for the exact answer.

Can I choose which channels get my ad?

No, and deliberately so. You choose the level, topic and targeting; the exchange matches. Host anonymity is what keeps the pool supplied.


Next: Swaps — the other way to run an ad: one disclosed 1:1 trade with a single partner channel instead of a broadcast across the pool.