Flows vs Campaigns in CRM: Which Earns More?
Flows vs campaigns across email, WhatsApp, push and SMS: what each tool calls them, what revenue split is normal, how to stop clashes, and India costs.

Updated October 2026.
A campaign is a message you send to a list at a time you choose: a sale, a launch, a newsletter. A flow is a series of messages that starts on its own when a person does something, such as signing up, viewing a product or leaving a cart, and moves each person along on their own clock. Campaigns create demand. Flows collect it.
Tools use different names for the same two things. Klaviyo and MoEngage say flows, CleverTap and WebEngage say journeys, and Braze says Canvas. This page uses "flow" for all of them.
At PNG Jewellers, where I ran WebEngage as the retention agency managing its CRM, we built a flow for every point a visitor stopped, from the first-visit pop-up to the cross-sell after a purchase. Those automations brought in 77% of CRM revenue, and campaigns the other 23%. That number is useful, but only once you know what drives it, which is most of this page.
What is the difference between flows and campaigns?
Klaviyo's own course puts it simply. Campaigns are "one-time targeted messages sent to a specific audience", while flows are "set up in advance to send personalized messages triggered by a customer's actions" (Klaviyo Academy).
| Item | Campaign | Flow |
|---|---|---|
| Starts when | You press send or schedule it | A person does something, or a date arrives for them |
| Who gets it | A whole list or segment, at once | One person at a time, as they qualify |
| Steps | Usually one message | Several messages with waits and branches |
| Built for | Sales, launches, news, festive offers | Welcome, browse, cart, post-purchase, win-back |
| Runs | Once, then it's done | Every day, until you switch it off |
The label in your tool matters less than two questions. Does it start on a schedule or on a trigger? Is it one step or many? A "triggered campaign" in MoEngage or a "live behavior" campaign in CleverTap sends one message when a person acts, so it's really a one-step flow. Adobe's guide draws the line the same way: if each customer should "move at their own pace", it's a journey (Adobe Journey Optimizer).
What each tool calls flows and campaigns
These names come from each tool's own documentation, as of October 2026.
| Tool | What it calls them |
|---|---|
| Klaviyo | Flows: Flows Campaigns: Campaigns |
| Braze | Flows: Canvas Campaigns: Campaigns, including action-based and API-triggered |
| MoEngage | Flows: Flows Campaigns: One-time, periodic, event-triggered and business-event campaigns |
| CleverTap | Flows: Journeys Campaigns: One-time, recurring and live behavior campaigns |
| WebEngage | Flows: Journeys, plus Relays for business events like a price drop Campaigns: One-time, recurring and triggered campaigns |
| Netcore | Flows: Journeys Campaigns: Campaigns |
| Salesforce Marketing Cloud | Flows: Journey Builder journeys Campaigns: Single sends |
| HubSpot | Flows: Workflows Campaigns: Marketing emails |
| Interakt | Flows: Workflows Campaigns: One-time and ongoing campaigns |
| Wati, AiSensy | Flows: Automations and chatbot flows Campaigns: Broadcasts |
| Gallabox | Flows: Sequences Campaigns: Broadcasts |
| Kwik Engage | Flows: Automated workflows Campaigns: Broadcast campaigns |
Sources: Braze, MoEngage delivery types, CleverTap, WebEngage Relays, Netcore, Interakt, Gallabox and Kwik Engage. On WhatsApp tools in India, "broadcast" is the usual word for a campaign, which is why "WhatsApp broadcast vs automation" is the same question as this page.
Campaigns create demand, flows collect it
Here's the part most comparisons miss. Flows and campaigns aren't rivals. They feed each other.
A sale campaign goes out. People open it, visit the site, browse and add to cart, and many leave. Now the browse and cart flows kick in, and the reminder gets the order. Your tool credits the flow, because the flow sent the last message. The campaign created the visit.
So when someone says "flows earn more than campaigns", part of what they're seeing is flows collecting demand that campaigns created. That's also why stopping campaigns rarely works. The flows go quiet too, because fewer people enter them.

