Staggered panes of frosted glass edged in blue light.

Budget pacing is checked by an alert every morning

The teams we sit with check ad spend against the month's budget when somebody remembers to open the platform, which is usually after the money has gone one way or the other. We hand that comparison to an alert, and most of the work is in deciding when it stays quiet.

Muhammad Hussain, Partner and CEO7 min read

The check depends on somebody remembering

Ad spend is one of the few figures in marketing that a company can overshoot in a week and not notice until the invoice arrives. The team agrees the budget at the start of the month and sets the campaigns up against it. After that, the comparison depends on a person opening the platform and doing the arithmetic. We have sat with teams where that person has a name, and the check happens on a quiet morning. Some months the quiet morning doesn't come.

The platforms don't do the check for anyone. A daily cap on a campaign is not a monthly budget, because the platform is allowed to overrun the daily figure on a busy day and make it up on a quiet one. We usually find several campaigns with their own caps, and nobody has added them up. We have watched a new one get launched in the middle of the month by someone who did not know the total. Somebody raises the cap on an old one for a promotion and never lowers it again.

Underspend is the quieter failure and we see it just as often. Somebody pauses a campaign for a creative change and nobody restarts it, or a card expires and the platform stops serving until somebody reads the email. The month ends with approved money still sitting in the account, and nobody has built the report that would show it. We trace both back to a comparison done from memory.

What the alert compares

We need two numbers for the alert, and the first is the harder one to get. The monthly budget has to exist as a figure somebody signed, and we hold it outside the ad platform, because the budget field inside the platform belongs to whoever last edited a campaign. We put it in a sheet the client owns, one line per platform per month, with the name of the person who approved it next to the figure. The second number is easier. It is the spend so far this month, and we have the system pull it each morning so that nobody types it in.

Each morning we compare the spend so far with where the month should be. That is the budget divided by the days in the month and multiplied by the days that have passed, and it gives a line the spend is expected to sit on. We start with a straight line even where spend doesn't run evenly, because the platform's own scheduling handles the weekday and weekend difference inside the week. Where a launch month is going to spend more in its first week, we put weekly figures in the sheet and the line follows them.

We watch both directions. The finance director asks about overspend. Underspend is the one we have to argue for, because a budget that was not spent bought nothing that month, and the enquiries it was meant to produce will not arrive next month at a discount. We have the alert give the gap in money and as a share of the budget, with the direction written out in words, so the person reading it can act without opening anything.

The threshold decides whether it gets read

An alert that fires every morning is a newsletter, and the team reads it like one. We spend most of the judgment in this build on the threshold. A line set too tight fires on ordinary daily variance, since a platform spends a little more on a Monday than on a Saturday. Messages about nothing get the channel muted. A line set too loose fires after the money has gone.

We work on a band around the expected line. We take the width from what the account did over the previous three months, and the people who will receive the alert are in the room when we set it. Somebody has to say out loud how far off pace they would want to hear about. That figure is the threshold. We put it in the same sheet as the budget, next to the number it applies to.

The band is not the same width all month. In the first few days a single slow morning is a large share of what should have been spent, and a fixed percentage fires before there is anything worth reading. We set it wide at the start and narrow it as the month goes on. The first days of the month get no alert at all, and we agree with the client how many. There's nothing useful anyone can do with a pacing figure built on a day's data.

A breach also has to persist before we send anything. We log a single day outside the band and send nothing, since the platform will often correct it on its own the following day. We agree the run of days that counts as a pattern in the same session, and it is short. Past it, the person reading the message knows the platform is not going to fix this without them.

Where the message goes and how often

Every morning, before the working day starts, we run the comparison. We only send the message when the spend has sat outside the band for the agreed run of days. Running it daily and sending it rarely is what keeps it read. A weekly check finds an overspend after most of the week's money has gone, and an hourly one produces figures that mean nothing until the day is over.

We send it to a named person, in a place that person already reads, usually a Slack channel or an inbox. It carries the figures in the body: the account, the budget, the spend so far, the expected spend to date and the gap. Nobody should need to open the platform. The platform is the thing the person wasn't opening in the first place, and an alert that sends them back there has kept the problem and added a message to it. We put a second name on the alert for the days the first one is away.

Silence has to mean something. On its own, a quiet alert is either an account on pace or a connector that broke when somebody changed a password, and from the outside those look the same. So once a week we send a short summary regardless, with the same figures for every account, and we copy the finance director on it, because that summary is how the team knows the check is still running. A week is the longest a broken connector goes unnoticed.

What the alert does not tell anyone

It does not say whether the money was well spent. An account exactly on pace can be buying clicks for a landing page that has been broken since somebody updated the website. We read the results separately with the team at the end of the month, against the numbers agreed before the build. The alert keeps the spend inside the budget so that reading is worth doing. That is the whole of its job.

Nor does it remove the person. A campaign behind pace because a competitor bid up the keyword is a different problem from one behind pace because somebody paused it for a creative change, and an alert can't tell those apart. We have kept it out of that judgment on purpose, because a wrong diagnosis in a message people have learned to trust does more harm than a plain figure. What changes is where the person's morning goes. It goes on the decision, because the finding out has already happened.

And it stops working quietly. A platform changes its report format, a password expires, somebody adds a column to the sheet, or the person who looked after the connector leaves. None of that produces an error the team sees, and the failure looks exactly like a month of good behaviour. We built the weekly summary for that reason. The handover we leave names the connector, the sheet, the cell the budget sits in and who owns each, so that whoever notices the summary has stopped can find out why without us.

More than 10,000 hours of manual marketing work were automated across our engagements in the past year. Checking pacing by hand takes a few minutes on the mornings it happens, so it adds almost nothing to a count like that. We keep it on the list anyway. The cost of doing it by hand sits in the months when nobody had a quiet morning and the invoice was the first anyone heard of it, and a count of hours never shows that.

What we do

Topic:

Operations

About the author

Muhammad Hussain is Partner and CEO of Nuha Consulting and an expert in marketing automation. More about Muhammad

“An alert that fires every morning is a newsletter, and the person who will read it is in the room when we set the width of the band that keeps it quiet.”

Muhammad Hussain

More insights

Read more
Weekly campaign reports without the manual work A curved row of glass dominoes with the first one tipping. 7MIN READ Marketing operations Weekly campaign reports without the manual work
The next meetings are in contacts untouched for twelve months Rows of metal index cards with one card lifted and lit in blue. 6MIN READ Data and CRM The next meetings are in contacts untouched for twelve months
Which repeating work is worth automating, and which is not A dark stone staircase rising toward a slit of blue light. 5MIN READ Strategy Which repeating work is worth automating, and which is not
The numbers to agree before anything is built Rows of metal index cards with one card lifted and lit in blue. 5MIN READ Measurement The numbers to agree before anything is built

Talk through one of these processes

If a marketing team still does any of these by hand, we go through it on a first call and say how much of it could run on its own.

Schedule a 20-minute call (opens in a new tab)