Skip to content
Testmıa Growth Hub.

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.

testmia · meta ads agent · 4 passes a day
A personChecks on Mondays · 1 reviewThe error lived 5 days
Mon
Tue
Wed
Thu
Fri
Sat
Sun
The agentFour passes a day · 28 reviewsThe error lived 4 hours
Mon
Tue
Wed
Thu
Fri
Sat
Sun
Five red cells against half a cell. The error is not an event: it is all the time nobody is looking at it.

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.

testmia · meta ads agent · pass with no changes
Example
08:002 changesThere was a reason
12:000 changesNothing to fix
16:000 changesNothing to fix
20:001 changeThere was a reason
Three changes in the whole day, with twenty-eight metrics looked at. Looking is not touching.

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.

testmia · meta ads agent · decision window
Ejemplo DECISION WINDOW · 72 H MADE A DECISION GENERAL WINDOW · 14 CLOSED DAYS

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.

testmia · meta ads agent · spend limits
Example MAXIMUM DAILY SPEND · USD 140 MINIMUM DAILY SPEND · USD 60 HIGHEST SPEND DAY · NEVER HITS THE CEILING
MonTueWed ThuFriSatSun
You set both limits. The agent decides inside them: it raises where spending more pays off and lowers where it doesn’t, without going over the ceiling or under the floor.

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.

testmia · meta ads agent · the day’s budget
Example
The day’s budget across campaignsFixed total · USD 100
Campaign · Cold audienceUSD 19 per purchaseUSD 21 per purchase · slowing −USD 10
Campaign · RetargetingUSD 16 per purchaseUSD 11 per purchase · on a run +USD 22
Campaign · CatalogueUSD 17 per purchaseUSD 19 per purchase · slowing −USD 12
The money goes where the run is, today. The total is the same: what changes is who deserves it.

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.

testmia · meta ads agent · padlocks
Ejemplo
WHITELISTOPENS
LIMIT PER CHANGEOPENS
SPEND CEILINGOPENS
WAITING PERIODSTAYS SHUT

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.

testmia · meta ads agent · operating mode
Ejemplo
OFF DOES NOT REVIEW
SEMI-AUTOMATIC WAITS FOR YOUR OK
AUTOMATIC EXECUTED

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.

testmia · meta ads agent · emergency brake
Ejemplo TRIGGERED BY SOMEONE PULLS IT THE DAY’S SPEND RUNNING AWAY TOO MANY ACTIONS IN ONE PASS FAILURE TO LOG A DECISION PAYMENT METHOD FAILURE INCOMPLETE ACCOUNT DATA BRAKE ON

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.

testmia · meta ads agent · decision log
Example
Logs
MarketAncora Colombia WhoAll ShowChanges made Apply
Agent Person Meta
08:12 AM Paused ad “#4” from ACTIVE to PAUSED
Reason: cost per result 38% above target, with enough volume to decide.
08:12 AM Raised the budget of “Lookalike buyers 1%” from USD 40 to USD 48
Reason: cost per result below target three days in a row.
12:30 PM Reactivated ad “#17” from PAUSED to ACTIVE
Reason: back in range after the creative was refreshed.
04:05 PM Changed the audience of “Retargeting 30 days”
Reason: client request, applied by the consultant.
08:48 PM Paused ad “#200” from ACTIVE to PAUSED
Reason: frequency above the limit you set.
08:12 AM Paused ad “#4” from ACTIVE to PAUSED
Reason: cost per result 38% above target, with enough volume to decide.
08:12 AM Paused ad “#4” from ACTIVE to PAUSED
Reason: cost per result 38% above target, with enough volume to decide.
08:12 AM Raised the budget of “Lookalike buyers 1%” from USD 40 to USD 48
Reason: cost per result below target three days in a row.
12:30 PM Reactivated ad “#17” from PAUSED to ACTIVE
Reason: back in range after the creative was refreshed.
04:05 PM Changed the audience of “Retargeting 30 days”
Reason: client request, applied by the consultant.
08:48 PM Paused ad “#200” from ACTIVE to PAUSED
Reason: frequency above the limit you set.
08:12 AM Paused ad “#4” from ACTIVE to PAUSED
Reason: cost per result 38% above target, with enough volume to decide.
Who touched the account this week
Agent
Person
Meta
Eight out of ten changes were made by the agent. The rest is logged just the same.

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.

testmia · meta ads agent · exploration mode
Example Today’s budget · USD 100
Proven · USD 80 Exploration · USD 20
Test #1 · Lookalike blog readersUSD 24 per purchaseUSD 27 per purchaseUSD 29 per purchase
Dropped at 4 PM · spent only its own USD 20
The proven 80% never noticed.
Test #2 · Running interestsUSD 26 per purchaseUSD 19 per purchaseUSD 15 per purchase
Passed the cut · tomorrow it joins the main budget
Test cheap, scale only what works.

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.