Actions: pause, enable, budget, notification
An action is what a rule does to an object once it matches the conditions: pauses it, enables it, changes its budget or sends a notification. Actions are configured on the “Actions” step of the rule builder.
The essentials:
a rule has 1 to 8 actions; they run in the order they appear in the list (the order is changed with the “Move up” and “Move down” buttons);
an action runs separately for each campaign, ad set or ad that matched the conditions;
before acting, the rule checks whether the action applies to the object and whether guards or other rules of the ad account interfere, and verifies the object's current state in Facebook;
in test mode (Dry-run), actions are only written to the log as “Simulated (dry-run)” — nothing changes in Facebook.
Available actions
Action in the builder | What it does | Where it works |
|---|---|---|
Change status → Paused | Pauses the object. The object stays off until it is enabled manually or by another rule. | Campaigns, ad sets, ads |
Change status → Active | Enables the object, but only if it was turned off by an autorule. A manual pause is not lifted. | Campaigns, ad sets, ads |
Pause until end of day | Pauses until the end of the day in the ad account time zone; at 00:00 the object is enabled automatically. | Campaigns, ad sets, ads |
Change budget | Increases, decreases or sets the daily or lifetime budget. | CBO campaigns and ad sets of ABO campaigns. Ads have no budget |
Notify | Sends a notification to the rule owner (and to the ad account owners, if enabled). The object is not changed. | Campaigns, ad sets, ads |
How a rule performs an action
For every matched object and every action, the rule goes through the same steps. At any of them the action can be skipped — the log then shows “Skipped: …” with the reason.
Applicability. Whether the action can be performed on the object at all: the object is not deleted or disabled by Facebook, it has the required budget, and the ad account currency and time zone are known. If not — “Skipped: not applicable” (the reasons are covered at the end of the article).
Already done. The object is already paused, already enabled, or the budget already equals the target — “No action needed”.
Guards. Pause after the previous action, daily action limit, pause after a manual change. Details are in the article “Schedule, guards and priorities”.
Other rules. If several rules of the ad account target the object in the same run, the rule with the higher priority wins, and a pause always beats enabling and a budget increase.
Budget. The new value is limited by the “Not below” and “Not above” bounds, the daily growth limit and the ad account budget cap.
Check against Facebook. Right before the change, the rule re-reads the object state in Facebook. If the status or budget is no longer what the rule saw when deciding (for example, a buyer has just edited the budget in Ads Manager), the action is skipped: “Skipped: object changed”. If the object is already in the required state — “No action needed”.
Change. The change is sent to Facebook through an ad account profile that is allowed to make autorule changes (see “Preparation”).
Pause
Add the “Change status” action and select “Paused”. The object is turned off “for good” — the rule will not enable it by itself.
If the object is already paused, the log shows “No action needed — Object is already in the target status”. Such a pause still “holds” the object in this run: no rule will enable it or increase its budget, and rules with a lower priority cannot change its budget at all. This keeps the object from “flickering”: pause — enable — pause again.
A permanent pause cancels the scheduled enable at 00:00 if the object had previously been paused until the end of the day.
Typical use: turning off ads without installs, turning off an ad set whose CPD has been above the acceptable level for several days.
Example. Nutra, “Ads” level. Conditions: lifetime spend above $25 and lifetime registrations equal to 0. Actions: “Change status → Paused” and “Notify”. The ad is turned off, and you receive a notification with a link to it in Ads Manager.
Enabling
Add the “Change status” action and select “Active”. The hint in the builder says: “Enables only objects turned off by rules: the rule does not lift a manual pause”.
The rule enables an object only if its last status change was made by an autorule (any Adset.pro rule). If a person changed the status last — in Ads Manager, in Adset.pro or via a rollback — there is no enabling: “Skipped: recent manual change” with the reason “Status was changed manually”. If it is unknown who changed the status (for example, the object was turned off before the ad account was connected), the reason is “Unknown who changed the status”.
This is checked twice: when deciding and right before sending, against the fresh state from Facebook.
Enabling cannot be combined with a pause in one rule. The usual setup is two rules: one turns objects off, the other enables them under different conditions.
For the rule to see turned-off objects at all, the “Status” filter on the “Which objects” step must include “Paused” (or there must be no status filter). A rule that looks only at active objects has nothing to enable.
If the rule has an ad account budget cap, enabling is checked against it too: the daily budget of the object being enabled is added to the total (for an ABO campaign — the budgets of its ad sets). If it does not fit — “Skipped: ad account budget cap”.
Example. Rule A at the ad set level pauses ad sets with ROI over 3 full days below −30 %. Rule B on the same ad accounts, with the “Status: Paused” filter, enables ad sets whose cohort ROI yesterday is above 40 % (deposits from yesterday's clicks arrived later). Ad sets that the buyer turned off manually are not touched by rule B.
Pause until end of day
The “Pause until end of day” action pauses the object now and schedules it to be enabled at 00:00 in the ad account time zone. This is the basis of a stop-loss: the daily limit is spent without deposits — stop until tomorrow, and in the morning the ad set is running again.
Scheduled enables are shown in the rule log on the “Scheduled enables” tab: the object, the enable time, the status (“Waiting”, “Sending”, “Done”, “Cancelled”, “Failed”), the attempts and the result.
When the object is enabled and when it is not
At 00:00 the system checks the object in Facebook and enables it only if:
the object is still paused;
its last status change is this very pause;
the object has not been edited in Facebook after the pause.
The enable is cancelled (“Cancelled”) if:
the object was changed manually after the pause — “Object was changed after the pause”;
the object was edited in Facebook after the pause — “Object was edited in Facebook after the pause”; the rule owner receives a notification about it;
another rule paused the object permanently (with the “Change status → Paused” action);
the pause was rolled back in the log — “The pause was rolled back”.
Important. If the rule was disabled, switched to test mode or deleted after the pause, the object is still enabled at 00:00: the rule set the pause, and it promised to bring the object back.
Fine points
If enabling fails (the profile is unavailable, token problems, Facebook limits), the system retries with a growing interval — 5, 10, 20, 40, 60 minutes and then once an hour — for 24 hours. If it does not succeed within 24 hours, the status becomes “Failed” and the rule owner is notified.
If the pause decision was made before midnight but could only be sent to Facebook after it, the pause is not applied: “The day ended before the action”. Otherwise “pause until end of day” would turn the object off for the whole next day.
A pause applied a minute before midnight is lifted almost immediately — at that same midnight.
The 00:00 enable is a system action, not a rule action: it does not count towards the daily action limit and does not start the pause after an action. For a rule with a pause until end of day, the pause after an action ends no later than this enable — the rule watches the object again from the start of the new day.
The 00:00 enable is not checked against the ad account budget cap, but the budget of an object awaiting enabling is “reserved” in the total: scaling rules cannot take the freed-up room.
The action cannot be combined with “Change status” in one rule.
Budget change
The “Change budget” action increases, decreases or sets a budget. All amounts in the action are in the main units of the ad account currency: for a USD ad account, 50 is $50 and 50.5 is $50.50; for an ad account in yen, 5000 is 5000 ¥. Spend and revenue in conditions are always in USD.
Important. If a rule covers ad accounts with different currencies, the same number means different amounts: “not above 500” is $500 in a USD ad account and 500 ¥ in a JPY ad account. The builder and the preview warn about it: “Ad accounts use different currencies”. It is better to create separate rules for such ad accounts.
Which budget: daily or lifetime
The action specifies the budget kind — “Daily” or “Lifetime”. If the object has a budget of the other kind, the action is skipped: “Skipped: not applicable — Object uses the other budget kind (daily or lifetime)”. If the ad account has objects with both budget kinds, add two budget actions to the rule — one for each kind: every object gets the one that fits it.
Where the budget can be changed
The budget is changed only where it lives in Facebook:
Rule level | Object | What happens | What the log shows |
|---|---|---|---|
Campaigns | CBO campaign (campaign budget) | The campaign budget is changed | “Applied” |
Campaigns | ABO campaign (budgets on ad sets) | Skip | “Budget is set on ad sets (ABO)” |
Ad sets | Ad set of an ABO campaign | The ad set budget is changed | “Applied” |
Ad sets | Ad set of a CBO campaign | Skip | “Budget is set on the campaign (CBO)” |
Campaigns or ad sets | Budget type not yet known (not synced) | Skip | “Budget type (CBO/ABO) is unknown” |
Ads | Any ad | The action cannot be added | — |
Tip. To keep skips for CBO campaigns from piling up in the log of an ad set rule, narrow the objects with the “Budget type” filter on the “Which objects” step. Note that objects with an unknown budget type do not pass this filter.
Change modes and formulas
Mode | Fields | New budget | Example with a budget of 100 |
|---|---|---|---|
By percent | “Increase” / “Decrease”, “Change, %” | current × (1 + X/100) or current × (1 − X/100) | +20 % → 120; −30 % → 70 |
By amount | “Increase” / “Decrease”, “Change by” | current + X or current − X | +15 → 115; −15 → 85 |
Set exact value | “New budget” | X | 75 → 75 (decrease); 150 → 150 (increase) |
Input restrictions:
a percentage change is at most 1000 %, and a decrease is below 100 % (a budget cannot be “zeroed” with a percentage);
all amounts and percentages are strictly greater than zero;
“Not below” cannot be greater than “Not above”;
for “Set exact value”, the new budget must lie between “Not below” and “Not above”.
A new budget action is created with the settings “increase by 20 %, not below 1, not above 500”. These numbers are in the ad account currency — for non-USD ad accounts they need to be changed.
“Not below” and “Not above” bounds
Bounds are required. “No limit” instead of the upper bound is available only for a budget decrease. For an increase, the upper bound is required — without it the rule will not be saved: “A budget increase needs a maximum budget”. Otherwise “+20 %” would raise the budget on every trigger without limit.
If the new budget goes beyond a bound, it is clipped to it.
Clipping never changes the direction. If after clipping an “increase” would become a decrease or the budget would not change, the action is skipped: “Skipped: budget would not change” with the reason “Maximum budget limit” (or “Minimum” — for a decrease). The rule will not decrease a budget with the “Increase” action, even if the budget is already above the bound.
The budget never drops below one minor unit (one cent, one yen).
Daily growth limit
The “Daily growth limit” checkbox (50 % when enabled) limits how much the rule can raise the budget within one ad account day. It works only for increases.
Ceiling = budget at the start of the day × (1 + limit/100).
The budget at the start of the day is the budget before the first change in the current day in the ad account time zone, whoever made it: a rule or a person. If the budget has not been changed today — the current budget.
If the budget is already at the ceiling — “Skipped: budget would not change — Daily growth limit”.
The “Example: a budget of 100 becomes …” line in the action card calculates growth from the current budget, while the rule calculates it from the budget at the start of the day. The preview shows the exact picture for real objects.
The growth limit is useful in rules that run often and have a short pause after an action: even if the condition holds all day, the budget will not multiply several times over.
Ad account budget cap
This is not an action field but a guard on the “Guards and notifications” step (1000 in the ad account currency when enabled). It limits the total daily budgets of all active CBO campaigns and ABO ad sets of the ad account after the action.
It is checked when a daily budget is increased and when an object is enabled by a rule that has the cap set. Lifetime budgets are not included in the total.
If there is less room than the action asks for, the increase is cut down to the remainder. No room at all — “Skipped: ad account budget cap”. If the total could not be calculated — also a skip: “Ad account budget total is unknown”.
Objects of one run are processed in rule priority order, and within a rule — in ascending object ID; accepted increases immediately raise the total for the next ones.
Decreases and pauses of the same run do not free up room: increases are already counted, while decreases may never be reached.
While no cap is set and the rule has an increase or “Set exact value”, the builder and the preview warn: “Budget action without an ad account budget cap”.
Calculation order
The new budget by mode (“By percent”, “By amount”, “Set exact value”), rounded to cents (for currencies without a fractional part — to whole units).
If it equals the current one — skip “New budget equals the current one”.
“Not below” and “Not above” bounds; if a bound reversed the change — skip.
Daily growth limit (increase only).
Ad account budget cap (daily budget increase only).
Examples in USD
Action: “Change budget”, “Daily”, “By percent”, “Increase” by 20 %, not below 10, not above 300, daily growth limit 50 %.
Current budget | Budget at the start of the day | Calculation | Result |
|---|---|---|---|
$100 | $100 | 100 × 1.2 = 120 | $120 |
$280 | $280 | 336 → clipped to “Not above” | $300 |
$300 | $300 | 360 → 300, not above the current one | Skip: “Maximum budget limit” |
$350 (raised manually) | $350 | 420 → 300, this is a decrease | Skip: the rule does not decrease a budget with the “Increase” action |
$144 | $100 | 172.80 → growth ceiling 100 × 1.5 = 150 | $150 |
$150 | $100 | 180 → ceiling 150 = current | Skip: “Daily growth limit” |
Action: “Decrease” by 30 %, not below 20, no upper bound.
Current budget | Calculation | Result |
|---|---|---|
$100 | 100 × 0.7 = 70 | $70 |
$33.33 | 23.331 → rounding | $23.33 |
$25 | 17.50 → clipped to “Not below” | $20 |
$20 | 14 → 20 = current | Skip: “Minimum budget limit” |
Example with an ad account budget cap. The cap is $1000; the total daily budgets of the ad account's active CBO campaigns and ABO ad sets is currently $950. A scaling rule (+20 %, not above 500) fired on three ad sets: A ($100), B ($200), C ($50).
A: $100 → $120, the total becomes $970.
B: asks for $240 (+40), but there is room only for +30 — B's budget becomes $230, the total is $1000.
C: no room — “Skipped: ad account budget cap”.
Example in a currency without minor units (JPY)
The yen, won, rupiah, dong and a few other currencies have no fractional part: budgets are calculated and rounded to whole units, and the amount field in the builder changes in steps of 1.
Budget 3333 ¥, “Decrease” by 30 %, not below 1000 ¥: 3333 × 0.7 = 2333.1 → 2333 ¥.
Budget 3000 ¥, “Increase” by 20 %, not above 500 (the default value left untouched): 3600 → clipped to 500, which is below the current one — skip “Maximum budget limit”. The rule will never fire until “Not above” is raised, for example, to 30,000 ¥.
“By amount”, “Increase” by 500 means +500 ¥, not +$500.
The ad account budget cap is in yen too: for an ad account with total budgets of 80,000 ¥, a reasonable cap is, for example, 100,000 ¥, not 1000.
Important. The values in templates (maximum 500, minimum 20) are designed for USD and similar currencies. For JPY, IDR, KRW, VND and the like they need to be changed.
Notification
The “Notify” action has no parameters: the rule changes nothing in Facebook and sends a message instead.
To whom. To the rule owner; if “Also notify the ad account owner” is enabled on the “Guards and notifications” step — also to the ad account owners. Channels (notification bell, Telegram, email) are taken from the recipient's notification settings.
What it contains. The rule, the ad account, the objects (up to 5 per message, the rest as a count), what was done to them, the values of the triggered conditions, a link to the object in Ads Manager and a link to the rule log. One message per rule, ad account and run. Notification texts are currently sent in English.
Always sent. The “Notify” action sends a message even if the “Actions” item is unchecked in “Notify about”: it is an explicit request of the rule. The “Actions” item controls reports about status and budget changes.
Guards. Notifications are subject to the pause after an action and the daily action limit — otherwise a message would arrive on every run while the condition holds. The pause after a manual change does not apply to notifications.
Log. In live mode — “Notified”, in test mode — “Simulated (dry-run)”.
Example. “Ad sets” level, condition “CPM today is 50 % higher than yesterday and spend today is above $20”, action “Notify”, pause of 24 h, 1 action per day — no more than one alert per day for each ad set.
More details are in the article “Notifications”.
Action applicability by level and budget type
Object | Pause, enable, pause until end of day | Change budget | Notify |
|---|---|---|---|
CBO campaign | Yes | Yes — campaign budget | Yes |
ABO campaign | Yes | No — “Budget is set on ad sets (ABO)” | Yes |
Ad set of an ABO campaign | Yes | Yes — ad set budget | Yes |
Ad set of a CBO campaign | Yes | No — “Budget is set on the campaign (CBO)” | Yes |
Ad | Yes | Cannot be added: “Ads have no budget” | Yes |
Object is deleted, archived, disabled by Facebook or in review | No | No | No |
What cannot be combined in one rule
Combination | Allowed? | What happens |
|---|---|---|
“Pause until end of day” + “Change status” (any) | No | “Pause until the end of the day cannot be combined with a status change” |
Enable + any pause | No | A rule cannot enable and turn off an object at the same time; in the builder the “Active” status is unavailable if the rule has a pause |
Two actions on the same budget (two daily or two lifetime) | No | “Actions conflict with each other” |
Two identical actions (for example, two “Notify”) | No | “This action is already in the rule” |
“Change budget” in a rule for ads | No | “Ads have no budget” |
Pause + budget decrease | Yes | Both actions run |
Pause + budget increase | Saves, but makes no sense | The increase is skipped: “A pause wins over this action” |
Any pause + “Notify” | Yes | The usual pair: turn off and report |
Enable + budget change | Yes | Both actions run |
Daily budget + lifetime budget | Yes | Each object gets the action for its budget kind; the other one is skipped as not applicable |
Because of these compatibility rules, a real rule never has more than four actions: a status change or pause until end of day, one action each for the daily and the lifetime budget, and a notification. The limit of 8 actions is technical.
What “not applicable” means in the log
“Skipped: not applicable” means that the action cannot be performed on this object in principle — it is not about guards or other rules. As long as the object matches the conditions, this record will appear on every run. Reasons:
Reason in the log | What it means | What to do |
|---|---|---|
“Object is deleted”, “Object is archived”, “Object is disabled by Facebook”, “Object is in review or processing” | The rule does nothing with an object in this state, not even notify | Nothing, or exclude the object on the “Which objects” step |
“Budget is set on ad sets (ABO)” | A budget action at the campaign level, but the campaign is ABO | A separate rule at the ad set level or the “Budget type” filter |
“Budget is set on the campaign (CBO)” | A budget action at the ad set level, but the campaign is CBO | A separate rule at the campaign level or the “Budget type” filter |
“Budget type (CBO/ABO) is unknown” | The object's budget type has not arrived with the sync yet | Wait for the ad account sync |
“Object uses the other budget kind (daily or lifetime)” | The action is for a daily budget, but the object has a lifetime budget, or vice versa | Add an action for the other budget kind |
“Current budget is unknown” | The object has no budget at all in the sync data | Check the ad account sync |
“Ad account currency is unknown”, “Ad account time zone is unknown” | Without them the budget or the day cannot be calculated | Wait for the ad account sync |
“Tracker attribution is not set up for this ad account” | The rule reads tracker metrics, but none of the ad account's sources passes the campaign, ad set or ad ID — live mode is blocked in this ad account | Map the macros in the tracker sources (see “Preparation”) |
“The day ended before the action” | The pause until end of day did not reach Facebook before midnight | Nothing: in the new day the rule evaluates the object again |
Other outcomes of budget and status actions that are often confused with “not applicable”:
Outcome | What it means |
|---|---|
“No action needed” | The object is already in the required status or the budget already equals the target |
“Skipped: budget would not change” | The “Not below”/“Not above” bounds or the daily growth limit kicked in, or the new budget equals the current one |
“Skipped: ad account budget cap” | The increase or enable does not fit into the ad account budget total cap |
“Skipped: object changed” | The status or budget in Facebook changed while the rule was deciding |
“Skipped: cooldown”, “daily limit”, “recent manual change”, “conflict with another rule” | Guards or priorities kicked in — see “Schedule, guards and priorities” |
“Skipped: no profile can make changes”, “Skipped: no permission” | The ad account has no profile through which objects can be changed, or the profile lacks permissions — see “Preparation” |
Tips
To scale new campaigns on ABO, choose the “Ad sets” level; on CBO — “Campaigns”. A mixed ad account needs two rules.
Set a real maximum in every increase and enable the ad account budget cap — this is insurance against a mistake in the conditions.
Check the “Example: a budget of 100 becomes …” line in the action card and the preview on real objects: they show what the bounds will do.
Add “Notify” to pauses and budget actions during the first weeks — this way you notice sooner if the rule behaves differently than intended.
Start with test mode: see “Preview, test and live modes”.
