Tool · 01 · Meta Ads Agent
The agent that runs your Meta account
The biggest tool on the platform. It does not just look: it writes to Meta, inside the limits you set. Its judgement is not improvised by a model — it is written down in a document of our own that turns fourteen years of a media buyer’s craft into rules.
It reviews the whole account four times a day, proposes with the reason and the numbers in plain sight, executes within what you have enabled, and comes back to every decision at 72 hours. It ships switched off: it only operates if you turn it on, account by account.
Four passes a day, every day
An account looked at once a week has a seven-day error window: if something breaks on Tuesday, it keeps spending until somebody sees it on Monday. The agent comes in four times a day, on your account’s clock — an account in Bogotá is reviewed on Bogotá time. The first pass is the one that decides, because it arrives with the previous day already closed, which is the only honest moment to judge; the others watch and warn. If a pass runs late, it catches up on its own.
Looking is not touching
Most passes end without changing anything, and that is the right outcome. A system that needs to justify its salary touches something every day; this one doesn’t. If nothing gives it a reason, the pass closes with “reviewed and touched nothing”, and that silence is logged like any other decision. Not touching is a decision too.
Every decision is measured on its own
To judge the account, the agent looks at the last fourteen closed days: the day in progress is never judged, it is half done. But when it makes a decision it also opens a new window that starts at that moment, and measures it at 72 hours. Nothing that happened before goes into that count.
It is the only way to know what effect that decision had, rather than the drag of the week before: clean data, uncontaminated by what was already going on.
What came before stays out. The decision is measured from the moment it was made, against the rest of the account over that same period.
You set the floor and the ceiling
You set a maximum and a minimum daily spend for the account, and they live in a profile versioned by date that you can always see. The ceiling is worked out from real spend: the sum of what every active campaign is spending at the moment of the pass, including the ones the agent doesn’t run. With that maths the cap can’t be broken by a stale number.
With the ceiling reached it doesn’t raise a single budget. And if the account is spending less than it should, it says so.
The money goes to what pays off
Good runs are short-lived: a campaign can buy cheaper for three days and then fade. If nobody is watching, that whole run is lost. When the account is already close to the ceiling and there is no room to raise anything, the agent moves budget from a healthy but less efficient campaign to the one performing better. In small steps, and only if the gap between the two is genuinely large.
Both ends are tied together: if one order fails, the other is rolled back. And after a move, that pair of campaigns stays still for 72 hours in both directions, so the money doesn’t swing back and forth until it breaks them both.
The padlocks
Before an order goes out to Meta it passes through a row of padlocks. They are not promises or good intentions: they are filters written in code, and one of them staying shut is enough for the order not to go out.
There is a limit on how much a budget can move at a time, a waiting period after every change, a cap on how much can pile up over several days in a row, and a maximum number of actions per pass. And there is a whitelist: the agent only touches campaigns that were enabled one by one, so a new campaign is born outside its reach. An oversight means the agent does nothing; never that it does too much.
THE ORDER DOES NOT GO OUTTOUCHED LESS THAN 48 H AGO
Three open, one doesn’t. That is enough: the order doesn’t go out and the reason is written down.
What it can never do
These are not promises: they are filters in code, applied before the model ever sees the data.
- Delete anything on Meta. The operation does not exist in the part of the system that talks to Meta: it only pauses.
- Go over the maximum daily spend you set.
- Change an ad’s content: not the image, not the video, not the copy, not the destination.
- Switch anything on by itself: every new ad is born paused.
- Touch the targeting, the bids or a campaign’s objective.
- Reactivate something a person paused.
- Decide on incomplete data: if the day’s read has not closed, that pass does not operate, and says so.
- Go outside the geographic areas you defined.
The three modes
You choose how much rope to give it, account by account, and you can change it whenever you want.
All three log everything. What changes is how far each one goes on its own.
- Off
- It does not review, does not propose, does not touch. Every account is born this way: the agent does absolutely nothing until somebody switches it on.
- Semi-automatic
- It reviews and proposes, with the reason and the numbers behind each proposal. It executes nothing on its own: you apply or reject them one by one, and the rejection is written down too.
- Automatic
- It reviews, proposes and executes on its own, always inside the padlocks and the list of enabled actions. Everything it does is logged before it does it.
The emergency brake
Above the three modes there is a brake that overrides them all. With the brake on, the agent touches nothing, and it stays that way until a person releases it by hand.
Anyone at the business can pull it, without explaining why: stopping does not require permission. And it also pulls itself, without waiting for anyone to look, when a signal shows up that should not be there.
It is released by hand, never on its own. And releasing it means writing down why.
Everything is written down, before it runs
First the decision is written down, then the order goes out to Meta. If the system cannot record the reason, it does not execute: other people’s money moved without being able to explain why does not exist here.
Every entry has who decided, on what, the old value and the new one, the reason with the numbers in plain sight, and how it ended. Nothing is deleted or rewritten. Changes made by people go into the same timeline: one single place to look at what happened to the account, whoever did it.
Two more things it does
New ads, always with approval
Anyone on the team uploads the material: the image or the video, the copy, the headline and the destination go into a review queue. An administrator looks at it piece by piece, edits it if needed and approves it. Only then is it created on Meta, paused, for a person to switch on whenever they want.
And then it looks again
Seventy-two hours after every decision the system comes back and measures what happened, and compares it with the rest of the account over the same period. If everything dropped that weekend, the drop was not the decision. When the numbers are still open, it says so.
Exploration mode
A large part of the craft is trying things without knowing whether they will work, and the new competes against what already works and always loses. That is why exploration has a budget of its own, kept apart from the rest: one hypothesis at a time and the success criterion declared before launch. If the test does not make the cut, it is dropped having spent only its own money and the rest of the account never notices; if it does, it joins the main budget.
The percentage set aside for exploring is defined by you. And every exploration campaign is born switched off: a person turns it on, no exceptions.
You see exactly what the consultant sees
The panel shows how much was spent yesterday against the ceiling, what the last pass did, which proposals are waiting on a verdict and what changed over the week. All in your account’s time zone. You watching is not a consolation: it is the point.
Want it running your account?
Testmia works by application: we review every one to see whether your ecommerce can access the service. Write to us and tell us about your store.