What flow vs campaign revenue split is normal?
There isn't one right split, and anyone who gives you a single target is guessing. These are the published numbers, as of October 2026.
| Source | Flows' share of revenue | Share of sends |
|---|---|---|
| Klaviyo email benchmarks, 2026 | About 41% | 5.3% |
| Klaviyo SMS benchmarks, 2026 | 45.2% | 7.6% |
| Omnisend report, 2026 | 30% (37% a year earlier) | 2% |
| Darkroom, an agency, under $5M revenue | 25% to 35% | Not stated |
| Darkroom, over $20M revenue | 50% to 60% | Not stated |
| PNG Jewellers, my client | 77% | Not tracked here |
Treat vendor figures with care. Klaviyo's page says flows have "13× higher placed order rates", but its own industry table shows flows at 1.62% to 2.17% and campaigns at 0.97% to 1.34%, which is under 2x. Read the table, not the headline.
Why was PNG Jewellers at 77%? Jewellery is a considered purchase. People browse a piece several times and often ask family before they buy, so most revenue comes from following up on that browsing. Campaigns mattered less because the buying decision was already happening on the site.
Four things move the split for any brand.
- How often you send campaigns. One or two a month means flows take a bigger share. Daily campaigns pull it the other way.
- The season. Around Diwali, end-of-season sales and launches, campaigns earn more than flows, because that's when demand is created.
- How considered the purchase is. Jewellery, furniture and electronics lean on browse and cart flows. Low-priced, impulse products lean on campaigns.
- How many flows you have, and how good they are. A brand with only a welcome flow will show a low flow share whatever it sells.
Don't chase a ratio. Ask whether each flow earns its place, and whether campaigns are bringing in enough new demand for the flows to collect.
Flows vs campaigns on WhatsApp, push and SMS in India
Most guides only cover email. In India, WhatsApp and push carry more of the revenue, and they change the maths.
Flows convert better on every channel. MoEngage's India benchmarks show it, as of its 2024 report.
| Channel, India | Broadcast conversion | Journey-based conversion |
|---|---|---|
| Android push | 15.62% | 20.97% |
| iOS push | 6.99% | 19.32% |
| 4.21% | 7.75% | |
| SMS | 0.11% | 0.56% |
Source: MoEngage Customer Engagement Benchmarks 2024, India. MoEngage measures conversion after a click, so these rates aren't comparable with Klaviyo's.
On WhatsApp, the category decides the cost, not whether it's a flow. An order update sent by a flow is a utility message, at about ₹0.115 in India. A cart reminder is a marketing message even though a flow sends it, at about ₹0.8631, and so is every broadcast. My WhatsApp API pricing guide has the full rate card, and my WhatsApp message template guide covers how categories are decided.
Broadcasts can block your flows. Meta limits how many marketing messages one person receives, counting messages from every business, not just yours. A big festive broadcast can use up the slot your cart flow needed the same day, and the cart reminder fails with error 131049. I explain that error in WhatsApp error 131049.
SMS needs a template for each message. Every SMS, whether a flow or a campaign sends it, needs its own DLT template. Plan the flow's messages before you register them.
When flows and campaigns collide
The question people ask most in Klaviyo's community is how to stop someone in a cart flow from also getting the sale blast that morning. There's no clean button for it in most tools. You need rules.
These are the three I've run, and they work on any tool.
- A gap between WhatsApp messages. Nobody gets a WhatsApp message if they've had one in the last four days, whether a flow or a campaign sent it. WhatsApp is the channel where an extra message costs the most, in money and in blocks.
- No re-entry. A person goes through a flow once. If they abandon a second cart next week, they don't get the same three reminders again.
- A frequency cap across channels. One limit on how many messages a person gets in a set period, counting flows and campaigns together on every channel.

Check how your tool applies caps, because it differs, as of October 2026.
| Tool | How caps treat flows |
|---|---|
| MoEngage | New Flows ignore frequency caps and DND by default. You choose whether Flow messages count toward caps |
| CleverTap | Limits apply across campaigns and journey steps, and the strictest one wins |
| WebEngage | Caps and DND are set for the whole journey, not for each step |
| Braze | A capped Canvas step is skipped, not delayed. The person moves on to the next step |
| Klaviyo | Smart Sending skips people who got a message recently. It's on for all campaigns, but only for some pre-built flows |
Sources: MoEngage Flows capping, CleverTap frequency caps, WebEngage frequency capping, Braze frequency capping and Klaviyo Smart Sending.
Two traps follow from that table. In MoEngage, a new Flow and a campaign can both reach the same person on the same day unless you change the setting. In Klaviyo, sending three campaigns a week can quietly skip the second email of a flow, because Smart Sending sees the campaign as a recent message.
Which flows to build first
Build flows before you scale campaigns. A campaign earns once. A flow earns every day it runs, so every week without one is revenue you don't get back.
At PNG Jewellers, we built a flow for every point a visitor stopped, on both email and WhatsApp.
- Web pop-up. Turns an anonymous first-time visitor into someone you can reach.
- Welcome. Introduces the brand to everyone who signs up.
- Browse abandonment. Follows up with people who explored a collection and left.
- Product abandonment. Brings back people who looked at one piece and stopped.
- Add-to-cart abandonment. Reminds people who added a piece but didn't check out.
- Checkout abandonment. Recovers people who started paying and dropped off.
- Post-purchase and cross-sell. Recommends the next piece once the first one is bought.

