What you will learn in this article
How Ad Pilot monitors active ad sets and ads against business targets.
The underlying mechanics separating Targets (performance rules) and Assignments (where rules apply).
The precise actions Ad Pilot can apply across supported Meta ad accounts.
How ad-set budget adjustments and ad-level creative signals are computed.
Step-by-step instructions for configuring settings, evidence guardrails, and daily safety limits.
Best practices for safely launching, monitoring, and troubleshooting automated rules.
Who this article is for
Performance Marketing Managers & Media Buyers: Operators who want to scale profitable ad sets and pause underperforming assets using objective, attributed performance metrics.
E-Commerce & Growth Leads: Decision-makers seeking to guard ad spend against volatile performance spikes and creative decay.
Account Administrators: Admins tasked with enabling Ad Pilot and configuring account-level safety parameters.
What are the benefits
Continuous Rule Evaluation: Runs automatically on a background schedule to evaluate performance and execute budget shifts without delay.
Objective Attribution Alignment: Uses direct performance data across custom KPIs (e.g., ROAS, CAC, POAS) to remove human bias from scaling decisions.
Evidence-Based Guardrails: Built-in spend and order floors ensure that budget changes or pause actions occur only when statistically reliable data exists.
Creative Fatigue Detection: Combines performance metrics with relative Click-Through Rate (CTR) signals to identify creative decay before it impacts overall ROAS.
Controlled Scaling Safety: Daily change limits and capped percentage adjustments prevent sudden budget surges that could reset learning phases or destabilize ad sets.
How it works
Ad Pilot operates via scheduled background evaluations that read performance data, evaluate rules, and apply budget or status changes to supported advertising entities.
Core architecture: Targets vs. Assignments
Ad Pilot divides automated control into two distinct configuration parts:
Target: Defines what good performance means and how Ad Pilot should react. It contains the primary KPI, target value, evidence requirements, action thresholds, and budget-change rules. A single Target can be reused across several Assignments (e.g., the same POAS 2.0 Target can apply to a prospecting campaign and a separate retargeting ad set).
Assignment: Defines where that Target applies by selecting an advertising channel and matching campaign, ad-set, or ad names.
Evaluation cycle
Ad Pilot runs automatically on a schedule. During each run, it:
Finds active ad sets/groups and ads that match an active Assignment.
Imports their attributed performance data according to the assigned attribution model and time windows.
Performs Evidence Checks (minimum spend increase, minimum short-window orders, daily action caps).
Applies the rules in the selected Target.
Records a result for each ad set and ad, applying supported budget or pause actions and logging every decision.
Platform actions & limitations
Ad Pilot evaluates ad sets/groups and ads. It does not make campaign-level decisions or change campaign budgets.
For Meta, actions take effect as follows:
Result | Effect on an Ad Set | Effect on an Ad |
Skip | No change | No change |
Watch | No change | No change |
Scale Up | Increases the daily budget | Records a positive creative signal; ads do not have individual budgets |
Scale Down | Decreases the daily budget | Records a negative creative signal; ads do not have individual budgets |
Pause | Turns the ad set off | Turns the ad off |
Ad Pilot does not automatically turn a paused campaign, ad set, or ad back on.
Re-activating a paused object must be performed manually in your ad account.
Note: Budget changes currently apply only to supported Meta ad sets/groups with their own daily budget. If the campaign owns the budget (CBO), Ad Pilot reports the budget as not applicable and does not change the campaign budget.
When configuration changes take effect
An inactive Assignment creates no new scheduled evaluations or actions. After an Assignment is made active, it is eligible for the next scheduled Ad Pilot evaluation. Start with a narrow, distinctive match and monitor the first results before expanding the Assignment to more advertising objects.
How matching works
The Assignment's Filter by setting chooses which name level Ad Pilot checks.
It determines which objects are checked, not the type of result or action:
Filter by | Name Checked | Objects Evaluated |
Campaign | Campaign name | Ad sets/groups and ads inside the matching campaign |
Ad set | Ad-set name | The matching ad set and its ads |
Ad | Ad name | Matching ads and their parent ad sets |
For example, a Campaign Assignment that matches “Brand Germany” may produce results for several campaigns and their underlying ad sets/groups and ads.
Warning: Each active Assignment runs independently. If two active Assignments match the same object, that object can be evaluated more than once. Avoid overlapping Assignments unless the overlap is intentional.
Supported KPIs
The Primary KPI determines the performance formula used during evaluation:
KPI | Meaning | Calculation | Better Performance |
CAC | Cost to acquire one new customer | Spend / New customers | Lower |
CPO | Cost per order | Spend / Orders | Lower |
ROAS | Revenue returned for each unit of spend | Revenue / Spend | Higher |
ROAS NC | New-customer revenue returned for each unit of spend | New-customer revenue / Spend | Higher |
AROAS | Acquired-customer revenue returned for each unit of spend | Acquired-customer revenue / Spend | Higher |
POAS | Contribution margin returned for each unit of spend | Contribution margin / Spend | Higher |
POAS NC | New-customer contribution margin returned for each unit of spend | New-customer contribution margin / Spend | Higher |
POAS AC | Acquired-customer contribution margin returned for each unit of spend | Acquired-customer contribution margin / Spend | Higher |
Note: When there is spend but the KPI denominator is zero, Ad Pilot treats performance as the worst case. For example, spend with zero new customers is evaluated as a very poor CAC rather than an unknown result.
How ad set decisions work
1. Evidence checks
Before evaluating the KPI, Ad Pilot checks that the ad set has enough new evidence. An action is skipped if:
Spend since the last Ad Pilot action is below
Min spend increase (Ad set).Short-window spend is zero.
Short-window orders are below
Min order increase.The KPI or target value is invalid.
The ad set has already reached its daily change limit.
Worked ROAS example
Assume a Target ROAS of 2.00, Scale on improvement of 10%, and Cut on decrease of 10%:
Actual ROAS | Difference from Target | Decision |
2.30 | +15% | Scale Up |
1.90 | -5% | Watch |
1.70 | -15% | Scale Down |
Note: Scale and Cut triggers decide whether to act; they do not decide the size of the budget change.
2. Daily limits and automatic pause
Ad Pilot tracks completed positive and negative changes for each object by day. After the total daily maximum has been reached, further changes on that UTC day are skipped.
For example, with Max changes per day (Ad set) set to 5, the fifth consecutive negative result on the same UTC day triggers a Pause. Later change attempts that day are skipped.
How budget changes are calculated
Ad Pilot reads the current budget immediately before executing a Scale Up or Scale Down action. This prevents a stale budget recorded earlier in the run from being used.
With a current daily budget of 50:
Scale strength 20% produces: $50 → $60
Cut strength 5% produces: $50 → $48 (after rounding)
The resulting budget is rounded to the nearest whole unit in the client's Admetrics currency.
Best Practice: In Meta, keeping budget adjustments to 20% or less (both up and down) helps prevent campaigns or ad sets from re-entering the learning phase or destabilizing performance.
How ad decisions work (creative signals)
Ads do not own budgets, so Ad Pilot treats ad-level scaling decisions as creative-quality signals rather than budget changes.
An ad must first pass its evidence checks, including short-window spend and Min Ad spend increase (Ad). Ad Pilot then combines two signals:
Target KPI signal
Fatigue and CTR signal
The Fatigue signal compares the ad against its parent ad set using a relative percentage. For example, with a CTR decrease trigger of 20%, a relative CTR reduction greater than 20% triggers a negative signal.
Ad Pilot combines the two signals as follows:
KPI Signal | Fatigue and CTR Signal | Outcome |
Good | Good or neutral | Positive signal |
Bad | Bad or neutral | Negative signal |
Neutral | Bad | Negative signal |
Good | Bad | Skip (Signals conflict) |
Bad | Good | Skip (Signals conflict) |
Other combinations | Any | Skip |
The Ad Pilot UI displays positive and negative ad signals as Watch, because they do not directly alter an ad budget. The expanded result retains the direction and explanation. Repeated negative ad signals can trigger a Pause even when they span multiple days.
Note: Min order increase applies only to ad-set decisions and does not block ad-level decisions.
How to use it
Ad Pilot user interface
Open the advanced feature by clicking Ad Pilot in the main menu on the left.
If Ad Pilot is not yet enabled for your account, you will land on the activation screen instead of the log. Read the notes on that screen carefully and confirm the beta dialog to continue. Only account admins can perform this action.
Enabling Ad Pilot does not put anything live. Activation only unlocks the feature - no budgets are changed and no ads are paused. Ad Pilot stays completely inactive in your ad account until you have selected campaigns, set spend limits and rules, and explicitly activated it.
Once enabled, Ad Pilot opens on the Log tab - the running record of every decision Ad Pilot has made or proposed, newest first.
Each row displays:
Column | What It Shows |
Channel | Platform icon, entity type (Ad set or Ad), and the full entity name |
Action | The decision taken: Scale up, Scale down, Pause, or Watch |
Current | The budget / setting in place at the time of the decision |
Applied | The budget Ad Pilot has applied |
Time | When the decision was made |
Rows marked Watch carry no changes - Ad Pilot has evaluated the entity and decided not to act yet.
Use the Show all dropdown at the top right to filter the log, and the icons beside it to export the log or open additional options. The Last update timestamp at the bottom left of the sidebar indicates when Ad Pilot last ran.
Decision details
Click the arrow at the start of any row to expand it. The detail view explains why the decision was made:
Applied change: The current budget (struck through) next to the new budget, in daily terms.
Decision basis: The applied Target.
Performance context: Key figures behind the decision (Marketing spend, New customers, CAC, and Revenue for the evaluated period).
Configuring Ad Pilot
On the upper right-hand side of the panel, you will find two configuration options:
Targets: Configure target definitions.
Assignments: Configure assignments.
Performance view
If Ad Pilot is enabled for Campaigns and Ad Sets, it is indicated in the Performance View by an Ad Pilot icon next to the object. If Ad Pilot recently performed an action, it will be indicated by an arrow icon.
Configure a Target
Open Ad Pilot, switch to Targets, and select Create Target.
A Target defines performance benchmarks and automated reactions.
Configuration Settings
Setting | What It Means | Default / Allowed Values | Practical Effect |
Client | The client account owning the Target. | Required when multiple clients are selected. Auto-set for single accounts. | Determines where the Target can be used. Cannot be moved to another client once created. |
Name | Recognizable name for the Target. | Required text. | Labeling only. Use descriptive titles (e.g., ROAS 2.0 – Germany). |
Primary KPI | Business metric to optimize. | Required; choose from supported KPIs. | Controls calculation formulas and whether higher or lower values are preferred. |
Target Value | Desired KPI benchmark. | Default: 1 (Range: > 0 to 1,000,000). | Ratios for ROAS (e.g., 2.0); currency values for CAC/CPO. |
Note: KPI direction is automatic based on the selected metric. Targets saved in the editor are active immediately.
Trigger and Evidence Settings
Setting | What It Means | Default / Allowed Values | Practical Effect |
Scale on improvement | Minimum KPI improvement required for scaling. | Default: 10% (Range: 0–100%). | Target ROAS 2.0 with 10% requires $\ge 2.2$ to Scale Up. |
Cut on decrease | Maximum KPI drop allowed before scaling down. | Default: 10% (Range: 0–100%). | Target ROAS 2.0 with 10% triggers Scale Down at $\le 1.8$. |
Min spend increase (Ad set) | New ad-set spend needed before re-evaluation. | Default: 500 (Range: 0–1,000,000). | Higher values gather more data; lower values react faster. |
Min Ad spend increase (Ad) | New ad spend needed before re-evaluation. | Default: 200 (Optional: 0–1,000,000). | Applies to ads only. Blank disables the spend floor. |
Min order increase | Minimum short-window orders for ad-set decisions. | Default: 0 (Range: 0–1,000,000). | Guardrail for ad sets. Does not apply to ads. |
CTR decrease trigger | Relative CTR gap threshold vs. parent ad set. | Default: 20% (Optional: > 0 to 100%). | Evaluates relative percentage differences for ad creative quality. |
Time-Frame Settings
Setting | What It Means | Default / Allowed Values | Practical Effect |
Baseline window | Previous UTC days (ending yesterday) for baseline context. | Default: 4 days (Range: 1–365). | Establishes trend context for signals. |
Short window | Recent UTC days (including today) evaluated for KPIs. | Default: 1 day (Range: 1–365). | Drives ad-set decisions and ad KPI signal evaluations. |
Attribution Settings
Setting | What It Means | Default / Allowed Values | Practical Effect |
Attribution model | Conversion credit distribution methodology. | Required. Pulled from client reporting context. | Alters performance data used by Ad Pilot calculations. |
Attribution window | Maximum lookback duration for conversion credit. | Required. Pulled from client reporting context. | Changes the scope of historical performance data evaluated. |
Note: Use the attribution model and window that align with your reporting and decision-making standards. Changing attribution can alter KPI values even when media-platform delivery has not changed.
Budget-Shift and Daily-Limit Settings
Setting | What It Means | Default / Allowed Values | Practical Effect |
Scale strength | Percentage increase applied to budget on Scale Up. | Default: 20% (Range: > 0 to < 100%). | Budget of 50 becomes 60. |
Cut strength | Percentage decrease applied to budget on Scale Down. | Default: 5% (Range: > 0 to < 100%). | Budget of 50 becomes 48 after rounding. |
Max changes per day (Ad set) | Cap on ad-set adjustments and negative streak threshold. | Default: 5 (Optional: 1–48). | 5th consecutive negative result triggers a Pause. |
Max changes per day (Ad) | Cap on ad signals and negative streak threshold. | Default: 3 (Optional: 1–48). | 3rd consecutive negative signal triggers a Pause. |
Configure an Assignment
Navigate to Assignments and click Create Assignment.
Setting | What It Means | Default / Allowed Values | Practical Effect |
Channel | Target advertising platform. | Required; select enabled channels. | Case-insensitive matching. |
Target | Reusable Target rules applied. | Required; from client Target list. | Can be attached to multiple Assignments. |
Status | State of the Assignment. | Default: Active (Active/Inactive). | Inactive assignments bypass evaluation execution. |
Filter by | Level evaluated by the rule. | Default: Campaign (Campaign/Ad set/Ad). | Determines naming check layer. |
Operator | Matching logic method. | Default: Contains (Contains/Regex). | Evaluates plain strings or regex patterns. |
Value | Match string or pattern. | Required text. | E.g., matching "Open Targeting" selects matching entities. |
Recommended Setup Process
Choose one business objective: Match the KPI and Target value to your core campaign goals.
Create a Watch range: Use reasonable Scale and Cut buffers so minor volatility doesn't trigger unnecessary budget changes.
Set evidence floors: Ensure spend and order floors prevent actions on statistically insignificant volume.
Select conservative budget shifts: Use lower Scale/Cut strengths to prevent aggressive compounding changes.
Set daily caps: Limit maximum daily adjustments and set thresholds for pausing underperforming entities.
Review while inactive: Confirm channel, Target, and matching rules before enabling.
Start narrow: Target a specific, small set of ad sets or ads first.
Monitor initial runs: Review early actions, actual budget shifts, and skip logs before broadening scope.
Audit for overlaps: Ensure multiple active Assignments aren't targeting the exact same entities.
Requirements
Permissions: Account Admin access is required for initial Ad Pilot activation.
Platform Support: Meta/Facebook ad sets with independent daily budgets.
Budget Requirements: Ad sets must own their daily budgets. CBO campaigns are evaluated, but budget changes are reported as not applicable.
Configuration: Active Targets and Assignments with valid attribution settings.
User permissions and access controls
Access to Ad Pilot is governed by user roles within your Admetrics account:
User Role | Activation | View Interface & Logs | Configure Targets & Assignments |
Admin | Yes (one-time requirement) | Yes | Yes |
Ad Manager | No | Yes | Yes |
Analyst | No | No (hidden) | No |
Beta Activation: Only users with the Admin role can perform the initial one-time activation of Ad Pilot for an account.
Management & Execution: Both Admin and Ad Manager roles have full access to navigate the interface, view logs, and create or edit Targets and Assignments.
Restricted Access: Users assigned the Analyst role cannot see or access Ad Pilot in the main menu.
Practical examples and use cases
This example demonstrates how the settings fit together. It is not a universal performance recommendation.
Target Example
Setting | Example value |
Name | ROAS learning example |
Primary KPI | ROAS |
Target value | 2.0 |
Scale on improvement | 10% |
Cut on decrease | 10% |
Min spend increase (Ad) | An amount large enough to avoid reacting to trivial spend |
Min spend increase (Ad set) | An amount large enough to avoid reacting to trivial spend |
Min order increase | 0 to disable, or a suitable evidence floor |
Short window | 1 day |
Baseline window | 4 days |
Scale strength | 20% |
Cut strength | 5% |
Max changes per day (Ad set) | 5 |
Assignment Example
Setting | Example value |
Channel | Meta |
Target | ROAS learning example |
Status | Active |
Filter by | Ad set |
Operator | Contains |
Value | A distinctive part of one ad-set name |
Troubleshooting Unexpected Results
No Results Appearing
Verify whether:
The Assignment and Target are both saved and set to Active.
Channel, Filter level, Operator, and Value match an active campaign/ad set/ad.
The channel/object type supports automated Ad Pilot actions.
The scheduled evaluation run has executed.
Results Are Mostly "Skip"
Common causes:
Spend floors are set too high relative to evaluation frequency.
Recent short-window spend is zero.
Order volume is below Min order increase.
Daily execution caps have been reached.
Conflicting KPI and CTR creative signals on ad-level checks.
Note: Ensure your log view filter isn't hiding skipped rows.
Scale Up / Down Has No Proposed Budget
The ad set is likely using Campaign Budget Optimization (CBO). Ad Pilot does not adjust budgets managed at the campaign level.
Ad Result Displays "Watch" Despite Positive/Negative Signal
This is expected behavior. Ads do not possess individual budgets; signals remain labeled as Watch until consecutive negative results cross the threshold to Pause.
Budget Changes Larger Than Anticipated
Check Scale Strength and Cut Strength percentages. Remember that multiple intraday budget adjustments compound based on the updated live platform budget.
Key Safety Reminders
Review before activating: Check new Assignments while inactive, then activate a narrow match and monitor initial runs.
Audit all outcomes: Review Skip reasons in addition to Scale and Pause decisions.
Prevent conflicts: Avoid unintended overlapping Assignments evaluating the same objects.
Create a buffer: Use positive KPI triggers to establish a Watch range for minor performance fluctuations.
Ensure sufficient data: Set minimum spend and order thresholds so Ad Pilot acts only on reliable evidence.
Start conservatively: Use moderate Scale/Cut strength values and daily limits to prevent aggressive budget compounding.
Manual reactivation required: Remember that Pause actions have no automatic resume function.
Monitor regularly: Review decision logs daily to track ongoing automated adjustments.
Configure spend limits: Set Campaign Spend Limits directly in your advertising platform as an additional account safeguard.
How to share feedback
We welcome your input on Ad Pilot. If you encounter unexpected behavior, have feature requests, or need assistance structuring targets, reach out via our in-app support chat or email us at [email protected].


