Back to blog
Profit3 min read

When to reallocate budget instead of launching a campaign

A new campaign costs creative, setup, a learning phase and budget. Moving money you already spend costs an afternoon. Here's the check that tells you how many riyals are sitting in the wrong place.
A new campaign costs creative, setup, a learning phase and budget. Moving money you already spend costs an afternoon. Here's the check that tells you how many riyals are sitting in the wrong place.

When performance flattens, the instinct is to make something new. New creative, new campaign, new channel. Each of those costs time, budget and a learning phase.

Meanwhile there's money you already spend sitting in the wrong place, and moving it costs nothing.

Why ranking on its own isn't enough

Sorting channels by return tells you which one beats which. It doesn't tell you how many riyals you can actually move.

An illustrative case: one channel takes 60% of the budget and returns 22% of revenue, while another takes 15% and returns 38%. The difference between spend share and revenue share is the money you can move this week.

For each channel, write its share of spend and its share of revenue, then subtract. The channel whose spend share clearly exceeds its revenue share is where the money comes from. The channel where it runs the other way is where it goes.

New campaign vs reallocation

New campaignReallocation
Creative costYesNo
Setup timeYesMinutes
Learning phaseYesNo
Extra budgetUsuallyNone
Time to resultWeeksDays

A new campaign is sometimes the right answer, when you've genuinely exhausted a channel or need a new audience. It's rarely the first step. People reach for it because building something new feels more like progress than dragging a budget slider.

The two numbers the check needs

Per channel, two numbers on a shared basis:

  1. Share of spend, from your ad accounts
  2. Share of revenue, attributed on your side, with each order counted once

Before you add anything up, fix the period and the attribution model across all channels. If you read one channel on first touch and another on last touch, the gap you see comes from how you read it rather than from how the budget sits.

The second number is the one that usually breaks. Rely on platform-reported conversions and each platform describes only itself. The sum runs past your real order count, so you start the calculation from a number that's already too high. See counting every order once.

Flowfy gives you the revenue side, with each order's source counted once. Connecting ad spend is on the roadmap and hasn't shipped, so the spend side comes from your ad accounts today. The whole check is a ten-minute spreadsheet: share of spend against share of revenue, per channel.

Before you treat a gap as an error

Three things to check first.

Roles differ. A channel whose job is introducing people to you has a low closing return by nature. That isn't misallocation, it's a different job. Look at its share of first appearances in the journey before you judge it. See designing the sequence.

The period is too short. If your product takes two weeks to decide on, a single week produces a phantom gap. Use a period that covers at least one full purchase cycle.

Returns aren't constant. Move budget into a high-return channel and that return usually drops as it scales. The arithmetic sizes the move, it doesn't forecast the result. See moving budget.

How you execute matters too. Move in small tranches with at least two weeks between them, so you can read the effect of each move before the next one. Moving it all at once mixes the budget effect with the platform's learning phase.

On frequency: monthly is enough for most stores. The gap builds slowly, because it's made of decisions that were right when they were made and nobody went back to them.

Common questions

How big does a gap need to be before it's worth acting on? Around ten percentage points of share or more. Below that you're inside your own attribution noise.

What if the channel with the gap is my biggest one? Then it's also your biggest opportunity, and the strongest reason to move in tranches rather than all at once.

Does this replace campaign optimisation? No. Optimise inside campaigns, reallocate between them. They're separate jobs.

How do I know the move worked? Watch total orders and new customers over a full purchase cycle. Don't judge on attributed revenue alone, because it will improve simply because you moved money toward the channel your model credits.

Before your next campaign

Work out share of spend and share of revenue per channel before you open a new campaign. If the difference approaches ten points or more, move a small part first and watch orders and new customers for a full purchase cycle before moving more.

Attribution

Which channel opens the journey and which one closes it

Ranking channels best to worst assumes they all do the same job. The alternative is assigning roles. Here's how to read each channel's role from your own data, and what changes in the budget afterwards.

3 min read
Tracking

Why one order gets counted twice, and how to stop it

The browser pixel and server-side tracking complete each other. Without a shared event ID between them, the same order is counted twice and ROAS reads better than reality. Here's what each path sees, and where deduplication breaks.

3 min read