For the cart step on WhatsApp, my abandoned cart WhatsApp guide has the templates and timings. For customers who have gone quiet, add a win-back flow, which I cover in win-back campaigns.
The most common mistake: set and forget
The mistake I see most when a brand comes to me is flows that were built once and never touched again. A flow keeps running, so it keeps saying whatever was true on the day it was built.
Two things go wrong.
- The offer goes stale. A flow still offers 5% off while the site is running a 30% sale, so the reminder looks worse than the homepage. Or the flow offers a big discount while the brand has stopped discounting, and it trains people to wait. Check every flow's offer whenever the brand's offer changes.
- Product recommendations go out of stock. A flow with fixed, hand-picked products keeps showing them after they've sold out, and someone has to swap them by hand. Use dynamic recommendations that pull from current bestsellers or the person's browsing, so they update on their own.
Put a monthly flow review on the calendar. Check each flow's offer, products, links and revenue against the month before. A flow whose revenue drops while traffic holds steady usually has a broken trigger or a stale message.
How to tell what's really working
The revenue your tool shows for flows and campaigns isn't the revenue they caused. Every tool credits sales differently, as of October 2026.
- Klaviyo gives the sale to the last message clicked or opened within 5 days, by default, for email and SMS. Opens count, including automatic ones from Apple Mail (Klaviyo).
- MoEngage lets you set the window per campaign, and its All Interactions model can credit one sale to a Flow and to each campaign inside it (MoEngage). Add those up and you count the sale twice.
- CleverTap credits each conversion to one campaign or journey on its Conversions Board, so that total will be lower than the sum of every campaign's own report (CleverTap).
The real test is a holdout. One brand tested it: analytics firm Polar held 10% of customers out of all email for a few months. For existing customers, email showed no measurable lift in orders. For new subscribers, the welcome flow lifted revenue by 23% (Polar Analytics case study). That's one brand, but the lesson travels: some of the revenue your tool credits would have come anyway. My global control group guide shows how to set up a holdout and read the result.
Where I fit
I'm Raviraj, founder of Compound Lab, a retention agency for D2C brands and consumer apps. If your flows were built once and never reviewed, or your campaigns and flows are tripping over each other, book a 30-minute call. If you're learning CRM, start with how to become a CRM marketer.
FAQ
What is the difference between a flow and a campaign? A campaign is a message you send to a list at a time you choose, like a sale announcement. A flow is a series of messages that starts automatically when a person does something, like leaving a cart, and runs for each person on their own timing.
Do flows or campaigns make more money? Flows earn far more per message. Klaviyo's 2026 benchmarks show flows bring in about 41% of email revenue from 5.3% of sends. Campaigns still bring in most of the total at many brands, and they create the visits that flows later collect.
What is a good flow vs campaign revenue split? There's no single target. Published figures range from about 25% from flows for smaller brands to 60% for larger ones, and a considered-purchase brand can go higher. At PNG Jewellers, automations brought in 77% of CRM revenue.
Should people in a flow be excluded from campaigns? Usually yes, at least on WhatsApp and SMS. Use a gap rule, such as no second WhatsApp message within four days, plus a frequency cap across channels, so a person in a cart flow doesn't also get the sale blast.
Should I build flows or campaigns first? Flows first. Start with a pop-up and welcome flow, then browse, cart and checkout flows, then post-purchase. A flow keeps earning every day, while a campaign earns once.
What is the difference between a journey and a campaign? It's the same as flows vs campaigns. CleverTap, WebEngage and Netcore call their automated sequences journeys, Braze calls them Canvases, and Klaviyo and MoEngage call them flows.
Is WhatsApp broadcast the same as a campaign? Yes. Indian WhatsApp tools like Wati, AiSensy and Gallabox call a one-time send to a list a broadcast, and their automated, triggered messages flows, workflows or sequences.
Flows built once and never reviewed? Book a 30-minute call.