Skip to main content

Campaigns: posts, WhatsApp broadcasts and emails under one goal

A campaign groups the social posts, WhatsApp broadcasts and email broadcasts you run for one goal, adds up their results on its Channels tab, and can be planned with AI.

Campaigns: plan with AI and group posts, broadcasts and ads under one goalWatch on YouTube

Campaigns (/app/campaigns) groups everything you do for one goal — social posts, WhatsApp broadcasts and email broadcasts — so their results add up in one place. Anyone in the workspace can look at campaigns; creating one needs the Create task and the Owner, Admin or Editor role, and so do adding, removing and the Settings tab. Deleting a campaign is for Owners and Admins. A member without the Create task does not see Plan a new campaign with AI or New campaign; the page says "You can look at campaigns and their results. Planning or adding a campaign needs the Create task - ask a workspace admin."

Campaigns and broadcasts: what's the difference

A broadcast is one message on one channel: a WhatsApp broadcast, an email broadcast, a Telegram broadcast, a Messenger broadcast or an Instagram broadcast, each sent from that channel's own page (Engage → Broadcasts in the sidebar) and each with its own results. A campaign is not another channel — it is the folder that groups the broadcasts (and posts and ads) you are running for one goal, so you can plan them together and read their combined results on one Channels tab instead of jumping between five pages. Send a broadcast on its own page when you only need that one channel; group broadcasts into a campaign when several channels are working toward the same goal, for example a WhatsApp broadcast and an email broadcast both announcing the same offer. A broadcast does not have to be part of a campaign — Part of a campaign (optional) on its composer is exactly that: optional.

Step by step: start a campaign by hand

  1. Press New campaign (top of the page). The window New campaign opens.
  2. Type a Name (required, up to 120 characters), e.g. Spring sale 2026. If you press Create campaign without one, the cursor moves to Name and it says "Give the campaign a name." (the same on the Settings tab with Save changes).
  3. Optional: pick a Goal (Awareness, Leads, Sales or Retention; No goal set by default), type a Description, and set Starts and Ends (the end cannot be before the start: "The end date is before the start date.", and Create campaign stays grey until the dates are fixed).
  4. Under Channels you plan to use, tick Social posts (ticked by default), WhatsApp broadcasts, Email, Telegram, Messenger, Messenger marketing messages and/or Instagram messages. Each one gets a section on the campaign's Channels tab.
  5. Press Create campaign. The campaign opens on its own page.

