Your first automation rule
Last updated: May 19, 2026
Your first automation rule
A rule = condition + action + schedule. Build at /rules/new. Always preview (dry-run) before activating. Start with a notify-only rule for a week to learn its behavior before letting it pause or scale anything.
Who is this for
Mediabuyers who have at least one running campaign and want Wevion to handle the boring decisions automatically — pausing underperformers, scaling winners, alerting on anomalies.
What a rule looks like
Every rule has four pieces:
Piece | Example |
|---|---|
Scope | "Which campaigns / ad sets / ads does this rule apply to?" |
Condition | "When ROAS over the last 3 days drops below 1.5" |
Action | "Pause the ad set" |
Schedule | "Check every 4 hours" |
Put together: "Every 4 hours, check all ad sets in the Q4-Sales campaign. If any has ROAS below 1.5 over the last 3 days, pause it."
Before you start
You need:
A campaign that's been running at least 7 days with 50+ conversion events — earlier than that and you'd act on noise (see Understanding your first data)
A clear answer to: "what number would make me act manually?" — that's your rule's condition
A clear answer to: "what would I do about it?" — that's the action
(Recommended) Telegram bot connected so you see rule firings instantly
How to build it
Step 1: Open Rules → New rule
In the sidebar click Rules, then New rule (top right). Or jump to /rules/new. A multi-step form opens.
Step 2: Define the scope
Pick:
Level: Campaign / Ad set / Ad
Selection: All in workspace, or filtered (by campaign name pattern, by tag, by ad account, by status)
Tight scopes prevent surprises. Start with one specific campaign, not "all campaigns".
Step 3: Set the condition
Pick the metric (CPA, ROAS, CTR, spend, frequency, conversions, etc.), the operator (>, <, =, change over time), the threshold value, and the time window (today, last 24h, last 3 days, last 7 days).
Examples:
Metric | Operator | Value | Window | Reads as |
|---|---|---|---|---|
ROAS | < | 1.5 | last 3 days | Underperformer detection |
CPA | > | 30 | last 7 days | Over-target acquisition cost |
Daily spend | > | 100 | today | Spend-cap warning |
Frequency | > | 4.0 | last 7 days | Creative fatigue |
Conversions | = | 0 | last 24h | Stalled ad set |
You can combine multiple conditions with AND/OR (advanced mode).
Step 4: Set the action
Pick what happens when the condition is true:
Action | Best used for |
|---|---|
Notify only | Learning a rule's behavior before activating destructive actions |
Pause ad set / ad / campaign | Stop wasted spend |
Increase budget by % | Scale winners (limit by max-budget to avoid runaway) |
Decrease budget by % | Throttle borderline performers |
Send Telegram alert | Critical events you want to handle manually |
Combine: "Pause AND notify Telegram" is the most common pattern for kill rules.
Step 5: Set the schedule
How often the rule evaluates:
Every 4 hours — default, fine for most rules
Hourly — for time-sensitive decisions (spend caps)
Daily at [time] — for daily summaries / weekly resets
Real-time on event — fires immediately on a matching event (premium)
More frequent = more API calls = more risk of rate limits if you have many rules.
Step 6: Add protections (recommended)
Wevion has built-in safety guards:
Cooldown: don't fire on the same target more than once every N hours (default 24h for pause, 12h for scale)
Backoff: if a target was paused by this rule and reactivated manually, hold off re-evaluating for N hours
Max actions per run: cap actions per evaluation (e.g. max 10 pauses per check) to prevent mass damage if conditions misfire
Defaults are sensible. Adjust only after running a rule for 2 weeks.
Step 7: Preview (dry-run)
Click Preview. Wevion runs the rule's condition against current data and shows exactly which targets would be affected if the rule were active right now. No actions are taken.
This is the most important step. Read the preview carefully. If it would pause 30 ad sets, ask why — is the threshold too aggressive?
Step 8: Activate
If the preview looks right, click Save and activate. The rule appears at /rules with status Active. First real evaluation runs at the next scheduled time.
The recommended first-rule pattern
For your first rule, do this:
Action = Notify only (no pause, no scale)
Schedule = Every 4 hours
Run it for 1 week
Look at the rule's execution history at
/rules/[id]— would the actions have been right?If yes 90%+ of the time: switch action to Pause (or whatever you wanted)
If no: tune the threshold or window
This sounds slow but it's the difference between a rule that helps and a rule that nukes your account on day 2.
What you'll see
After activating:
The rule appears at
/ruleswith status ActiveAn execution count updates after each scheduled run
Click into the rule to see history: timestamp, targets matched, actions taken
Telegram bot sends a message every time the rule fires (if connected and configured)
Common issues
"Rule preview shows 0 matches": the condition is too strict or the scope is empty. Widen and re-preview.
"Rule didn't fire when I expected it": check the rule's execution history — it may have evaluated and found 0 matches due to a cooldown. Check the cooldown setting.
"Rule fired but the platform didn't update": ad platforms have 5-15 minute propagation delays. The action is queued; check again in 30 minutes.
"Wrong scope — rule paused the wrong ad sets": edit the rule, narrow the scope (filter by campaign name or tag), preview again before re-activating.
"Too many notifications": change the action from "Notify always" to "Notify only on first occurrence in N hours" via cooldown.
Related
Launch your first campaign — what rules need to act on
Understanding your first data — what metrics are reliable enough to trigger automation
Set up notifications and Telegram alerts — receive rule firings in real time