Adspenta

How it works

Five steps, run every morning, on every ad account.

This is Meta ads automation for agencies with the lid off. Each step is ordinary code with a name, a rule and a line in the ledger. Adspenta reads your Meta and Google accounts, notices what drifted, proposes the fix, waits for a person, then verifies what landed. Send this page to a client who wants to know what the tool is allowed to do.

ReadNoticeProposeApproveVerify

The five steps, in order

1Read

Every account. Every day.

Once a day, at a time you set, Adspenta pulls the last 30 days from every connected ad account through the official Meta and Google APIs. It reads; it does not write.

  • Campaign, ad set and ad structure, with budgets and schedules.
  • Spend, impressions, clicks, results and cost per result, by day.
  • Creative-level delivery: frequency, click-through rate, days running.
  • Account state: disapprovals, delivery limits, learning phases.

If a platform is unreachable, the read fails loudly and the day is marked incomplete. It does not quietly use yesterday's numbers.

2Notice

It notices what a good buyer would.

The detectors are rules with thresholds and windows, not a model's opinion. Each one compares an account against its own recent history and the plan you set for it, and either fires or does not.

  • Pacing over plan. Spend is ahead of the month with days still left.
  • Creative fatigue. Frequency up, click-through down, sustained.
  • Cost per result drifting. Outside the account's own normal range.
  • Budget not spending. Delivery well under the daily budget.
  • Learning phase reset. Recent numbers are not yet trustworthy.

A finding is a fact with evidence attached. It is not yet a suggestion to do anything.

3Propose

It proposes the fix, with the reason.

A finding becomes a proposal only if there is a specific, bounded change that answers it. The card carries the exact value before and after, the evidence rows it was drawn from, and its blast radius, which is how much of the account's daily spend this one change moves.

  • One change per card. No bundles you have to unpick.
  • The sentence begins with "because", and the numbers after it are the ones on the account.
  • Proposals that would break a guardrail are not shown as approvable. They are logged as blocked, with the limit that blocked them.

Reduce daily budget 120.00 → 96.00 · blast radius 12%

Reduce daily budget

Winter Prospecting · Meta
120.0096.00 per day
Pacing 18% over plan · 11 days left
5:00
Take-back window
Take back
4Approve

Nothing happens without a yes. And you can still say no.

Approval is a person, named, at a recorded second. Declining is a first-class action too: you can say why, and the reason is kept with the proposal so the same argument does not come back tomorrow.

  • For five minutes after a yes, one click restores the old value, before anything reaches the platform.
  • Client viewer logins can see proposals. They cannot approve them.
  • If the account is not switched to live writes, an approval is still only a dry run: the change is computed and logged, not sent.

Approve, or take it back. Five minutes, your call.

5Verify

Verified. Logged. Reversible.

After the take-back window closes, the change is written to the platform and then read back to confirm the platform actually took it. Both the write and the read-back go into the ledger with their timestamps.

  • If the read-back disagrees with what was approved, the change is marked unverified and raised to you. It is never quietly assumed to have worked.
  • Every entry keeps the old value, so reverting later is a value you already have, not a guess.
  • The ledger is append-only. Corrections are new lines, never edits.

Nobody can edit this. Not even us.

09:43:07

The four locks

Between a proposal and your client's money.

Each lock is independent. Any one of them stops a change on its own, and all four start in the safest position. The panel below works, so try to get a change past it.

Lock 1

Platform mode

Dry run computes and logs the change without sending it. Every platform starts here.

Meta Live
Google Dry run

Live writes reach Meta today. Google is connected read only until that work ships.

Lock 2

Live writes, per account

Even on a live platform, each account stays read-only until someone turns it on.

Northwind DentalLive
Harbor & VineLive
Keel OutdoorProposals only
Fernbrook ClinicProposals only

Lock 3

Guardrails

Limits on how much one approval can move, how often, and how many times a day.

15%
24 h
6 / day

Lock 4

Halt

One button stops every pending and future write across every account, immediately. It stays stopped until a person turns it back on.

00:00:00 HALT_ENGAGED by you halt

Try a proposal

Build one and watch the locks decide

-20%

What would happen

Executes

Move a switch or a slider.

Nothing here touches a real ad account. The order of checks is the product's own: halt first, then the guardrails, then platform mode, then the account's own switch.

Start in dry run.

Connect one account, let it read for a week, and read the proposals it would have made. Live is a switch you flip afterwards, per account, on purpose. Pricing starts at €490 a month for up to 15 connected accounts.