Autorules
Autorules are automatic optimization of traffic distribution within a tracker campaign. On a schedule, a rule looks at the statistics of the flows in a stream set, compares them with each other and, if the condition is met, turns off the lagging flow, changes its share or picks a winner on its own — and reports it to the campaign owner.
Autorules work within a stream set: they redistribute traffic between its elements (flows), not between campaigns. What a campaign, a stream set and a flow are is explained in the article Campaigns and flows.
The feature is in beta and is enabled on request at the team plan level. If the “Autorules” section shows the “not available on the current plan” placeholder, contact support.
How it works
Every rule follows a cycle:
- Schedule. The rule wakes up at its interval (from 15 minutes) or at set times.
- Data. For each flow of the set, the primary metric is calculated over the selected period — the same figures as in the Report builder.
- Minimum data. A flow that has collected less than the specified volume (for example, fewer than 500 unique users with a click) drops out of the comparison — no decision is made on it.
- Condition. The remaining flows are checked against the condition — for example, “deposit conversion below 60% of the set leader”.
- Guards. Even a matched condition is not applied if a guard kicks in: too few active flows would remain in the set, the daily change limit is used up, or the set is paused after a recent change or after a manual edit.
- Actions. Actions are applied to the matched flows in order: turn off, change the share, pick a winner, notify.
- Log and notification. Every run and every decision is recorded; the campaign owner receives a notification about what was done.
Three rule states
State | What happens |
|---|---|
Disabled | The rule is not evaluated and affects nothing. |
Dry-run (test) | The rule is evaluated on schedule and writes to the log what it would have done, but does not touch traffic. The campaign owner receives a “test mode” notification. This is how a rule is tried out before being enabled. |
Live | The rule actually changes traffic distribution. Switching to Live is a separate permission; buyers do not have it. |
A new rule is always created in Dry-run mode. We recommend letting it run for at least one or two cycles and checking the preview and notifications before switching it to Live.
Where to find it and who has access
Section: Tracker → Autorules.
Role | Access |
|---|---|
Team owner, Tech, Team lead | Creating, editing and deleting rules, switching to Live, decisions on candidates. |
Team lead | All of the above except changing the order of team rules: a team lead does not see all team rules, and reordering would renumber the hidden ones. |
Buyer | View the list and rules only. |
Creating a rule
The builder opens with the “New rule” button. On the left are the name, state and description; in the center — six steps; on the right — the rule summary in words, candidates and the preview.
From a template
The easiest way to start is the “From template” button: you choose a task and a traffic type, and the rule builds itself. Any field can be changed afterwards.
Traffic type sets the volume thresholds, because different sources show conversions at different scales:
Traffic type | Minimum for decisions on installs | on registrations | on deposits |
|---|---|---|---|
Low volume (Facebook, TikTok) | 100 clicks | 300 clicks | 500 clicks |
High volume (popunder, networks) | 3,000 clicks | 10,000 clicks | 30,000 clicks |
If in doubt, choose “Low volume”: a lower threshold fires earlier, while a higher one silently excludes flows from evaluation.
Template | What it does |
|---|---|
Worst Click to Install | Turns off a flow whose install rate is below 60% of the best one in the set. 3-day window. |
Poor click to registration | The same for the click → registration path, 7-day window. |
Poor click to deposit | The same for the click → deposit path, 14-day window and a 48-hour margin for deposits to land: a short window would count them as missing. |
Volume but no deposits | Clicks have accumulated but there is not a single deposit in 14 days — the flow is turned off. Works on a single-flow set too. |
Launch went nowhere — tell me | Volume has been reached, but there are no installs, registrations or deposits at all. Turns nothing off — only notifies. |
All templates except the last one require a set of at least two flows: the rule compares them with each other.
Step 1. Where it applies
Option | Meaning |
|---|---|
Whole team | The rule applies to all active campaigns of the team — including those created later. On saving, all current team campaigns are admitted at once: if the team has 300 campaigns, the rule starts working with all 300. |
Selected campaigns | An explicit list. New campaigns are not included until you add them. |
Exclusions override any selection: a campaign from the exclusion list is not covered by the rule, even if the rule applies to the whole team.
New campaigns (only for a team-wide rule) — what to do with campaigns created after the rule was saved:
- Ask — the campaign becomes a candidate: the rule does not apply to it until you click “Add” in the candidates panel.
- Add — it is included automatically.
- Never — it is not included.
New campaigns become candidates after the rule's next cycle. The “Candidates” panel on the right also shows the number of already admitted campaigns — a freshly saved team-wide rule has no candidates, and that is normal: all campaigns are already admitted.
Step 2. What we measure
- Primary metric — the set leader and the minimum data are calculated by it. Available are conversions (click → install, click → registration, click → deposit and their “(all)” variants over all clicks rather than unique devices), funnel counters, money (revenue, spend, profit, ROI, EPC) and traffic share.
- Period — 24 hours, 3, 7, 14, 30 days, today, yesterday or a custom interval.
- Minimum data — how many unique users with a click a flow needs to collect to take part in the comparison. A flow below the threshold is not evaluated at all.
Advanced settings:
- Exclude the last N hours — ignore the most recent data, for which conversions have not matured yet. For deposits, 24–48 hours is reasonable.
- Counted in — which volume counts as minimum data: unique users with a click, with an install, with a registration.
- Attribution — by event time (available now). Click cohort attribution and the Bayesian confidence check are not available in the beta.
Step 3. When it fires
The condition is one or more conditions combined with “AND” / “OR”. Condition types:
Type | Example |
|---|---|
Share of the set leader | “Click to deposit below 60% of the leader”. The leader is the best flow of the set by this metric. If the leader has 10%, the threshold for the others is 6%. |
Share of the set average | “EPC below 80% of the average”. |
Absolute value | “Deposits ≤ 0”, “Clicks ≥ 5000”. |
Place in the set | “Worst by metric”, “not in the top 2”. |
By default, the condition metric is the same as the rule's primary metric, but it can be different — for example, the primary metric is “click to deposit” while the condition is on EPC.
Calculation example. A set has two flows: the first has a click → install conversion of 21.62%, the second 17.07%. Condition “below 85% of the leader”: the leader is the first flow, the threshold is 21.62% × 0.85 = 18.38%. The second flow is below the threshold — the condition is met for it. With the condition “below 60%”, the threshold would be 12.97%, and neither would fire.
Step 4. What we do
Action | What happens |
|---|---|
Turn off | The matched flow stops receiving traffic; its share is distributed among the others. |
Turn on | Returns a turned-off flow to rotation. Always targeted — an explicit list of flows is required. |
Set share | Fixes exactly the specified traffic share for the flow; the others split the remainder. |
Change share | Shifts the share by N percentage points (10% → 20%) or by N percent of the current share (10% → 11%). These are different quantities — check the switch under the field. |
Pick winner | The best flow gets all the traffic; or “keep a share for exploration” — the winner gets the specified percentage and the others split the remainder equally. |
Notify | Changes nothing, only informs the campaign owner. Safe to combine with any action. |
Actions run in order. The target of an action is “matched elements” (those that passed the condition) or an explicit list of flows. If several rules claim the same flow, the one higher in the team's rule order wins.
Shares are calculated from the flow weights in the set. A weight in a campaign is relative (100/100/100 — a third each), while the rule works with shares in percent and writes them back so that the set's weights sum up to 100.
Step 5. When to check
- Timezone — the “today” and “yesterday” periods and run times are calculated in it.
- Cadence — by interval (every 15 or 30 minutes, every hour, 3 or 6 hours) or at fixed times (for example, daily at 09:00).
- Active windows — days and hours when the rule is allowed to act. An overnight interval is set with two windows on adjacent days.
Step 6. Guards
Guards keep a rule from breaking a set. They are combined across all enabled Live rules of the set: if one rule has “minimum 3 active flows” and another has 1, the stricter one applies.
Guard | Meaning |
|---|---|
Minimum active elements | The rule will not turn off a flow if fewer than the specified number would remain in the set afterwards. |
Minimum element share | The share of an active flow will not drop below the specified value. |
Changes a day, at most | The limit of changes to one set per day — across all rules combined. |
Cooldown after a change (set) | After any change, the set is not touched for the specified number of hours. |
Cooldown after a change (element) | The same for an individual flow. |
Pause after a manual change | If you changed the weights manually in the campaign settings, the rule will not overwrite them for the specified number of hours. |
An action blocked by a guard is shown in the preview and the log with the reason — this is not an error but normal guard behavior.
Preview: how to read the result
The “Preview” button in the builder header evaluates the saved rule against the selected campaign right now and shows what would happen. Nothing is applied.
- The verdict at the top is the main answer: “the rule would not fire: no element met the condition”, “the rule would fire, elements to act on: 1”, “the rule would fire, but a guard is holding the set”, etc.
- The set leader and its value — the “share of the leader” threshold is calculated from it.
- For each flow — matched / did not match and the condition line in words: “Click to install (all): 17.07% · needs to be less than 18.38%”.
- Accepted and rejected actions with the reason: “no element met the condition”, “the set is paused after a recent change”, etc.
- Flow lines like “10% → 20%” are the planned share changes. For a rule in test mode, a “test mode” tag is shown next to the set: this is a simulation, the campaign is untouched.
If the form draft differs from the saved version, the preview warns you: it evaluates what has been saved.
Notifications
The notification goes to the campaign owner — the person whose traffic changed, not the rule author. Delivery channels (notification bell, Telegram, email) are taken from the recipient's notification settings: the “Autorule triggered” event in the “Autorules” group. The notification bell and Telegram are enabled by default.
One notification per rule per run, of three kinds:
Title | When |
|---|---|
Autorule changed traffic split | The rule changed the distribution: “turned off 2 elements in 1 stream set”. |
Autorule alert | The rule matched but only notifies — nothing was changed. |
Autorule test run | The rule is in test mode: what it would have done. Switch it to Live for it to take effect. |
While the condition holds, the rule matches on every cycle — so match and test notifications for the same rule and campaign are not repeated more often than once every 6 hours. Actual traffic changes are reported every time.
Recommendations
- Start with Dry-run. One or two cycles in test mode will show whether the rule fires as you expected.
- Tune the “share of the leader” threshold using the preview. 60% is a strict threshold for stable sources; for a test, take 80–85% and see what gets caught.
- Minimum data depends on the traffic type. On Facebook, deposits show up within hundreds of clicks; on popunder — within tens of thousands. A threshold that is too high breaks nothing, but the rule will stay silent.
- Deposits need a margin to mature. A 14-day window and “exclude the last 48 hours” — otherwise fresh traffic looks deposit-free.
- Keep the guards. “Minimum 2 active elements” and a daily change limit prevent one rule from turning off the whole set.
- The order of rules in the list is their priority: a rule higher up locks a flow for the rules below.
Beta limitations
- Access is by plan, on request.
- Click cohort attribution and the Bayesian confidence check are not available: the rule works by event time and a volume threshold.
- Comparing a flow with its own history (“worse than a week ago”) does not fire yet.
- The “since the last weight change” period is not built yet; “since the rule was enabled” works.
- New team campaigns become candidates after the rule's next cycle, not instantly.
FAQ
The rule does not fire. Open the preview: the verdict names the reason. Most often either the flows have not reached the minimum data or the threshold has not been reached — compare the flow's value with “needs to be less than X”.
The preview shows the action as accepted, but the shares are “unchanged”. The rule is in test mode: there is a “test mode” tag next to the set, the plan is shown, but the campaign is untouched. Switch the rule to Live.
“Campaigns admitted: 331” — does the rule apply to all of them? Yes: for a team-wide rule, all current campaigns are admitted on saving. While the rule is in Dry-run, nothing changes; in Live it starts acting on all admitted campaigns. To narrow it down, use exclusions or an explicit list.
0 candidates. For a fresh team-wide rule this is normal: everything is already admitted. Candidates are only campaigns created later.
I changed the weights manually — will the rule overwrite them? Not before the “pause after a manual change” from the guards has passed (12 hours by default).
The condition is met, but the rule does not act. Check the rejected actions in the preview: a guard kicked in (too few active flows, daily limit, cooldown) or the flow is taken by a rule higher in the order.
The notification did not come to me. Notifications are received by the campaign owner, not the rule author. The channels are in their notification settings.
