Swaps
A swap is the exchange's direct trade. Instead of your ad spreading anonymously across the pool, you are paired with one compatible partner: you host their ad in one of your channels while they host yours — both for a full 24 hours, both posted and removed together by the bot.
It is the same machinery as a broadcast campaign, pointed at one channel instead of many, with the anonymity deliberately dropped on both sides.
A swap has its own OFSW- reference and both partners see the same one, so if either of you needs to raise something about the trade you are pointing at the same object. It appears in the Why? diagnostic on the campaign row. See Your Onflow Ads IDs.
Before you start
- At least one channel enrolled and showing Hosting — the one that will carry your partner's ad.
- Room under your plan's limit on ads running at once. A swap consumes a live-ad slot exactly as a broadcast campaign does.
- Nothing else. Every enrolled channel already grants the bot the rights a swap relies on, so a swap adds no new requirements.
Broadcast or swap?
| Broadcast | Swap | |
|---|---|---|
| Reach | The whole eligible pool, spread over the 30-day cycle | Exactly one partner channel |
| Anonymity | Fully anonymous both ways | Disclosed — you each see the other's ad in your channel |
| Who posts | The bot, in matched hosts' channels | The bot, in both partners' channels, both or neither |
| Placement count | Your plan's cadence, plus anything you buy | One, on each side |
| Targeting | The whole step-3 panel | Not applicable — the panel is hidden |
| Delivery boosts and Priority Review | Available | Refused. The menu is hidden and any selection cleared |
| Speed to first placement | Usually days | Depends on a compatible partner offer existing |
| Host credits | Minted by carrying pool placements | A swap is a direct trade; its value is the promotion itself |
Choose a swap when you want a specific, mutual trade with a channel of roughly your own size. Choose broadcast when you want breadth.
Step by step
- Build your ad as usual — the creative, including its link buttons, on step 1; topic and content level on step 2. See Running ads.
- Step 3 is skipped in effect: the whole targeting panel disappears once you pick Swap on the next step, because a swap has no pool to filter.
- On step 4, How should this run?, choose Swap — a direct 1:1 with one partner channel.
- A picker appears: Your channel that will host your partner's ad in return. Choose one of your active channels. The explainer states the deal: "A swap is reciprocal and disclosed: you host their ad while they host yours, both for a full 24 hours, and both come down together. The bot needs Delete rights in your channel — which every enrolled channel already grants."
- The reach line on step 2 changes to "A swap reaches exactly one partner channel — the one you pair with. The estimate below is for broadcast ads."
- Press Submit for review. Swap ads go through the same human review as everything else, and nothing is charged.
Forgetting the picker answers "Choose one of your channels to host your partner's ad." Naming a channel that is not one of your own active ones is refused: "Pick one of your own active channels to host your partner's ad."
How partners are matched
Once approved, your offer waits for another member's swap offer that fits. You do not pick a partner by name. Every one of these must hold:
| Condition | The threshold |
|---|---|
| Different accounts | Your own offers are never paired with each other |
| The level fits both ways | Your channel's ceiling must clear their ad's level, and theirs must clear yours |
| Closeness | At least 0.45 on the same closeness function the broadcast matcher ranks with — the log-ratio of subscriber counts, plus average views when both sides have them |
| Pair cooldown | The same two accounts are not re-paired inside 72 hours |
| Re-match cooldown | After a swap completes, its ad waits 96 hours before it can match again, so swapping does not consume host inventory every day. A swap that failed or was voided is exempt and retries at once |
Topic is not a hard condition. When both sides carry a stored topic vector a strong topical match can raise the effective closeness — never lower it — so a genuinely related pair can clear the 0.45 floor on a slightly wider size gap. Otherwise matching is audience-size only.
Nothing guarantees your partner's channel is about anything like yours. The level ceiling stops a swap carrying content you did not opt into, and closeness keeps the audiences comparable — but a cooking channel and a gaming channel of the same size are a valid pair. If subject matters to you, a broadcast campaign with a topic is the better instrument.
Because a swap needs two compatible offers to exist at the same moment, it can take longer to fire than a broadcast campaign. Press Why? on the campaign row to see where you stand:
| The diagnostic says | Meaning |
|---|---|
| "Waiting for a compatible partner channel to join. A swap needs another channel close to yours in size that accepts your level." | Unmatched — no compatible offer exists right now |
| "You're matched with a partner — both ads run together." | Paired; the placements are coming |
| "This swap has already run." | Completed |
Each carries the swap's OFSW- reference once one exists.
The pool of swap offers is smaller than the pool of broadcast campaigns, so a very large channel, a very small one, or a level-5 offer can wait a while. Cancel it and submit as a Broadcast campaign instead if you would rather have reach now — cancelling before anything runs costs nothing.
What happens when a swap runs
- The bot posts both creatives. If either half cannot post, neither does, and the swap retries later.
- Both placements stay up for the full 24 hours.
- The bot removes both together.
- Both sides get their view and click numbers.
The campaign row carries a Swap pill throughout, so a swap is never confused with a broadcast campaign in your list.
The attribution line in a swap
An exchange placement can carry one extra clickable line below the creative, reading exactly advertisement via onflowads.com. It is removed only where the plan of the account hosting the placement is Plus or above — never on the strength of what the advertiser pays. In a broadcast campaign that host is anonymous and varies from placement to placement. In a swap there is exactly one host on each side, and you know who they are, so the rule is unusually visible:
| Half of the swap | Whose plan decides |
|---|---|
| Your ad, in your partner's channel | Your partner's plan. Plus or above and your ad runs clean there; Free or Lite and it carries the line |
| Your partner's ad, in your channel | Your plan. From Plus upward your feed stays clean whatever they pay |
So a Plus advertiser swapping with a Free partner gets the line, and a Free advertiser swapping with a Plus partner does not. Upgrading raises the cleanliness of your channel's feed, not the cleanliness of your own ad in somebody else's.
You are not shown your partner's plan and there is nothing to negotiate: the flag is read from the host's live plan at the moment the bot sends, on each half independently. Both halves also reserve the same 33 characters of text budget at submit, because at that point neither side has a partner yet.
Protection against a bad partner
The swap is bot-guaranteed on both ends. If one side breaks the deal — removes the partner's ad early, or strips the bot's rights so it cannot do its job — the whole swap is voided: the other half comes down too, so nobody keeps a free promotion.
The offending account takes the penalty in full: a −1.50 reliability entry, a strike and a cooldown — recorded by the bot, priced and applied by the website. Your own reliability is untouched when the fault is your partner's, and the bot tells you so.
Removing your partner's ad, or stripping the bot's rights while a swap is live, is an early removal like any other: −1.50 reliability, a strike, a 6-hour cooldown, and at three strikes a 7-day suspension of every channel you host with. It also voids the swap, so your own promotion comes down too. Cancel the campaign instead — both halves then finish their 24 hours cleanly.
A paid plan's grace allowance can cover a genuine accident here as it does anywhere else — the website's ruling then reads "A hosted ad came down early — no penalty this time" — but grace never covers demoting the bot.
Rules and edge cases
- A swap is disclosed by design. You will see your partner's ad in your channel and they will see yours in theirs. This is the one exception to the exchange's anonymity rule, and you opt into it by choosing Swap.
- A swap costs nothing. No wallet charge. Submitting a swap with a delivery upgrade attached is refused outright: "Delivery upgrades apply to pool campaigns, not swaps."
- Refusing a swap ad blocks it but does not pull it down. The Refuse button records the permanent block, but a live swap placement is removed as one unit by the swap loop, so it finishes its 24 hours. See Refusing an ad.
- Cancelling works the same way. Press Cancel on the campaign row. If the swap has already posted, both halves still finish their 24 hours. A partner whose counterpart cancelled is freed to match again.
- An orphaned offer is cancelled. If you withdraw the channel that was going to host your partner's ad, the swap offer goes with it.
- A swap does not earn hosting credits. Credits are minted by carrying pool placements; a swap's return is the promotion itself.
- Review still applies. Swap ads are human-reviewed before they can be matched, exactly like broadcast ads, and can be declined and appealed the same way.
- A swap does not use your placement allowance. It has no drop count, so it neither consumes nor is limited by your plan's placements per cycle.
If something goes wrong
| What you see | What it means | What to do |
|---|---|---|
| "Choose one of your channels to host your partner's ad." | No channel picked | Pick one from the menu |
| "Pick one of your own active channels to host your partner's ad." | The named channel is not yours, or is not active | Choose an active channel of your own |
| "A swap needs one of your channels to host your partner's ad in return." | The submission reached the server with no channel | Re-pick the channel and submit again |
| "Delivery upgrades apply to pool campaigns, not swaps." | A boost or Priority Review was attached | Switch Delivery boost back to Standard and untick Priority Review |
| The diagnostic has said "Waiting for a compatible partner" for days | No offer within 0.45 closeness and level fit exists | Cancel and run a broadcast campaign, or wait |
| Your partner's ad is up and yours is not | This should not happen — the bot posts both or neither | Wait a few minutes, then check Why?. A half that genuinely failed voids the swap and both come down |
| A swap ended early and you were blamed | Your side came down before its 24 hours | Read the two messages: the bot's "A swap ended early" says the removal was recorded against your side, and the website's ruling that follows says what it cost — the −1.50 applied on onflowads.com, or a grace pass that covered it. See Rules and fair play |
Frequently asked
Can I choose who I swap with?
No. The exchange pairs compatible offers so the trade is fair to both sides. If you want to arrange a promotion with a partner you already know, that is what Cross-Promotion is for.
Can I run a swap and a broadcast campaign at the same time?
Yes, as long as you are within your plan's limit on ads running at once.
Can I boost a swap so it fires sooner?
No. Boosts buy placements and dispatch priority for pool campaigns. A swap is waiting on a compatible partner, which money cannot conjure.
My swap completed. Will it swap again?
Yes, after a 96-hour cooldown, and then only when another compatible offer exists. The campaign stays approved in the meantime.
Related
- Running ads — the builder steps a swap shares with a broadcast campaign.
- Refusing an ad — why refusing a swap placement behaves differently.
- Rules and fair play — what breaking your half of a swap costs.
- Delivery boosts — the paid extra a swap deliberately does not use.
- Hosting ads — the attribution rule in full, from the hosting side that decides it.