Troubleshooting cross-promotion posts and delivery
This page covers everything that can go wrong on a campaign page, from agreeing the schedule to the ad that lands in the channel. Find the message you see, or the thing that is not working.
Problems with getting in, creating, joining, the directory, requests and the board are on Troubleshooting Cross-Promotion. Problems with results, cover payouts, ratings, Blitz, recurring swaps, the portfolio and the paid extras are on Troubleshooting cross-promotion results and extras.
Opening a campaign and your campaign lists​
These cards cover a campaign page that will not open and a list that looks empty or incomplete. Your full history is always on My Campaigns.
"You don't have access to this campaign."​
- Where you see it: The campaign page, in place of the campaign (website).
- Plans affected: Every plan.
- Why it happens: Only the creator, the partner and the holders of a Blitz slot can open a campaign page. You are signed in to an account that is none of these, or you only looked the campaign up without joining it.
- How to fix it: If you meant to join, enter the code on the Join page. Otherwise sign in with the account that created or joined the campaign. Nothing was changed.
"Campaign not found. It may have been removed or the code is wrong."​
- Where you see it: The campaign page, after opening a typed, pasted or shortened address (website). You may also see: "No campaign code in the link."
- Plans affected: Every plan.
- Why it happens: The code in the address matches no campaign, or the address was cut off before the code.
- How to fix it: Open the campaign from My Campaigns and press View instead of typing the address. If someone sent you the link, ask them to copy it again in full.
"Couldn't load this campaign."​
- Where you see it: The campaign page (website). This card also covers any short refusal on this page that names no cause, for example the line "Could not confirm" with nothing after it. Use it too for a short technical line that these pages do not list, and for a button that answers from a page you opened long ago.
- Plans affected: Every plan.
- Why it happens: The page could not read the campaign this time, or the campaign changed after your page loaded: your partner acted first, you pressed twice, or you followed an old link. Nothing was saved or changed.
- How to fix it:
- Refresh the page, or open the campaign again from My Campaigns.
- Read the status banner, then repeat the action once if it is still offered.
- If the message repeats, or it carries a reference, send that reference and the Campaign ID to support. The last section of this page lists what else to include.
"Could not load your campaigns. Please refresh."​
- Where you see it: My Campaigns (website). If the page could not reach the site at all, it reads "Network error — please refresh." On the Your campaigns list of the CP code page you see "Couldn't load your campaigns — refresh to try again."
- Plans affected: Every plan.
- Why it happens: The list could not be read this time. Your campaigns are not affected.
- How to fix it: Refresh the page. If the list still does not load, check your connection and try again a little later.
"No active campaigns."​
- Where you see it: My Campaigns, on the Active tab (website). The other tabs read "No completed campaigns yet.", "No ended campaigns." or "No campaigns here.", and an account with no history reads "No cross-promotions yet", with the line "Pair up with another channel to grow together. Every campaign you run shows up here." The Your campaigns list reads "No campaigns yet — create one to get a shareable code, or join a partner's with their code."
- Plans affected: Every plan.
- Why it happens: Nothing belongs in that tab right now. Active holds everything that has not finished, Completed holds finished runs, and Ended holds cancelled and expired campaigns and runs that failed.
- How to fix it: Look in another tab, or press Start a campaign. See Creating a cross-promotion campaign.
A campaign is missing from "Your campaigns" or from My Campaigns​
- Where you see it: The Your campaigns list on the CP code page, or My Campaigns (website). There is no message.
- Plans affected: Every plan.
- Why it happens: Your campaigns leaves out cancelled campaigns and campaigns that were started in Telegram. My Campaigns shows your most recent campaigns, so a very long history does not list the oldest ones.
- How to fix it: Open My Campaigns and look under Ended for a cancelled campaign. For a very old one, open it from a link you saved, or ask support and quote its Campaign ID.
A row shows "Read-only" and "via Telegram" with no View button​
- Where you see it: My Campaigns (website).
- Plans affected: Every plan.
- Why it happens: The row is an older campaign that was started in the Telegram bot. It is kept as history only. If you open its page from a saved link, the banner says it is read-only. A closed one reads "This campaign is closed." If you reach an action for it, the answer is "This campaign is managed in Telegram." A button on an old review message from the bot answers "This review is no longer active."
- How to fix it: Nothing needs fixing. The campaign cannot be managed, rated or repeated on the website. Start a new campaign on the website to swap with that partner again.
Agreeing and changing the schedule​
These cards cover proposing a new time and answering your partner's proposal on the campaign page. The steps are on Agreeing and changing the swap schedule.
"This campaign can’t be changed right now — it may not have a partner yet, or its go-live time has already passed."​
- Where you see it: The campaign page, after pressing Send proposed changes (website).
- Plans affected: Every plan.
- Why it happens: The campaign has no partner yet, or it is already Scheduled or later, cancelled or expired. A Confirmed campaign can still be given a new time, even after its go-live has passed.
- How to fix it: Refresh the campaign page and read the status. If it reads Scheduled, the time is locked: let it run, or cancel it before go-live. No proposal was sent.
"You proposed this change — your partner decides on it."​
- Where you see it: The campaign page, when you try to accept or decline your own proposal (website). It is rare, because the page hides those buttons from the member who proposed.
- Plans affected: Every plan.
- Why it happens: A proposal is decided by the other side, never by the member who sent it.
- How to fix it: Wait for your partner. To change your mind, send a different proposal: it replaces the one that is waiting.
"This proposal changed while you were deciding. Refresh to see the latest one."​
- Where you see it: The campaign page, after pressing Accept changes or Decline (website). You may also see: "There are no pending changes to review."
- Plans affected: Every plan.
- Why it happens: Your partner replaced the proposal with a new one, or it was already decided, after your page loaded. Nothing was decided by your press.
- How to fix it: Refresh the campaign page and decide on the schedule it now shows.
"That proposed go-live time has already passed — ask your partner to propose a new time."​
- Where you see it: The campaign page, after pressing Accept changes (website).
- Plans affected: Every plan.
- Why it happens: The proposed time went by before you accepted it. The campaign stays as it was.
- How to fix it: Press Decline, then propose a new time yourself, or ask your partner to send one.
"Could not send your proposal."​
- Where you see it: The campaign page, after pressing Send proposed changes (website). After Accept changes or Decline the wording is "Could not save your decision."
- Plans affected: Every plan.
- Why it happens: The page did not get a usable answer. Nothing changed.
- How to fix it: Refresh the page, check what the banner shows, and try again. If the scheduler itself refuses your date or time, see the schedule messages on Troubleshooting Cross-Promotion.
"A proposed reschedule was declined"​
- Where you see it: A banner on the campaign page, with "Reason:" and your partner's words. The banner shows only when the campaign was already Confirmed. You also get the notice "Proposed time declined" from @OnflowAdsBot and in the notification bell, and an email that says your proposed changes were declined.
- Plans affected: Every plan.
- Why it happens: Your partner declined the time you proposed. A Confirmed campaign keeps its old time. A campaign that was never confirmed goes back to Awaiting confirmation, and its page does not show the reason.
- How to fix it: Read the reason in the notification. Then accept the original schedule, or propose a different time.
Setting your cover​
These cards cover the Campaign insurance panel, where each side declares cover before the campaign is confirmed. The full explanation is on Campaign insurance for a cross-promotion.
"Set a whole dollar amount, or 0 for no cover."​
- Where you see it: The Campaign insurance panel, after pressing Save my cover (website). You may also see: "Cover has to be between $0 and $maximum."
- Plans affected: Every plan.
- Why it happens: The field is empty, holds something that is not a whole number, or holds more than the maximum.
- How to fix it: Type digits only, with no cents and no currency sign. The field label shows the maximum. Type
0for no cover.
"This campaign is already confirmed, so the cover is locked. Both figures stay as they were agreed."​
- Where you see it: The Campaign insurance panel, after saving from a page you opened before the campaign was confirmed (website).
- Plans affected: Every plan.
- Why it happens: Confirming a campaign locks both cover figures. The panel title then shows Locked.
- How to fix it: Nothing can be changed on this campaign, and both figures are unchanged. Next time, set your cover before either side confirms.
"Your partner changed their insurance cover while you were deciding. Check the new figures and confirm again."​
- Where you see it: The campaign page after Accept & confirm or Accept changes, and the last step of the Join page, where the message also states the new figures (website).
- Plans affected: Every plan.
- Why it happens: A confirmation is for the exact cover figures your page showed. Your partner changed theirs in between, so the campaign was not confirmed.
- How to fix it: The page reloads with the new figures. Read Your cover and Your partner’s cover, then confirm again if you still agree.
"Insurance cover isn’t available on this campaign."​
- Where you see it: The Campaign insurance panel, after pressing Save my cover (website). It is rare, because these campaigns show no such panel.
- Plans affected: Every plan.
- Why it happens: The campaign is a Blitz, or an older campaign that was started in Telegram. Neither carries cover.
- How to fix it: Nothing can be set here. Cover is available on a one-to-one campaign created on the website.
There is no "Campaign insurance" panel, or the panel has no field​
- Where you see it: The campaign page (website). There is no message.
- Plans affected: Every plan.
- Why it happens: A Blitz has no panel at all. On a campaign that is already confirmed, a recurring round, or a partner request accepted for a future time, the panel shows both figures and Locked, with no field. Pressing Keep this schedule on the Join page also confirms at once, without showing the cover figures.
- How to fix it: Nothing can be changed on this campaign. Next time, open the campaign page first, read both figures and set yours, and only then press Accept & confirm.
"Could not save your cover."​
- Where you see it: The Campaign insurance panel, after pressing Save my cover (website). You may also see: "Couldn't save that just now." or "Campaign insurance isn't available yet — try again shortly."
- Plans affected: Every plan.
- Why it happens: A temporary problem stopped the save. Your earlier figure still stands.
- How to fix it: Wait a moment and press Save my cover again. A successful save answers "Your cover is saved — your partner can see it now."
Writing and saving your post​
These cards cover the composer under Posts & delivery: the text, the buttons, the links and the save. The steps are on Cross-promotion posts, review and delivery.
There is no post editor, or no "Posts & delivery" section, on the campaign page​
- Where you see it: The campaign page (website). If you save from a page you opened earlier, the answer is "Wait for a partner to join before building your post." or "You can only build a post while the campaign is being set up."
- Plans affected: Every plan.
- Why it happens: You can write or change your post only while a campaign with a partner is Awaiting confirmation, New time proposed or Confirmed. Before a partner joins there is no Posts & delivery section at all. From Scheduled onward the section shows the post chips and your partner's post, but no editor. An older campaign started in Telegram has no editor either.
- How to fix it: Wait for a partner to join. Once a campaign is Scheduled, the post cannot be changed: if it is wrong, cancel the campaign before go-live.
"Write your post text first."​
- Where you see it: The composer, on Continue or Save post (website). You may also see: "Write your post text." Until you type, the preview beside the text box reads "Your post appears here as you write it."
- Plans affected: Every plan.
- Why it happens: The text box is empty, or it holds only formatting with no words.
- How to fix it: Write the text, then continue. A post needs text even when it carries a photo.
"Trim the post to fit the 1024-character limit."​
- Where you see it: The composer, on the Write step, when the counter turns red (website). After saving you may see: "Post is too long — N/1024 characters." or "Keep the post under 1024 characters."
- Plans affected: Every plan.
- Why it happens: The text is longer than a post can carry. The counter reads against 991 because, as the note beside it says, 33 characters are held back for the "advertisement via onflowads.com" line. Most emoji count as two characters.
- How to fix it: Trim the text until the counter is no longer red. Formatting does not count toward the length.
"Give every button both a label and a link — or clear the half-filled row."​
- Where you see it: The composer, under the button rows (website). You may also see: "Button n needs both a label and a link — half-filled rows are not saved.", "Each button needs a label and a link." or "Button labels must be 64 characters or fewer."
- Plans affected: Lite and above.
- Why it happens: A button row has a label without a link, or a link without a label, or its label is too long.
- How to fix it: Finish the row, shorten the label, or press Remove on the row. Then save again.
"Inline buttons are not available on this account."​
- Where you see it: The composer, on save. On the Write step the row Inline buttons shows Locked, and pressing it opens the card "Inline buttons", which says that Lite and above can add inline buttons under a post (website).
- Plans affected: Free.
- Why it happens: Free includes no inline buttons. A post saved with buttons on a higher plan is refused until the buttons are removed.
- How to fix it: Put your link in the text instead: a public Telegram link is allowed on every plan. To add buttons, upgrade to Lite or above. See Post buttons and links by plan.
Free plan — writing your post: inline buttons are locked The composer as a Free member sees it, after pressing the locked row. 1 The three steps: Write, Photo and Review. 2 The counter: characters used, out of the number you can write. The note under the text box explains the characters held back for the attribution line. 3 The formatting toolbar. 4 The row Inline buttons with Locked. Pressing it opens the card "Inline buttons" at the top right, with See plans. 5 The live preview of the post as your partner's subscribers will see it. On Lite and above the locked row is replaced by button rows you can fill in.
"Your plan allows up to N buttons per post."​
- Where you see it: The composer, on save (website). On Lite the message ends "1 button per post." Rows above your allowance read "Button n" with Locked, and pressing one opens the card "More inline buttons". You may also see: "Add up to N buttons."
- Plans affected: Lite, Plus and Elite.
- Why it happens: The post has more buttons than your plan includes: Lite 1, Plus 2, Elite 3, Master and Ultimate 4. This usually follows a change of plan or a restored draft. These are the current published figures; the figure shown on your own screen is always the one that applies to you.
- How to fix it: Press Remove on the locked rows and save again, or upgrade. See Post buttons and links by plan.
"That link doesn’t look valid. Use a full https:// URL."​
- Where you see it: The link dialog, or the composer on save (website). While the box is empty, the dialog reads "Paste a full https:// URL." and Insert link stays disabled.
- Plans affected: Every plan.
- Why it happens: The address is not a full web address: the start is missing, or it is a kind of link that only opens inside an app.
- How to fix it: Paste the whole address, starting with
https://.
"Private Telegram links are not available on this account."​
- Where you see it: The link dialog, a button row, or the composer on save, with the card "Private Telegram links" (website).
- Plans affected: Free.
- Why it happens: The link is an invite link or a link into a private chat. Lite and above can use those; Free can link to public Telegram addresses only.
- How to fix it: Use your channel's public link, or upgrade to Lite or above.
"External links need the External Links add-on ($1)."​
- Where you see it: The link dialog, or the composer on save (website).
- Plans affected: Every plan.
- Why it happens: The address is not a Telegram address, and the External Links add-on is not active on your current plan. The add-on applies on the plan you bought it on, so it does not carry over when your plan changes.
- How to fix it: In the link dialog, press Enable external links. The button shows the live price, which is charged to your wallet once. Or link to your Telegram channel instead. Nothing is charged until you press the button. See Cross-promotion paid extras.
"Not enough wallet balance. Top up your wallet and try again."​
- Where you see it: The link dialog, after pressing Enable external links (website). You may also see: "Could not enable external links. Try again." or "Network error. Try again."
- Plans affected: Every plan.
- Why it happens: Your wallet cannot cover the add-on, or the purchase did not go through. Nothing was charged and the add-on is not enabled.
- How to fix it: Top up your wallet, then press the button again. See Adding funds. After a network message, check your wallet before you press again.
"Links outside Telegram can't be used in ads right now."​
- Where you see it: The link dialog, or the composer on save (website). You may also see: "Private Telegram links can't be used in ads right now." or "This add-on is not on sale right now."
- Plans affected: Every plan.
- Why it happens: That kind of link, or the add-on, is switched off for everyone at the moment. Buying or upgrading would not change it.
- How to fix it: Use a public Telegram link for now, and try the other kind later.
"This post already has one of our short links in it. Put the real address there instead; we make the short link for you."​
- Where you see it: The composer, on save. The preview warns first with "This link will be refused when you submit:" followed by the address and the reason (website).
- Plans affected: Every plan.
- Why it happens: You pasted a short onflowads.com link, for example one copied from an earlier ad. Every link in a post gets its own short link at go-live.
- How to fix it: Replace it with the real destination address, then save again.
"This link can’t be used in an ad: address. Use the real, full https:// address."​
- Where you see it: The composer, on save (website). You may also see: "This address can’t be opened from an ad: address. Use a t.me or https:// address instead.", "This link can’t be used in an ad: address. Use a full https:// address with no spaces." or "This link points into a reader's own device or network: address. Use a public https:// address."
- Plans affected: Every plan.
- Why it happens: The address named in the message cannot be published in an ad as it stands. The post was not saved.
- How to fix it: Replace it with the real, full, public address of the page you want readers to reach, not a shortened or redirected one. Then save again.
"An ad can carry up to N links in its text, and this one has M. Remove some so every link can be counted."​
- Where you see it: The composer, on save (website).
- Plans affected: Every plan.
- Why it happens: The text holds more links, typed addresses and @handles than one ad can carry.
- How to fix it: Remove links until you are at or under the number in the message. Keep the one that matters most, or move it to a button if your plan includes buttons.
"This post can't run on Onflow Ads:"​
- Where you see it: The composer, on the Review step, followed by the reasons and "Edit the post and save it again, or appeal if you think this is wrong." (website).
- Plans affected: Every plan.
- Why it happens: The text, a button, a link or the photo breaks the content rules. The post was not saved, and your partner sees nothing new. See Prohibited content and the content check.
- How to fix it: Edit the post and save it again. If you think the decision is wrong and the panel offers it:
- Press Appeal this decision.
- Explain under Why this post should be allowed and press Send appeal. A person reviews exactly this post.
- When you are told the outcome, save the post again.
"The picture in this post could not be checked automatically, so a person is reviewing it before it can run. We will notify you when they have looked — then save the post again."​
- Where you see it: The composer, on save (website).
- Plans affected: Every plan.
- Why it happens: The attached picture needs a person to look at it. A review was opened for you, and the post is not saved yet.
- How to fix it: Wait for the notification, then press Save post again. If go-live is close, remove the photo and save the post without it.
"We couldn't check this post just now. Please save it again in a moment."​
- Where you see it: The composer, on save (website). You may also see: "This post can’t be saved right now.", "Could not save your post." under the notice title "Post not saved", "The composer is still loading — try again in a moment.", "We couldn’t check your image just now — nothing was saved. Please try again in a moment." or "That image is no longer available — regenerate it and try again."
- Plans affected: Every plan.
- Why it happens: A temporary problem stopped the save, the campaign changed while the page was open, or the picture you chose can no longer be used. Your unsaved text and buttons stay on your device.
- How to fix it: Press Save post again. If it repeats, refresh the page: the notice "Draft restored" confirms your text is back. For the image message, add the photo again.
"You can only change your post while the campaign is being set up."​
- Where you see it: The composer, on the Photo step (website). You may also see: "Could not remove that."
- Plans affected: Every plan.
- Why it happens: The campaign moved on to Scheduled or later while your page was open. From then on the posts are locked.
- How to fix it: Refresh the campaign page. If the post must change, cancel the campaign before go-live and run a new one.
Your partner's approval of your post disappeared after you edited it​
- Where you see it: The campaign page: the chip Ready for go-live is gone (website). There is no message.
- Plans affected: Every plan.
- Why it happens: Every save of your post clears your partner's approval and starts the review again, so they always approve the version that will run.
- How to fix it: Tell your partner to approve the new version. Avoid edits close to go-live.
The photo on your post​
These cards cover the Photo step of the composer. A post can carry one photo, on every plan, and the photo posts above your text.
"That photo is size — the limit is 2 MB."​
- Where you see it: The composer, on the Photo step, before anything is uploaded (website). The note on that step states the rule: "Optional. PNG, JPEG, WebP or GIF up to 2 MB. It posts above your text." After an upload you may see: "That image is over the 2 MB limit. Please upload a smaller one."
- Plans affected: Every plan.
- Why it happens: The file is larger than the size the slot accepts. The post keeps whatever photo it had.
- How to fix it: Export the picture at a smaller size or a lower quality, then press Add photo again.
"That file doesn’t look like a supported image (PNG, JPEG, WebP or GIF)."​
- Where you see it: The composer, on the Photo step (website). You may also see: "That file is not an image.", "That image is too large for Telegram" or "That image is too long and thin for Telegram" followed by its measurements, "We couldn’t use that image — reason. Please choose another one.", "Choose an image to upload.", "Could not read that upload — please try again.", "Image storage isn’t ready yet — please try again shortly.", "Couldn’t save that image — please try again.", "That image could not be attached." or "That file could not be attached."
- Plans affected: Every plan.
- Why it happens: The file is not one of the four accepted picture types, it is damaged, its shape is one Telegram refuses, or it could not be stored this time. Renaming a file does not change its type.
- How to fix it: Export the picture again as PNG, JPEG, WebP or GIF, with ordinary proportions, and upload it. For the messages that ask you to try again, wait a moment and upload once more.
"We can't accept that image:"​
- Where you see it: The composer, on the Photo step, followed by the reasons and "Choose a different image, or appeal if you think this is wrong." (website).
- Plans affected: Every plan.
- Why it happens: The picture breaks the content rules. It was not stored and is not attached.
- How to fix it: Choose a different picture. If you think the decision is wrong, use the appeal offered with the message.
The delivered ad has no photo although you chose one​
- Where you see it: The published post in your partner's channel.
- Plans affected: Every plan.
- Why it happens: Uploading a photo does not attach it. The photo joins the post only when you save the post afterwards. A Blitz post has no photo slot.
- How to fix it: On your next campaign, after "Image attached." go to the Review step and press Save post or Update post. Check the preview before go-live.
Drafting with AI​
These cards cover Write with AI in the composer. Drafting uses your AI text allowance; the figures for each plan are on AI allowance and limits by plan.
"Tell the AI what the post is about first."​
- Where you see it: The popup "Draft your cross-promotion post", on the Generate tab (website). The Refine tab reads "There is no copy to improve yet." and the Image tab reads "Describe the image you want."
- Plans affected: Every plan.
- Why it happens: The field is empty or holds only a character or two. Nothing ran and nothing was used.
- How to fix it: Describe the post in a few words or more, then press Generate.
"You've used today's AI actions. They reset at 00:00 UTC."​
- Where you see it: The AI popup, on Generate or Refine; an upgrade card may slide in (website). You may also see: "You've used this month's AI actions. They reset on the 1st of the month (UTC).", "AI is paused while your account is under review." or "You have used your AI allowance for now."
- Plans affected: Every plan. The allowance differs by plan.
- Why it happens: Your AI text allowance for the day or the month is used, or AI is paused on your account. Nothing was generated or used.
- How to fix it: Write the post yourself, or come back after the reset the message names. A higher plan includes a larger allowance.
"Couldn’t draft that just now — no action was used."​
- Where you see it: The AI popup (website). You may also see: "The draft broke our content rules, so it was not used and no action was spent. Try a different brief.", "That request breaks our content policy. Please try a different, on-topic prompt.", "The AI returned nothing - nothing was used.", "Network error - please try again.", "Could not read your AI allowance - you can still try.", "Wait for a partner to join before drafting your post." or "Your channel isn’t attached to this campaign yet."
- Plans affected: Every plan.
- Why it happens: The AI returned nothing usable, your brief or the draft broke the content rules, or the campaign is not ready for a post. Nothing was applied to your post, and the action was given back.
- How to fix it: Change the brief and press Generate again. For the last two messages, refresh the campaign page.
"AI images are not available on this account."​
- Where you see it: The AI popup, on the Image tab, with the card "AI images" (website). You may also see: "AI image generation isn’t included on this account."
- Plans affected: Free, Lite, Plus and Elite.
- Why it happens: AI images in the composer are included on Master and Ultimate only.
- How to fix it: Upload your own photo on the Photo step, which every plan can do. Or upgrade to Master or Ultimate.
"You've used your AI image allowance (daily and/or monthly). Daily resets at 00:00 UTC, monthly on the 1st."​
- Where you see it: The AI popup, on the Image tab (website). You may also see: "You've used your AI image allowance.", "Image generation is limited while your reliability recovers.", "AI is paused on your account while a review is open.", "Image generation is temporarily unavailable." or "AI images are not available right now."
- Plans affected: Master and Ultimate.
- Why it happens: Your image allowance is used, your account's standing limits AI for now, or image generation is switched off for the moment. Nothing was generated or used.
- How to fix it: Upload a photo instead, or try again after the reset. For the reliability and review messages, see How the reliability score works.
"The AI couldn't create that image just now — no image was used. Please try again in a moment."​
- Where you see it: The AI popup, on the Image tab (website). You may also see: "The image came back unusable (reason) — no image was used. Please try again.", "The generated image broke our content rules, so it was not used and no image was spent. Try a different description.", "Image storage isn’t ready yet — no image was used. Please try again.", "Couldn’t save that image — no image was used. Please try again.", "The AI hit an unexpected error. No image was used. Please try again in a moment." or "Describe the image you want the AI to create."
- Plans affected: Master and Ultimate.
- Why it happens: The image could not be created or kept, or the result was refused. No image is attached, and none was taken from your allowance.
- How to fix it: Press Generate image again, or change the description.
Reviewing your partner's post​
These cards cover the panel "Your partner's post", where you approve the post that will run in your channel or send it back for a change.
"Waiting for your partner to build their post."​
- Where you see it: The campaign page, under Posts & delivery (website). An empty post preview reads "No post yet." From an old page the answer is "Your partner hasn’t built their post yet."
- Plans affected: Every plan.
- Why it happens: Your partner has not saved a post yet, or you sent their last one back.
- How to fix it: Wait for the notice "A post is ready to review". If go-live is close, message your partner directly.
"Your partner’s post changed, or this review was already saved. Refresh to see the latest."​
- Where you see it: The campaign page, after pressing Approve or Send back (website). You may also see: "Could not save your review."
- Plans affected: Every plan.
- Why it happens: Your partner saved their post again after your page loaded, or you had already answered. Your answer was not applied to the new version.
- How to fix it: Refresh the page, read the post it now shows, then press Approve or Send back.
"You approved this (auto)"​
- Where you see it: A pill under your partner's post on the campaign page (website).
- Plans affected: Every plan.
- Why it happens: You did not answer before the time the page printed in the line "Unanswered reviews auto-approve after", so the post was approved for you. It can now be published in your channel.
- How to fix it: If the post is unacceptable and the campaign has not gone live, cancel the campaign. Next time, review before the printed date and time.
"Post sent back"​
- Where you see it: A message from @OnflowAdsBot and the notification bell on the website, with the status "Changes requested". On the campaign page your chip returns to "Your post: not built".
- Plans affected: Every plan.
- Why it happens: Your partner pressed Send back on the post you wrote for their channel. Your saved post was cleared, and no reason is attached.
- How to fix it: Ask your partner what to change. Open the campaign, rebuild the post and save it: your text may still be in the draft on your device.
Go-live and delivery​
These cards cover the step between a confirmed campaign and two live posts. @OnflowAdsBot publishes both posts at go-live and removes them at the end of the run.
The campaign is "Confirmed" but nothing seems to happen​
- Where you see it: The campaign page, under the banner "Cross-promotion confirmed" (website).
- Plans affected: Every plan.
- Why it happens: Confirming the schedule does not line the campaign up for go-live by itself. Both posts must be built and both must be approved first.
- How to fix it:
- Read the chips under Posts & delivery: "Your post" and "Partner post".
- Build your post, and approve your partner's.
- Ask your partner to do the same. When everything is approved the chip reads Ready for go-live and the status becomes Scheduled.
"This campaign missed its go-live window"​
- Where you see it: A warning banner on the campaign page with the chip Not delivered; the status stays Confirmed. You also get the notice "Your cross-promotion missed its go-live" from @OnflowAdsBot, in the notification bell and by email.
- Plans affected: Every plan.
- Why it happens: A post or an approval was still missing, or the run was on hold, when the time to go live ran out. The banner reads "Nothing was posted in either channel, and it will not post now — a swap that appears a day late is worse than none. Your posts are still saved: propose a new time to run it." If one post had already gone out, it begins "The post that had already gone out was taken down again". When it can, the banner adds "What held it up:" and the cause. Nothing stayed live, nobody is penalised, and both posts and approvals are kept.
- How to fix it: Press Propose new time. When your partner accepts and everything is still approved, the campaign is lined up again. Until it runs or is cancelled, it keeps its place in the creator's monthly allowance.
Plus plan — a confirmed campaign that missed its go-live window The creator's view after the agreed time has passed without a run. 1 The warning banner: it says nothing was posted in either channel and that both posts are still saved. 2 The chip Not delivered, beside the two post chips, which both read "built" here. 3 Propose new time, the first step to running the swap after all: your partner then accepts the new time. The banner and the fix are the same on every plan.
"Delivery is blocked — a channel has no @username"​
- Where you see it: A warning banner on the campaign page with the chip Delivery blocked (website).
- Plans affected: Every plan.
- Why it happens: One of the two channels no longer has a public username. The banner reads "Our bot posts to a channel by its @username, and the channel does not have one. Set a public username on the channel (and keep the bot an admin there), then this campaign can be queued."
- How to fix it: The owner of the named channel sets a public username in Telegram and keeps @OnflowAdsBot an administrator there. The campaign is then lined up by itself.
"Delivery is blocked — no go-live time"​
- Where you see it: A warning banner on the campaign page (website). The text under it reads "This campaign has no scheduled start. Propose a time to get it queued."
- Plans affected: Every plan.
- Why it happens: The campaign has no start time, so it cannot be lined up for go-live.
- How to fix it: Press Propose new time, choose a date and time, and have your partner accept.
"Delivery is blocked — a channel can’t take part"​
- Where you see it: A warning banner on the campaign page (website). It says whether your channel, your partner's channel or neither can take part in Cross-Promotion any more.
- Plans affected: Every plan.
- Why it happens: A channel stopped meeting the rules for Cross-Promotion after the campaign was agreed. Nothing will be posted.
- How to fix it: Cancel the campaign. If it is your channel and you believe this is a mistake, open a support request and quote the Campaign ID.
"Delivery is blocked"​
- Where you see it: A warning banner on the campaign page (website). The text reads "We could not queue this campaign for posting", sometimes with a short detail, then "Contact support if it persists."
- Plans affected: Every plan.
- Why it happens: Another problem is stopping the campaign from being lined up for go-live. Nothing has been posted.
- How to fix it: Refresh the page a little later. If the banner is still there, contact support with the Campaign ID and the detail the banner shows.
"Cross-promotion could not start"​
- Where you see it: A message from @OnflowAdsBot. It reads "Neither ad could be posted, so the campaign did not start and nothing is live.", "Your partner's ad could not be posted into your channel, so the campaign was called off before it ran. The other ad was taken down again." or "Your ad could not be posted into your partner's channel, so the campaign was called off before it ran. The other ad was taken down again." The website notice and the email are titled "Your cross-promotion didn't run", and the campaign page shows the pill "Did not run".
- Plans affected: Every plan.
- Why it happens: At go-live the bot could not publish one or both posts. The message says so itself: "This is almost always one of two things: our bot is no longer an admin of the channel with permission to post, or the image on the ad could not be fetched. No one is penalised for it." The run was called off, nobody is penalised, nothing is charged, and the campaign does not use the monthly allowance.
- How to fix it:
- Open the campaign to see which side failed.
- On that channel, make @OnflowAdsBot an administrator that can post and delete messages. See Verifying your channel.
- If the message says "One ad could not be taken down automatically. Please remove it from your channel if it is still there.", delete the leftover ad from your channel.
- Press Run a fresh campaign. This campaign cannot be run again. The Results banners are explained on Troubleshooting cross-promotion results and extras.
The posts went live later than the agreed time​
- Where you see it: The campaign page, where Went live and Ends are later than the schedule you agreed, and the bot's "Your cross-promotion is live" message.
- Plans affected: Every plan.
- Why it happens: The campaign became ready only after its agreed start, usually because an approval arrived late. It still ran, and a run always lasts its full length from the real start.
- How to fix it: Go by the Ends time the campaign page shows once it is live. Do not remove the ad at the end you first agreed: taking it down early is a rule break.
Cancelling, expiry and closed campaigns​
These cards cover a campaign that closed before it ran, and a cancel that did not go through. Every status is explained on Cross-promotion statuses and cancelling.
"This code expired"​
- Where you see it: A banner on the campaign page, with the text "No partner joined within 24 hours, so this code is no longer usable." For a code nobody joined, the creator also gets the notice "Cross-promotion code expired" and an email. The notice reads "Nobody joined within 24 hours, so the code has closed and can no longer be joined. It does not count against your monthly cross-promotions."
- Plans affected: Every plan.
- Why it happens: The banner is the same for three cases, and the page does not say which applied. Nobody joined in time, a partner joined but the campaign was never confirmed, or a Blitz was not launched before its go-live. Nothing was posted, and the campaign does not count against your monthly allowance.
- How to fix it: Press Create a new campaign. To find a partner faster, list the new campaign on the board.
"Partner went inactive"​
- Where you see it: A message from @OnflowAdsBot and the notification bell on the website, sent to the creator.
- Plans affected: Every plan.
- Why it happens: Your partner attached a channel and then neither confirmed the schedule nor proposed a new one, so the campaign was closed for you. Nothing is held against you, and it does not count against your monthly allowance.
- How to fix it: Press Start a new campaign, with the same partner or a different one.
"A campaign you joined was closed"​
- Where you see it: A message from @OnflowAdsBot and the notification bell on the website, sent to the partner who joined.
- Plans affected: Every plan.
- Why it happens: You attached your channel and then neither confirmed the schedule nor proposed a new one. The campaign was released, and the no-show is recorded against your reliability. If it happens repeatedly, joining is paused, and the notice says so.
- How to fix it: Join only campaigns you will confirm, and confirm or propose promptly. A pause on joining ends by itself. If the record is wrong, appeal from your reliability page; see Appealing a penalty or a decision.
"This campaign can’t be cancelled — it may already be live or finished."​
- Where you see it: The campaign page, after pressing Confirm cancel (website). You may also see: "Could not cancel."
- Plans affected: Every plan.
- Why it happens: The bot had already started publishing, or your page was out of date. Nothing was cancelled. If you only waited too long between the two presses, Confirm cancel turns back into Cancel campaign and nothing happens.
- How to fix it: Refresh the page and read the status. A run that has started cannot be cancelled: let it finish, and do not remove the ad by hand, because that is recorded as a rule break.
There is no "Cancel campaign" button​
- Where you see it: The campaign page (website). There is no message.
- Plans affected: Every plan.
- Why it happens: The campaign is Going live or later. Or you hold a slot on a Blitz, which only its creator can cancel. Or you are the partner looking at a campaign that is still Awaiting partner, which only its creator can cancel.
- How to fix it: A run that has started cannot be cancelled. On a Blitz, ask the creator before it launches.
"Campaign cancelled"​
- Where you see it: A banner on the campaign page: "This campaign was cancelled and can no longer be joined." When your partner cancelled, you also get the notice "Cross-promotion cancelled" from @OnflowAdsBot and in the notification bell, and an email.
- Plans affected: Every plan.
- Why it happens: You or your partner cancelled before go-live. Either side can do that without the other's agreement. Nothing is posted, nothing is charged, and the campaign does not count against the monthly allowance. A cancel after a partner had joined is counted on the track record of the member who cancelled.
- How to fix it: Start a new campaign. If your partner cancelled, ask them why before you swap again.
"Stopped by Onflow Ads"​
- Where you see it: A banner on the campaign page. It reads "Our team stopped this cross-promotion: the reason. Any posts it had published were taken down by our bot." While the takedown is still under way, it ends "are taken down by our bot." The Results panel may add "Your side was penalised". You also get the notice "We stopped a cross-promotion", which says whether anything was recorded against your reliability.
- Plans affected: Every plan.
- Why it happens: The Onflow Ads team stopped the campaign, for example after a report. Any posts it had published are taken down by the bot. A run stopped after it went live still counts toward that month's allowance.
- How to fix it: Read the reason. If you believe it is wrong, appeal from your reliability page, or contact support with the Campaign ID. See Appealing a penalty or a decision.
What landed in the channel​
These cards cover a published ad that looks different from what you wrote. All four are expected, and the full picture is on What a cross-promotion ad looks like when posted.
The ad ends with "advertisement via onflowads.com"​
- Where you see it: The published post in the channel.
- Plans affected: Free and Lite (the plan of the channel that carries the ad).
- Why it happens: The line is added to every ad carried by a channel whose owner is on Free or Lite. The plan of the member who wrote the post plays no part.
- How to fix it: For ads your own channel carries, Plus and above remove the line. For your post in a partner's channel there is nothing to change: their plan decides it.
A link or button in the published ad shows a short onflowads.com address​
- Where you see it: The published post, when a reader presses and holds a link or a button.
- Plans affected: Every plan.
- Why it happens: Every link in an ad is published as a short onflowads.com link that counts the tap and sends the reader straight on to your address. See Links and results in your ads.
- How to fix it: Nothing needs fixing. Before you approve a post, check the destination list under its preview: it shows where each link really leads.
An address you typed shows as "click here"​
- Where you see it: The published post, and the preview in the composer, which says so in a note.
- Plans affected: Every plan.
- Why it happens: An address typed or pasted into the text is published as a link with the words "click here", and every tap on it is counted.
- How to fix it: To choose the words, select them in the text box and use Link in the toolbar instead of typing the address.
There is no preview card under a link​
- Where you see it: The published post in the channel.
- Plans affected: Every plan.
- Why it happens: Cross-promotion posts are published without link previews, so a text post shows only its text and buttons.
- How to fix it: Attach a photo on the Photo step if you want a picture above your text.
Still stuck?​
If no card matches, or the fix did not work, contact support. The fastest way is to open https://onflowads.com/support, which opens the support chat. Other ways to reach us are on Help and support overview. Include:
- what you were doing, and on which page
- the exact message, word for word
- the Campaign ID shown on the campaign page, not the join code
- your channel's @handle
- the date and time it happened