Rule Protections — Cooldown, Backoff, and Limits
Last updated: April 18, 2026
Wevion's automation engine includes multiple built-in safety mechanisms to prevent rules from over-acting on your campaigns. These protections ensure that even aggressive rules can't spiral out of control and damage your ad performance.
Prerequisites
- An understanding of how rules evaluate and execute actions.
Introduction to Rules — Automate Your Ad Management Rule Actions — What Your Rules Can Do
How It Works
Every time a rule matches an entity (campaign, ad set, or ad), the system checks a series of safety gates before executing any action. If any gate blocks the execution, the entity is marked as skipped in the execution log with a specific reason. These protections operate independently — an entity must pass all checks to receive an action.
Step-by-Step Guide
1. Cooldown Period
What it is: After a rule acts on a specific entity, it will not act on that same entity again until the cooldown period has elapsed.
Default: 6 hours (360 minutes).
How it works:
- When a rule pauses Campaign A at 10:00 AM with a 6-hour cooldown, it won't act on Campaign A again until 4:00 PM — even if the conditions still match.
- The cooldown is per-entity, not per-rule. If Campaign B also matches at 10:15 AM, it will still be acted upon immediately (it has its own cooldown timer).
- The system looks at recent execution details for the specific entity and checks whether the last successful action on that entity falls within the cooldown window.
Setting the cooldown: When creating or editing a rule, set the Cooldown field to your desired value in minutes. Common values:
| Cooldown | Use Case |
|---|---|
| 60 min | Fast-reacting rules (e.g., spend cap protection) |
| 360 min (6h) | Standard optimization rules (default) |
| 720 min (12h) | Conservative budget rules |
| 1440 min (24h) | Daily-action rules |
Important: Minimum cooldown for destructive actions. For actions that change entity status or structure — specifically pause, activate, and relaunch — the system enforces a minimum cooldown of 60 minutes, regardless of what you set. This prevents rapid-fire toggling that could confuse Meta's delivery system.
Budget adjustment actions (increase/decrease budget) respect your configured cooldown with no minimum override.
2. Failure Backoff
What it is: If an action fails on the same entity 5 consecutive times within a 24-hour window, the system automatically stops trying to act on that entity until the backoff period resets.
How it works:
- The system examines execution history for the last 24 hours.
- It counts consecutive failures for each specific entity (most recent first).
- If it finds 5+ consecutive errors without a success in between, the entity is skipped with reason
failure_backoff. - Once 24 hours have passed since the first failure in the streak, or if a successful action breaks the streak, the entity becomes eligible again.
Why it matters: Without backoff, a rule could repeatedly try to pause an ad that no longer exists in Meta, wasting API calls and filling your execution log with errors. Backoff ensures the system gracefully handles persistent failures.
You don't need to configure this — it's always active. If you see entities being skipped with failure_backoff, check the execution details for the error messages to diagnose the underlying issue.
3. Max Executions Per Day
What it is: A limit on how many times a rule can create execution records in a single day.
Default: 3 executions per day. Hard cap: 50 executions per day (you cannot exceed this regardless of your setting).
How it works:
- Each time a rule matches at least one entity and creates an execution record, it counts toward the daily limit.
- Once the limit is reached, the rule will still be evaluated (to track
last_evaluated_at), but no new executions will be created until the next day. - The daily counter resets at midnight (server time).
Setting the limit: When creating or editing a rule, set the Max executions per day field. For most rules, the default of 3 is sufficient. Increase it for:
- Rules on very short intervals (15 min) that need to act frequently
- Rules monitoring many accounts with different schedules
- Emergency protection rules (spend caps)
4. Pending Execution Check
What it is: If an action has been queued for an entity but the worker hasn't processed it yet (within the last 30 minutes), the system will skip sending a duplicate action.
How it works:
- Before sending an action to the queue, the system checks if there's a recent execution (last 30 minutes) for this rule where the entity has been dispatched but not yet written back with a result.
- If such a pending execution exists, the entity is skipped with reason
cooldown(grouped with cooldown skips in the log).
Why it matters: During high-load periods, there may be a delay between when an action is dispatched and when the worker processes it. Without this check, a fast rule could queue multiple identical actions for the same entity.
5. Token Availability
What it is: Before executing any action that requires Meta API access, the system verifies that valid access tokens are available for the entity's ad account.
How it works:
- The system looks up the ad account's stored tokens (validated or fallback).
- If no valid tokens are found, the entity is skipped with reason
no_tokens.
If you see no_tokens skips: This usually means the Meta connection for that ad account has expired or been revoked. Reconnect your Meta account from the Settings page.
Options and Configuration
| Protection | Configurable? | Default | Range |
|---|---|---|---|
| Cooldown | Yes | 360 min (6h) | Min 60 min for destructive actions |
| Failure backoff | No (always on) | 5 failures / 24h | — |
| Max executions/day | Yes | 3 | 1–50 |
| Pending execution | No (always on) | 30 min window | — |
| Token check | No (always on) | — | — |
FAQ
Q: My rule matches entities but nothing happens. Why? A: Check the execution history for skipped entities. Common reasons:
- Cooldown — the entity was already acted on recently.
- Max executions reached — the rule hit its daily limit.
- No tokens — the ad account needs to be reconnected.
- Failure backoff — the action has failed too many times.
Rule Execution History and Troubleshooting
Q: Can I disable cooldown for a specific rule? A: You can set a low cooldown value, but for destructive actions (pause, activate, relaunch), the system enforces a minimum of 60 minutes. For budget adjustments and notify_only, you can set the cooldown as low as needed.
Q: The hard cap of 50 executions per day seems low. Is that enough? A: For most use cases, yes. An "execution" is a single evaluation cycle where matched entities are acted on. A rule with 50 executions/day at 15-minute intervals covers over 12 hours of continuous action — well beyond typical needs.
Q: What happens to skipped entities? A: Skipped entities are logged in the execution details with a specific reason. They will be re-evaluated in the next scheduled cycle and may be acted upon if the protection condition has cleared (e.g., cooldown expired).