Agency ad accounts for media buying: balance and fees
How teams work through agency ad accounts for Meta and TikTok: top-ups, fee rates by date, matching the agency balance to spend, bans and replacements.
CRMGuidesFinance9 min read

Why Meta's own rules on spend and CPI pause the wrong campaigns, and how to run stop-loss, scaling and duplication on tracker profit and ROI, tested first.

Meta’s automated rules judge a campaign by what Meta can see: spend, cost per result, CPM, frequency. A buying team is paid on what the advertiser confirms later, such as a deposit that only the tracker or the advertiser’s statistics know about. So a cabinet rule on CPI or cost per result can pause a campaign that earns and keep one that burns. The fix is to run the same stop-loss and scaling logic on tracker profit and ROI, with a minimum spend before any decision, a limit on every action, and a backtest and a review before the rule acts alone.
Meta describes automated rules as checks of campaigns, ad sets and ads that then update them or notify you. A rule has a condition, an action and the objects it applies to. The conditions Meta lists, as of November 2026, are Meta’s own measurements: cost per result, per purchase, per lead, per registration or per app install, CPM, impressions, reach, frequency, results, budget and bid values, and timing fields. Payout is not among them. The advertiser pays when a deposit is confirmed, and that fact lives in the tracker.
An example with invented figures. Two campaigns spent 60 each today.
| Spend | Installs | CPI in cabinet | Deposits | Revenue | Profit | ROI | |
|---|---|---|---|---|---|---|---|
| Campaign A | 60 | 12 | 5.00 | 3 | 120 | 60 | 100% |
| Campaign B | 60 | 30 | 2.00 | 0 | 0 | -60 | -100% |
A cabinet rule that pauses anything with CPI above 4 stops Campaign A, the winner, and leaves Campaign B running. Cheap installs that never deposit look perfect in the cabinet. The tracker sees what the cabinet cannot.
There are other reasons cabinet rules hurt a buying team:
Meta’s own rules still have a place: a notification when a lifetime budget is nearly spent, a schedule that turns a campaign on and off, a frequency cap. Use them for things that really are about the cabinet.
A rule on profit needs the same two sides as a report: spend from the ad account and revenue from the tracker, joined on the same campaign. The numbers you want in a condition:
Pick the time window with the delay in mind. Deposits arrive minutes, hours or days after the click. A rule that asks “ROI below zero today” at 10 in the morning will condemn every campaign. Better to say “spent at least X over the last 24 hours and ROI below Y”, or to judge on yesterday and the day before. Also note the freshness of each input: tracker conversions land at some interval, and spend lands at another. Check both before trusting a rule on short windows.
Choose the level on purpose. Tracker data is clean at the campaign level, because the link from click to campaign is the campaign parameter. Ad sets and ads depend on how well your sub parameters carry that detail. Start at the campaign.
A stop-loss rule protects money, so it should be simple and boring. A good one has four parts:
Two stop-loss levels work well together. A fast one catches a disaster: spend of 2X with zero revenue, pause. A slow one catches a slow leak: ROI below the team’s minimum over three days, notify the buyer and wait for their decision. The fast rule can act alone. The slow one is a conversation.
Avoid stop-loss rules that look at one hour. Variance in a single hour is large, and the rule will cut campaigns that would have recovered.
Scaling is the mirror of stop-loss, and the same discipline applies: enough spend, a result threshold, a limit on action.
Scaling mistakes cost more than stop-loss mistakes, because a bad scale spends faster. For this reason many teams let stop-loss act alone and put scaling behind a review.
A rule is code that spends your money. Test it before it has the keys.
On TikTok, remember the difference in tools. TikTok’s own help page describes rules that send notifications, pause underperforming ads and increase budgets or bids, with the target set at campaign, ad group or ad. If you drive TikTok from a third-party tool, check which of those actions the tool can use.
Auto-rules in DarkCore CRM read what the tracker says a campaign earns next to what the ad account says it costs. A condition can use spend, CPI, CPM and CTR from the cabinet, revenue, profit, ROI, EPC and cap left from the CRM, events, and your own metrics. Tracker metrics work on campaigns. A rule can look at today, yesterday or the last 3, 6 or 24 hours, and runs every 5, 15 or 30 minutes, hourly or once a day. Inputs come from Meta and TikTok ad accounts and from Keitaro and DarkCore PWA trackers.
A rule can act right away, only notify, or wait for a person to review each action. On Meta and TikTok it can pause for a set time, activate or notify. On Meta only, it can also set or shift a budget within a floor and a ceiling and duplicate a winner a set number of times a day, and the copies start paused. Before a rule goes live you can backtest it on past days and run it dry to preview the matches, and every run is logged with the campaigns it matched and the action it took.
The limits are plain. On TikTok rules only pause, activate, notify and wait for review: budget changes and duplicates are Meta only. Tracker metrics work on campaigns, not on ad sets or ads. The site does not state how fresh each metric is at the moment a rule runs, so ask for that in the demo, using your own tracker as the example. The site shows no prices, and a demo is booked in Telegram.
Not by themselves. The conditions in Meta’s help center are Meta’s own measurements, such as cost per result, CPM, frequency, results and budget values. To act on tracker profit or ROI you need a tool that reads the tracker and the cabinet together and then pauses or changes the campaign.
Enough that one event cannot decide. One way is to set the floor as a multiple of the expected cost of one confirmed result on the offer, and to adjust it after a backtest. Your payout, your cost per deposit and your conversion delay set the right number, so there is no universal value.
Only after a backtest, a dry run and a period in review mode, and only with a ceiling on the budget, a limit on steps per day and a check of the cap. Many teams let stop-loss rules act alone and keep scaling behind a human review.
How teams work through agency ad accounts for Meta and TikTok: top-ups, fee rates by date, matching the agency balance to spend, bans and replacements.
CRMGuidesFinance9 min read

How to manage offer caps per GEO and per buyer: what to count (installs, registrations, FTD, budget), which period, and what to do when a cap fills.
CRMGuides8 min read

What a CRM for media buying and affiliate teams must do, how spreadsheets, Notion, in-house builds and specialised tools compare, and how to choose.
CRMGuidesComparisons8 min read
