FAQ and Troubleshooting
Short answers to the questions that come up most, grouped by where you hit them. Each links to the page with the full detail.
General
Does cross-promotion cost anything?
No — swaps are free. You trade reach, not budget. A handful of optional extras exist, and they are listed in one place on Add-ons and extras; the swap itself, partner vetting and results never cost anything.
Do I have to post anything manually?
No. Once both posts are built and approved, our bot publishes them into both channels at go-live and removes them at the end automatically. You get a DM when the campaign is scheduled confirming there is nothing more to do. See Creatives.
Why does the bot need to be an admin of my channel?
So it can publish your partner's post into your channel at go-live and remove it afterwards. Every flow that fetches a channel — create, join, directory listing, Blitz claim — checks it and walks you through adding the bot.
Can I use a private channel?
No. Only public Telegram channels with an @username can be cross-promoted. A campaign will not even queue for delivery if either channel lacks one, and the campaign page names which side is missing it.
Is there a minimum subscriber count?
Not by default — cross-promotion ships with the floor switched off. Onflow Ads can turn one on, and if it is ever active, every create, join, Blitz claim and directory listing below it is refused with "Cross-Promotion channels need at least N subscribers. This channel has M."
What's the code format?
OFCP- followed by three digits and then four, e.g. OFCP-704-2318. Entry is forgiving — case, spaces and dashes do not matter, and after the prefix it is digits only, so there are no ambiguous letters. More in Manual promos with CP codes.
Codes and joining
My partner says the code doesn't work
- The code may have expired — unused codes die 24 hours after creation. Create a fresh one; it costs nothing.
- Someone else may already have joined — codes are one-time.
- Make sure they are entering it on the join page in their dashboard. That is the only place a code is redeemed.
The full message table is on Joining a campaign.
I entered my own code
Codes are for your partner. Share it with them; you manage your side from the campaign page.
"Joining is paused for now" — why?
You joined campaigns and never confirmed, so they were released back to their creators. After three of those, joining pauses for 48 hours. The message shows exactly when it reopens, and you can still create your own campaigns meanwhile. Each of those ghosted joins also cost −0.30 on your reliability score. See Anti-ghost protections.
A campaign I joined shows "Expired"
If you attach a channel but do not confirm for 48 hours, the campaign is closed automatically so the creator is not held hostage. Confirm — or propose changes — promptly after joining.
Can I cancel a campaign my partner created?
Yes. Once a partner has joined, either side can cancel, right up until the bot starts publishing. You do not need the creator's agreement. The other side is told by DM and email. See Cancelling.
Scheduling
How far ahead can I schedule?
Any time within the next 14 days, in your own timezone, and the time must be in the future.
The go-live time has passed — what now?
- Accepting an elapsed go-live is refused. Use Propose changes to agree a new one.
- Proposing a new time on a confirmed campaign is allowed even after the agreed moment has passed — that is exactly the case the feature exists to rescue. Both sides keep the posts they already built.
See When a time has already passed.
Can we change the time after confirming?
Yes. Either side presses Propose new time; the other accepts or declines. A declined proposal leaves the original schedule untouched. Full flow in Schedule proposals.
Limits and plans
How many campaigns can I run?
Free 5, Lite 15, Plus 30, Elite 60, Master 120, Ultimate unlimited — per calendar month, counting initiations only. Joining is never capped on any plan. Campaigns that never ran — expired, cancelled, or released because the partner ghosted — do not count. Auto-minted recurring rounds do count.
I hit my monthly cap — options?
The message names your plan, your usage and the plan that raises the limit. Nothing buys you an extra initiation, so the two routes are to wait for the reset on the 1st or to upgrade. Joining and accepting stay unlimited on every plan, so a cap never stops you swapping — only from being the one who starts it.
What do higher plans add?
A larger or unlimited monthly allowance, a bigger completion reward, the bundled campaign-insurance benefit from Elite up, a discount on the two placement purchases, and Blitz on Master and Ultimate. Three things change the post itself: more inline buttons at every rung (Lite 1 through Master and Ultimate 4), and from Plus upward both coloured buttons and a channel that carries ads with no attribution line. The full ladder is in Rules and fairness.
What exactly is the "completion reward"?
Non-withdrawable boost credit, not cash — Free $0.00, Lite $0.10, Plus $0.25, Elite $0.50, Master $0.75, Ultimate $1.00 per clean completion, capped at 30 paid completions a month. It is paid only to the campaign's creator, by the website's reward sweep once the bot has marked the completed run clean. Joining someone else's campaign earns nothing.
Posts and delivery
What can a post contain?
Rich text — bold, italic, underline, strikethrough, spoiler, inline code, quotes and links — plus one optional photo (PNG, JPEG, WebP or GIF, up to 2 MB, posted above the text), plus inline link buttons on paid plans. Video is not supported. Formatting markup does not count against the character limit. Full detail: Creatives.
Why does the composer stop me at 991 characters?
The post's ceiling is 1,024, and 33 of them are held back for the attribution line — advertisement via onflowads.com (31 characters, after a blank line). So the counter reads N / 991 and the note under the box says why. Write to 991. See the character budget.
How many buttons do I get?
Free and Referral Premium: none — the composer shows one locked Inline buttons row. Lite 1, Plus 2, Elite 3, Master 4, Ultimate 4. The label box takes up to 48 characters. From Plus upward each button also gets a Colour control — default, blue, green or red, one colour per button. See Colouring a button.
Can I link to my website?
Only with the $1 External Links add-on, bought from inside the composer's 🔗 dialog. Without it, public Telegram links work on every plan and private Telegram invite links work on Lite and above; everything else is refused. See What links are allowed.
Can I attach a photo on the free plan?
Yes. Every plan can upload one photo per post. What is plan-gated is generating one with AI — that is Master and Ultimate only. A Blitz post carries no photo on any plan.
Can AI write the post for me?
Yes — Write with AI in the 1:1 composer opens Draft your cross-promotion post, a popup with three tabs: Generate, Refine and Image (Master and Ultimate). A result is previewed inside the popup and only Apply to my post puts it in the editor; you still have to press Save post. Neither Blitz composer offers it. All of it spends the shared AI allowance, and a failed action is refunded. See Writing with AI.
My partner's post isn't appearing for review
They have not built it yet — the page says "Waiting for your partner to build their post." They get DM nudges too.
I approved, but the campaign isn't Scheduled
Delivery needs all of: a confirmed schedule, both posts built, both reviews approved, and a go-live no more than six hours in the past. If your partner edited their post after your approval, that reset it — re-approve the new version. If the campaign is stuck at Confirmed with a warning banner, read If your campaign was never queued.
What does "(auto)" next to an approval mean?
The review clock ran out and the post was approved automatically after 6 hours. An auto-approval binds exactly like one you pressed.
Why do the links in the delivered ad look different?
Every link takes one first-party hop — its own onflowads.com/rr/… short link — where the tap is counted before the reader is sent straight on: into your own connected channel through a campaign invite link, so Telegram counts the joins too; to any other Telegram address exactly as written; or to a web page carrying the campaign tags. Buttons, text links, and addresses and @handles typed into the text all get one. The review preview lists every real destination, which is what you should read before approving. See What gets posted.
Why does the ad say "advertisement via onflowads.com"?
That is the one attribution line Onflow Ads puts on the placements it makes, on every engine. One thing removes it: the plan of the channel carrying the ad. From Plus upward, ads delivered into that channel run with no line at all, whoever wrote them; on Free, Referral Premium and Lite they carry it.
So if an ad in your channel is labelled, that is your plan, not your partner's. And there is no author-side switch — nothing you can set at submission removes the line from your own post, on any plan, because your post runs in your partner's channel and their plan decides. See What gets posted.
Can I delete my partner's post from my channel before the run ends?
You can, and it is the move cross-promotion penalises hardest. The monitor checks every 30 minutes, needs two consecutive conclusive checks before it concludes anything, and then records the finding; the website docks 1.50 reliability points from the side that removed the post — the score that gates what you can start across the whole platform — usually within a minute. Leaving your partner's channel before the run ends is caught the same way and costs 1.00. Wait for the end; the bot removes both posts itself.
My partner deleted my post early — what happens?
The monitor catches it without you reporting anything. Your partner takes the penalty; nothing counts against you, and your results page says so in a banner. If your partner had declared campaign insurance cover, the website moves that declared figure from their wallet into yours — once, with no claim to file. See When a post came down early.
Results
When do results appear?
Ad-open counts and proof links appear from go-live and update during the run. Subscriber-gain tiles appear once the campaign completes, because the closing snapshot is taken at the end.
Why is there no subscriber-gain number?
The member count could not be captured for that channel at go-live or at close. The tile is hidden rather than showing a wrong number. Remember the gain includes organic growth, not only the swap, and can be negative.
The campaign says "Did not run" — did I lose anything?
No. The engine will not run half a campaign: if it cannot publish both ads it takes down the one it did post and calls the run off. Nothing stayed live, nobody is penalised, and no allowance was spent on a partner you kept. Check the bot is still an admin of both channels and run a fresh one.
I can't rate my partner
Ratings open only once the campaign reaches Completed, one per side. A swap that was cancelled, expired or never ran has no rating box. See Ratings.
Directory and requests
Why don't I appear in the directory?
Listing is opt-in — add your channel from the List my channel tab. If you removed it earlier it shows Hidden; press List again, then re-enter the pitch, which re-listing clears. See Discovering partners.
Re-listing wiped my pitch — can I get it back?
No. List again clears the pitch, and List on directory on the Portfolio page clears both the genre and the pitch. The old text is overwritten, not archived. Copy a pitch you care about before re-listing, and re-enter it from the List my channel tab afterwards.
How do I buy Featured placement or boost a request?
★ Feature — $X / 7 days sits on your own listing under Your listings; ⚡ Boost — $X sits on your own pending request on the Requests tab. Both are a two-step confirm and both are charged to your wallet, at your plan's discounted price — free on Ultimate. See Add-ons and extras.
My request expired
Pending requests expire after 72 hours with no decision. Send a fresh one. It costs no allowance — only a campaign that forms and keeps a partner spends a slot.
Does Featured placement improve my match score?
No. It buys position at the top of browsing, nothing else. Match verdicts, track records and ratings are computed identically for everyone.
Account standing
What score do I need?
5.0 out of 10 to start, join or accept a cross-promotion — stricter than Paid Promotions' 4.0, because no money sits in escrow. A brand-new account with no score is allowed through; only a concrete score below the floor blocks you, and the refusal names both numbers.
How do I raise my score?
Not through cross-promotion — finishing a swap cleanly leaves it exactly where it was. The score is raised by completed Paid Promotions deals (+0.20 as the owner, +0.10 as the advertiser) and by the clean-streak recovery that heals a below-baseline score over time. Cross-promotion can only cost you points, through the −1.50 early-removal penalty. See Reliability score.
Does ghosting cost reliability points?
Yes — −0.30 per ghosted join, applied by the website's sweep once per campaign, on top of a strike; three strikes pause joining for 48 hours. The innocent partner's score is untouched.
Who applies a penalty — the bot or the website?
The bot only records what it confirmed. The website prices every cross-promotion entry from its own published table — −0.30 for a ghosted join, −1.00 for leaving the partner's channel early, −1.50 for removing the post early — and writes it to your reliability ledger, usually within a minute. That is why a bot message says what was recorded rather than quoting a new score, and why every entry can be appealed from your reliability page.
Still stuck?
Contact support from your dashboard at https://onflowads.com/telegram/dashboard/support. Quote the campaign's OFC- ID rather than its join code — the ID identifies the swap without handing anyone the ability to join it.
Related
- Cross-promotion overview — the whole section, in reading order.
- Rules and fairness — every gate, limit and protection in one place.
- Add-ons and extras — every paid extra and where it is bought.
- Campaign results — the numbers, the proof links and the anti-cheat verdict.