Autorules
Autorules are automated management of Facebook (Meta) ads based on the combination of “platform spend + tracker conversions and revenue”. On a schedule, a rule checks campaigns, ad sets or ads and does on its own what a buyer usually does by hand: pauses unprofitable objects, enables them again, raises the budget of profitable ones, cuts weak ones or sends a notification.
The main difference from Ads Manager rules: an Adset.pro autorule sees tracker revenue. It compares Facebook spend with installs, deposits, revenue, CPD, ROI and ROAS from the tracker. So a rule can say, for example: “pause the ad set until the end of the day if today it has spent more than two target CPDs and today's clicks have not produced a single deposit”. An Ads Manager rule cannot do that — it knows nothing about your deposits.
Where to find it: the Meta / TikTok → Autorules menu.
Important. Do not confuse this with the “Autorules” item in the “Tracker” section — those are TDS rules for traffic distribution. It is a different function with a separate plan feature.
What autorules are for
Task | What it looks like in practice | Ready-made template |
|---|---|---|
Stop-loss | A new ad set has been spending budget since the morning, but there are no deposits. While you are asleep or busy with other campaigns, the rule pauses it until the end of the day and enables it again at midnight in the ad account time zone | “Stop-loss: no deposits today” |
Disabling dead ads | Since launch, an ad has spent more than the threshold (default $20) and has not produced a single install — the creative does not work, so the rule turns it off | “Kill ads without installs” |
Scaling | An ad set was in the plus by ROI yesterday and over the last three days — once a day the rule raises the daily budget (by 20% by default), but not above the set maximum | “Scale profitable” |
Cutting | A campaign has been in the minus for three days, but you do not want to turn it off — the rule lowers the daily budget (by 30% by default), but not below the minimum | “Cut unprofitable” |
Monitoring new campaigns | A campaign younger than three days has spent more than the threshold and has not brought a single deposit — you get a notification, and the decision is yours | “New campaign watch” |
Problem notifications | A creative's CTR has dropped noticeably compared with previous days, an ad set's CPM has jumped compared with yesterday, CPI is one and a half times above the target — the rule changes nothing and just reports it | “Creative burnout alert”, “CPM spike alert”, “Expensive installs” |
Templates are just a starting point: any rule can be built from scratch in the builder from your own conditions and actions. More in the article “Rule templates”.
How it works: the path of a single run
Each check of a rule against one ad account is called a run. A run goes through seven steps:
Schedule check. Every 5 minutes the system looks at which rules are due to run. Each rule has its own schedule (no more often than once every 15 minutes), calculated in the time zone of each ad account: the same rule on ad accounts in Europe and in Asia fires at different times.
Data freshness check. If Facebook spend or tracker conversions lag behind by more than allowed (90 minutes by default), the run is skipped — the rule does not make decisions on old numbers. The reason is shown in the log.
Scope. The rule collects the objects it works with: the selected ad accounts, the level (campaigns, ad sets or ads), filters by name, status, age and other attributes. New objects are picked up automatically, and objects that have “aged out” leave the rule automatically.
Conditions. For each object, metrics are calculated in the specified windows (“today”, “yesterday”, “last 3 days”, etc.) and compared with the thresholds. If a value is unknown (for example, there is no data), the object is left untouched.
Guards and conflicts. Before acting, the rule checks its guards: the pause after the previous action, the limit of actions per object per day, a recent manual change, the ad account budget cap. If several rules target the same object, the higher priority wins, and a pause always beats enabling and a budget increase.
Action. In live mode (Live), the change is sent to Facebook through a social profile on which this is allowed. In test mode (Dry-run), the rule only records what it would have done.
Log and notification. The run and each decision go into the rule log together with the “Why?” explanation: metric values, window, threshold. The rule owner receives a notification.
Example. The “Stop-loss: no deposits today” rule with a target CPD of $30 checks new active ad sets every 30 minutes. At 14:30 ad account time, the ad set “nutra_video_03” has spent $64, and today's clicks have not brought a single deposit. The condition “spend today greater than $60 and deposits 0” is met. The rule pauses the ad set until the end of the day, writes the metric values to the log and sends a notification. At 00:00 in the ad account time zone, the ad set is enabled again. If the rule were in test mode, the log would get the same entry with the outcome “Simulated (dry-run)”, and the ad set would keep running.
Key concepts
Concept | What it means | Where in the UI |
|---|---|---|
Level | Which objects the rule works on: campaigns, ad sets or ads. One rule — one level | “Name and ad accounts” step → “Level” |
Scope | Exactly which objects the rule checks: ad accounts (up to 50), filters (name masks, status, “Only new objects”, etc.), manually added objects and exclusions. In the log and preview this number is labeled “In scope” | “Which objects” step, “Objects in the rule now” counter |
Condition | Metric, window, comparison and threshold, for example “CPD over 3 days before today greater than $25”. Conditions are combined with “AND” and “OR” | “Conditions” step |
Window | The period over which the metric is calculated: “Today”, “Yesterday”, “Last N hours”, “Last N days” (with or without today), “Lifetime”, “Since budget change”. Days follow the ad account time zone | “Default window” and the window of each condition |
Attribution | How tracker conversions are assigned to a period. “By event time” — a deposit is assigned to the moment it arrived. “By click date (cohort)” — to the hour of the click that brought it; this is the default for CPD, ROI, ROAS and profit | “Default revenue attribution” and the attribution of a condition |
Action | What to do with a matching object: pause, pause until end of day, enable, change budget, notify. Up to 8 actions per rule, executed in order | “Actions” step |
Guards | Limiters that keep the rule from “jerking” an object back and forth: pause after an action, limit of actions per day, pause after a manual change, allowed data lag, ad account budget cap | “Guards and notifications” step |
Enabled / Paused | Whether the rule works at all. A paused rule does not run in any mode. Pausing a rule does not pause your campaigns | “Status” column in the list, “Enable” / “Disable” buttons in the rule |
Test mode (Dry-run) | The rule calculates everything for real but changes nothing in Facebook — it only writes to the log what it would have done. Every new rule is created in this mode and disabled | “Mode” column, tag in the rule header |
Live mode (Live) | The rule pauses, enables and changes budgets in Facebook. It is turned on separately, with confirmation, and only by a role with the live permission | “Switch to live” |
Priority | A number from 1 to 100, 50 by default. When rules conflict on one object, the higher priority wins; with equal priority — the older rule | “Name and ad accounts” step, “Priority” column |
Run | One check of a rule against one ad account: how many objects are in scope, how many matched, what was applied, skipped or failed with an error | Log → “Runs” tab |
Log | History of the rule's runs and decisions with the “Why?” and “Roll back” buttons. Action records are kept for 90 days, runs for 180 days | “Log” button, the time in the “Last run” column |
Rule owner | The user on whose behalf the rule works. The rule sees only the ad accounts and profiles the owner sees, and sends notifications to the owner | “Owner” column in the list |
Who can do what
Capability | Team owner | Team lead | Tech specialist | Buyer |
|---|---|---|---|---|
View rules and their log | All team rules | Own and subordinates' | All team rules | Only rules where they are the owner — read-only |
Create, edit, enable and pause rules | Yes | Yes | Yes | No |
Switch rules to live | Yes | Yes | Yes | No |
Delete rules | Yes | Yes | Yes | No |
Roll back an action from the log | Yes | Yes | Yes | No |
Enable the autorules permission on a social profile | Yes | Yes | No | No |
A platform admin can do all of the above in all teams; when creating a rule, the admin selects the team and the owner.
Anyone who can edit a profile can turn off the autorules permission on it: this is a step towards safety.
A buyer sees the “Autorules” screen with the note “You can view rules and their logs, but changing them is not available for your role.” They have no toggles, bulk actions or create buttons.
A rule always works on behalf of its owner. If a team lead has created a rule on their buyer's ad account, the rule uses the profiles the team lead sees.
Beta and plan
Meta autorules are in beta and are enabled on request. The team plan must include the “Meta autorules (beta)” feature. This is a separate feature: a plan with TDS autorules does not include it.
Without the feature, instead of the rule list and the builder, a screen opens saying “Meta autorules are not available on your team's current plan.” with the “See plans” button.
If the feature is disabled when rules already exist, they stop running: in the log, runs are marked with the reason “Autorules are not on the team plan”. The log stays available read-only; rolling back actions is unavailable.
While the plan is being checked, the screen shows “Checking your team's plan…”. If billing is temporarily not responding — “Couldn't check your team's plan”: try again in a minute.
What is and is not supported
What | Support |
|---|---|
Facebook (Meta) | Yes |
TikTok | Not yet: only Meta ad accounts can be selected in a rule |
Levels | Campaigns, ad sets, ads |
Actions | Pause, pause until end of day, enable, change the daily or lifetime budget, notify. Ads have no budget; a campaign budget can be changed only for CBO campaigns, an ad set budget — only for ad sets of ABO campaigns |
“By Developer Token” and “Antidetect agent” profiles | Apply changes in live if the autorules permission is enabled on the profile |
“By Browser Extension” profiles | Test mode and notifications only: live changes for such ad accounts are skipped |
“By Meta Application” (OAuth) | This connection method itself is currently marked “In development” and cannot be selected |
Facebook metrics | Spend, spend with commission, impressions, clicks, CPC, CTR, CPM |
Tracker metrics | Installs, registrations, deposits, redeposits, revenue, CPI, cost per registration, CPD, CR by funnel step, profit, ROI, ROAS |
Object attributes | Status, delivery status, daily budget, lifetime budget, budget type, learning phase, hours since creation, start, first spend, budget or status change |
Name masks |
|
Filters by offer, flow and geo | Not yet. You can filter by campaign and by tracker source |
Limits of a single rule: up to 50 ad accounts, up to 8 actions, up to 6 different “window × attribution” pairs in conditions, up to 5 masks in the name filter, up to 500 manually added objects and up to 500 exclusions. In one run, a rule checks up to 5,000 objects per ad account. Schedule — no more often than once every 15 minutes.
What rules need to work
The “Meta autorules (beta)” plan feature.
Facebook ad accounts connected via social profiles, with spend sync completed for them.
Campaign, ad set and ad ID macros mapped in the traffic source — otherwise the rule will not see deposits and revenue for Facebook objects.
For live mode — the autorules permission on the ad account's social profile and a connection method that can make changes.
Details in the article “Preparation: profiles, change permission and data”. If you want to try it right away, start with the “Quick start”.
Articles in this section
Quick start: your first rule from a template — a stop-loss in 15 minutes: from template to switching to live.
Preparation: profiles, change permission and data — what to set up before your first rule.
Rule list — columns, filters, quick toggles and bulk actions.
Scope: ad accounts, level, name masks and “only new” — how to select a rule's objects.
Conditions: metrics, windows, attribution and comparisons — how to define when a rule fires.
Metrics and attributes reference — what each metric means and where it comes from.
Actions: pause, enable, budget, notification — what a rule can do with an object.
Schedule, guards and priorities — how often to run a rule and how to keep it from “jerking” objects back and forth.
Preview, test and live modes — how to check a rule before it changes anything.
Rule templates — eight ready-made rules and their parameters.
Log: runs, “Why?” and rollback — how to review a rule's decisions and undo them.
Notifications — who receives messages from rules and when.
Why a rule did not fire: reasons, limitations and FAQ — common situations explained.