Step by step: plan a campaign with AI

  1. Under Plan a new campaign with AI, type the goal in Campaign goal (the box shows an example: "Campaign goal (e.g. Launch our summer collection)"; required, up to 500 characters).
  2. Set Duration in days (1 to 90) and tick the platforms the posts are for (at least one). An empty or out-of-range Duration turns red with "Enter 1 to 90 days." and Generate plan stays grey until it is fixed. Only the platforms with a connected account are listed, all ticked to start with; with none connected the form says "Connect an account first: the plan is made for the channels you post to." with Connect an account. While Generate plan is grey, a line under it says what it waits for: "Type the goal to generate a plan." or "Tick at least one platform to generate a plan."
  3. Optional: fill Brief or theme (optional) (the box reads "Optional brief / theme"; up to 1,000 characters), and tick Also suggest WhatsApp broadcasts to get 1 to 3 broadcast ideas with the posts.
  4. Press Generate plan. The campaign is saved as Draft and the page moves down to Review plan, which shows a summary and each post: Day N with the date it lands on if you approve now (for example "Day 2 Wed, Oct 7"), its title, why it fits, and the text and hashtags for each platform. Broadcast ideas are listed under Suggested WhatsApp broadcasts; they are ideas only, nothing is sent. If the AI cannot put a plan together, nothing is saved and a red line under Generate plan says "The AI could not put a usable plan together this time. No AI credits were used. Try again, or shorten the brief." While a plan is in review, Generate plan says under it "Generating again replaces the plan below: its draft campaign is discarded." - a new plan takes the place of the one you have not approved, so there is no extra Draft campaign.
  5. Press Approve & create (here, or on the campaign's page while it is a draft). A draft's page shows "This AI plan is not approved yet. Approve & create turns its posts into drafts in Content." with the same review under it: the summary, each post with Day N, its title, why it fits and the text for each platform, and Suggested WhatsApp broadcasts. The message counts posts, not channel versions: "Approved: N posts created as drafts, each with a planned time ((time zone)). Nothing is scheduled yet - open each post under Content, then validate and schedule it." When some posts are for a channel with no connected account it says "..., M of them with a planned time ((time zone)); the others have no connected account for their channel.", and when none has one, "..., without a planned time - no connected account for their channels." It may add: "Its posts start on (date), later than the plan said, because that time had passed.", "Nothing was planned on (account) ((platform)): it needs reconnecting on the Accounts page." and "No connected account can post to (platforms), so those versions stay drafts with no time." A plan approved after the day it was made for says so above its posts in Review plan: "This plan was made to start on (date), which has passed. Approved now, it starts today (or tomorrow, once today's best posting time has gone by); the dates below are when its posts will be planned." Each Day N shows the date that post gets if you approve now, worked out on the workspace clock exactly as Approve & create does. When the plan was made today but today's best posting hour has already gone by, it says: "Today's best posting time ((time), (time zone)) has already gone by, so approved now, Day 1 is (date). The dates below are when its posts will be planned." If the dates cannot be worked out on the server, it says "Dates are approximate: if today's best posting time has gone by when you approve, every post moves one day later."
  6. To throw a draft plan away instead, press Discard plan on its page (Owner, Admin or Editor). It asks Discard this plan? ("The draft campaign "(name)" and its planned posts are deleted. Nothing was created or sent from it."); press Discard plan to delete it, or Cancel. You go back to the campaign list and see "Plan discarded". A draft that has posts or broadcasts added to it cannot be discarded ("Only a draft plan with nothing added to it can be discarded. Delete or archive the campaign on its Settings tab instead."). A draft whose plan has no posts left says "This draft has no planned posts left to create. Press Discard plan, then plan a new campaign." and Approve & create stays grey.

The campaign list

  • Your campaigns shows each campaign with its status (Draft; Active, or Upcoming before its start date and Ended after its end date), the number of posts and of WhatsApp broadcasts, the start date, its goal, and Archived when it is archived. Tick Show archived to list archived campaigns too.
  • Press the name or Open to open the campaign's page (/app/campaigns → a campaign). All campaigns goes back.

The Channels tab

Results across channels adds up everything in the campaign:

  • People reached — post reach and the reach of the campaign's ads (as the networks report them) plus WhatsApp messages, emails and Telegram messages delivered and Messenger, Messenger marketing and Instagram messages sent. Someone reached on two channels counts twice.
  • Delivered, Read / opened, Replies and Clicks — from the WhatsApp broadcasts (read receipts, button taps), from the email broadcasts (opens, only when the campaign counts them, and clicks on tracked links), from the Telegram broadcasts (delivered and button clicks; Telegram does not report reads) and, for Clicks, the link clicks the networks report for the posts.
  • Conversions — leads marked converted and bookings made within 7, 14 or 30 days after the person read one of the campaign's WhatsApp messages (switch with Conversions counted within). The note under the numbers explains this only when the campaign has WhatsApp broadcasts or ads; otherwise it says how People reached is counted. Each is counted once, even if the person read several broadcasts. The revenue under it is the leads' value.
  • Message cost (only when the campaign has WhatsApp broadcasts or ads, or a message that cost something) — what the messages cost, per currency: Meta's charge for the WhatsApp messages and any other channel's price per message. Ad spend (only when the campaign has ads) — what its Click-to-WhatsApp ads spent, per currency; Meta bills the ad account's payment method, as the note under it says. Ad spend is not part of Message cost, and an ad's card carries the ad account note, not the WhatsApp one.

Below come one section per channel: Social posts, WhatsApp broadcasts, Email, Telegram, Messenger, Messenger marketing messages, Instagram messages and Ads, each with a line of totals and one card per post, broadcast or email broadcast, with its status (Draft, Scheduled, Running, Paused, Done, Failed or Cancelled) and its key numbers (an email card also shows its Subject). Open opens a post in Content; Open results opens the broadcast's page with its full results (Broadcast results), the email broadcast's results under Email broadcasts (Email broadcasts), a Telegram broadcast's results under Telegram broadcasts (Telegram broadcasts), or a Messenger or Instagram broadcast's results under Messenger broadcasts or Instagram broadcasts (Messenger and Instagram broadcasts), or a Messenger marketing message's results under Messenger broadcasts → Marketing messages (Messenger marketing messages). An Ads card is a Click-to-WhatsApp ad: it shows Meta's spend, the conversations it started and its reach (or Dry run: not sent to Meta), and Open results opens it on the WhatsApp Ads tab (Promote on WhatsApp). Social posts are listed by the date each card shows (published, else scheduled, else created), newest first.

Step by step: add to a campaign

  1. On the Channels tab press Add channel. The menu lists the channels this workspace has an account for: WhatsApp items need a WhatsApp number, Messenger items a Facebook Page, Instagram messages an Instagram account and Telegram a Telegram bot. When some are left out, its last item More channels: connect an account… opens Channels.
  2. Pick New social post to open Create with Campaign already set to this campaign: the post is added to it when you save or schedule it. On Create you can also pick the campaign yourself under Campaign (shown when the workspace has a campaign; No campaign leaves it out).
  3. Pick New WhatsApp broadcast to open the WhatsApp broadcast wizard with Part of a campaign already set to this campaign; the broadcast shows here as soon as you create it (even as a draft).
  4. Pick New email broadcast to open the email broadcast composer with Part of a campaign (optional) already set to this campaign; it shows here as soon as you save it (even as a draft). New Telegram broadcast (Telegram broadcasts), New Messenger broadcast and New Instagram broadcast (Messenger and Instagram broadcasts) open their composers the same way, and so does New Messenger marketing message (Messenger marketing messages, paid, to people who subscribed to a topic of your Page). New ad (Promote on WhatsApp) opens the Promote on WhatsApp drawer on the Ads tab with Part of a campaign (optional) set to this campaign; the ad shows here as soon as you create it (a dry-run ad too).
  5. Or pick Existing WhatsApp broadcast, Existing email broadcast, Existing Telegram broadcast, Existing Messenger broadcast, Existing Instagram broadcast, Existing Messenger marketing message, Existing ad or Existing posts: the window lists the 50 newest that are in no campaign. Press Add next to each one you want, then Close.
  6. An idea under Suggested by the AI plan has Create this broadcast, which opens the wizard for this campaign with the idea's name. You still pick the number, an approved template and the audience.

To take something out, press Remove from campaign on its card and confirm with Remove. Nothing is deleted or cancelled: the post stays in Content, the broadcast in WhatsApp, the email broadcast under Email broadcasts, and a Telegram, Messenger or Instagram broadcast or a Messenger marketing message on its own page, outside any campaign.

Send across channels

The Across channels tab (between Channels and Settings on the campaign's page) sends one message over several channels. Each person gets it on the first channel in your order that can reach them, and never on two channels, unless a message fails and you switched on the fallback. Each channel's part is an ordinary broadcast of the campaign, so its results also show on the Channels tab and on that channel's own page.

Step by step: send one message across channels

  1. On the campaign's page open Across channels and press Send across channels (or on the Channels tab press Add channel, then Send across channels). The page Send across channels opens (/app/campaigns → a campaign → Send across channels). It needs the Owner, Admin or Editor role and a campaign that is not archived.
  2. Type a Name (required; only your team sees it). Each channel's broadcast is named after it, for example "Eid offer - WhatsApp" and "Eid offer - Email".
  3. Under Channels, in order of preference, tick the channels to use and put them in order with the up and down arrows next to each one. For each ticked channel choose what it sends from under Send from: the WhatsApp number, the email channel, the Telegram bot, the Facebook Page or the Instagram account. Only accounts that can send are listed: a disconnected one (the platform no longer accepts its access) is never offered. A channel starts ticked only when it has an account that can send. A channel that cannot be used says why on its row, ticked or not, with Open Accounts (/app/accounts): "Not connected: connect an account in Accounts to use this channel." when nothing is connected, or "These accounts are disconnected, so they cannot send broadcasts: [name]. Reconnect them in Accounts." (for one account: "[name] is disconnected, so it cannot send broadcasts. Reconnect it in Accounts.") when its only accounts are disconnected. If you tick it anyway the row adds "While it is ticked, nobody gets it on this channel; the next channel takes their people." While a channel is coming soon (Messenger or Instagram), its row also says "Coming soon - opening to everyone shortly."
  4. Under The message on each channel, press a channel's name to write its part:
  • WhatsApp — choose the WhatsApp template (the number's approved templates that can go in a campaign), then under What fills each variable what fills each variable, exactly as in step 3 of the WhatsApp broadcast wizard, and the header media, coupon code, offer end or products the template needs. The phone on the side shows the message with sample values.
  • Email — Subject (required, up to 150 characters), Preview text, Message (required, plain text) and, together or not at all, Button text and Button link (https).
  • Telegram — Message (required; Telegram formatting: <b>bold</b>, <i>italic</i>, links) and Photo link (optional).
  • Messenger and Instagram — Message (required; up to 2,000 characters on Messenger and 950 on Instagram) and Image link (optional).
  1. On the email, Telegram, Messenger and Instagram parts, Copy from WhatsApp (shown only while WhatsApp is ticked) fills the text from the chosen template: a variable filled with the person's first name becomes {{first_name}} (with its fallback), a variable with the same text for everyone keeps that text, and WhatsApp's *bold* becomes bold on Telegram (plain text elsewhere). Check the wording afterwards. Insert first name adds {{first_name}} where the cursor is. The Preview on the side, Desktop or Phone (375 px wide), is the real message as that channel renders it.
  2. Under Who gets it, keep Everyone in Contacts or choose a list or segment under Only people in; optionally tick lists under Leave out people in and type tags, separated by commas, under Leave out people with these tags.
  3. Under If a message fails, switch on Try the person's next channel when their message fails to use the fallback, and set Wait before the next channel (minutes) (5 to 1,440; 60 by default).
  4. Under When, choose Send now, Schedule (then set Send at, in your computer's time) or Save as draft.
  5. Press Run simulation and read who goes where (see below).
  6. Press the button at the bottom, which follows your choice under When: Create and send now (it asks Send to N people now?; confirm with Send now), Schedule or Save as draft. You are taken back to the Across channels tab, where the send is listed. Leaving the page before that with something changed - reloading, closing the tab or following a link such as Cancel - first asks Leave this page? What you typed here has not been saved and will be lost. Press Cancel to stay. On the Across channels tab each channel of a send shows its numbers, for example "12 people · 10 sent · 9 delivered · 1 failed" ("1 person · …" for one). A channel nobody was put on says "Nobody yet - takes people whose message fails on an earlier channel", with the reasons people were left out of it.

Who can get which channel

  • WhatsApp — the person has a WhatsApp number that works, agreed to marketing (for a Marketing template), did not send STOP, and did not get a WhatsApp broadcast in the last day.
  • Email — they agreed to email marketing in Contacts, and their address did not bounce, unsubscribe or land on the do-not-email list.
  • Telegram — they started your bot and did not block it.
  • Messenger and Instagram — they wrote to your Page or Instagram account in the last 24 hours and that window is still open at the send time.
  • People come from Contacts. Newsletter subscribers who are not contacts are not included; reach them with an email broadcast.
  • Your messaging rules (Settings → Messaging rules: send windows and frequency caps) apply on every channel. The frequency cap counts the person once: someone over the cap on their channel is skipped and does not get another channel instead.

The simulation

Run simulation changes nothing and sends nothing. It shows how many people will get it out of the people in the audience, a bar with each channel's share, and one line per channel in your order: "N by WhatsApp" (their first channel), how many go now and how many wait for their send window, how many are over the frequency cap, how many more could get that channel after a failure elsewhere, and for Messenger and Instagram how many 24-hour windows are open now and close before the send. Left out on (channel): opens that channel's reasons (no consent, opted out, no WhatsApp number, window closed…). Reachable on no channel is split into people with no number, email address or chat on the chosen channels, and people who have one but whose channel's rules leave them out. A few people lists some people with their channel and, after "then", their next channels. Run it again after a change ("You changed something since the last run - run it again.").

The fallback

With the fallback on, when a person's message FAILS on their channel (it was not delivered: a number WhatsApp cannot reach, a bounced email, a blocked bot), OmniBrand waits the minutes you chose and then sends it on their next channel that still accepts them (checked again at that moment: consent, block, the 24-hour window). It never uses another channel for a message that was only unread, was skipped (consent withdrawn, window closed), was over the frequency cap, or was interrupted while sending (it might have arrived). A person is moved once per failure, even with several servers or after a restart. The failed message no longer counts toward the frequency cap, so the person still counts once. With the fallback off, a failed message stays failed.

Results of a send

Each send on the Across channels tab shows its status (Draft, Scheduled, Sending, Done or Cancelled), how many people are reachable and how many on no channel, the fallback setting, how many moved to their next channel and how many failed with no channel left, and one line per channel in your order: people, sent, delivered and failed, how many came after a failure on an earlier channel, and Open results for that channel's broadcast. A channel that only takes people after a failure elsewhere says "Nobody yet - takes people whose message fails on an earlier channel". Send now starts a draft; Cancel send asks Cancel this send? and then skips everyone not reached yet on every channel; Delete removes a send that never started, with its channel drafts.

Settings, archive and delete

  • The Settings tab has the same fields as New campaign; press Save changes. What you type there stays while you switch to Channels or Across channels and back; leaving the page with changes not saved (All campaigns, the sidebar, reload) first asks "Leave this page? What you typed here has not been saved and will be lost."
  • Archive campaign hides it from the list and from new broadcasts. Everything in it is kept and still counts on the Channels tab. Restore (on the tab or on the yellow banner) brings it back.
  • Delete campaign (Owners and Admins) asks Delete this campaign? and then Delete. It works only for a campaign that never reached anyone: posts that were published or are on their way, or a WhatsApp broadcast, email broadcast, or Telegram, Messenger or Instagram broadcast that already went out, refuse the delete ("… Archive the campaign instead."). Draft posts and unsent broadcasts and emails are kept, outside any campaign.

What happens after Approve & create

  • Each planned post becomes a content item (source campaign) with one version per platform. The campaign becomes Active.
  • For every platform where you have a connected account that can post, the version gets that account (the first one; a revoked or expired account is skipped and named in the message) with its planned date: Day 1 is the plan's start day - or today when that day has passed, or tomorrow when today's best posting hour has already gone by, so no post is planned in the past (the whole plan moves, keeping its spacing) - plus the post's day, at your best posting hour, both in the workspace time zone (Settings, Workspace, Timezone; the message names it). That account starts as Draft, so nothing goes out by itself: open the item in Content, press Validate, then Approve (or Request approval in a workspace with an approval chain), then pick the date and time with Schedule (or Publish now).
  • Platforms without a connected account get a version only; connect an account to it later.

If something goes wrong

  • Generate plan stays grey — the line under it says why: type a goal, and tick at least one platform.
  • "The AI could not put a usable plan together this time. No AI credits were used. Try again, or shorten the brief." (under Generate plan) — the AI did not return a usable plan, or none for the platforms you ticked. Nothing was saved and the 3 AI credits were given back; try again or shorten the brief.
  • "Campaign has already been approved" — the plan was already turned into content.
  • "This campaign is archived. Restore it before adding to it." — press Restore first.
  • "It already belongs to another campaign. Remove it there first." — open that campaign and use Remove from campaign.
  • "Nobody in this audience can be reached on these accounts. Run the simulation to see who is left out and why." — connect an account, tick another one, or choose another audience.
  • A message that starts with a channel's name, such as "WhatsApp: Template … is PAUSED", on Create and send now — that channel's part cannot be used; fix it or untick the channel.
  • "This broadcast is part of a cross-channel send; its people were chosen there…" — a channel's broadcast made by Send across channels cannot be edited on its own page; cancel the send and make a new one.
  • "Only a send that never started can be deleted. Cancel it instead; its results stay." — use Cancel send.

Good to know

  • A plan counts as 3 AI credits when it runs on included AI; a plan that fails is not counted.
  • A campaign left in Draft creates no posts until you press Approve & create.
  • Pictures are not generated; attach media to each version yourself.
  • Telegram, Messenger and Instagram broadcasts each have their own article: Telegram broadcasts, Messenger and Instagram broadcasts.

Related

In this section: Create

All articles