Skip to main content

Ad Pilot: Automate Ad Scaling and Performance Optimization

Automate ad set budget adjustments and creative signal evaluation to protect ad spend and scale winning ad sets based on custom business targets.

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:

  1. Finds active ad sets/groups and ads that match an active Assignment.

  2. Imports their attributed performance data according to the assigned attribution model and time windows.

  3. Performs Evidence Checks (minimum spend increase, minimum short-window orders, daily action caps).

  4. Applies the rules in the selected Target.

  5. 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:

  1. Target KPI signal

  2. 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

  1. Choose one business objective: Match the KPI and Target value to your core campaign goals.

  2. Create a Watch range: Use reasonable Scale and Cut buffers so minor volatility doesn't trigger unnecessary budget changes.

  3. Set evidence floors: Ensure spend and order floors prevent actions on statistically insignificant volume.

  4. Select conservative budget shifts: Use lower Scale/Cut strengths to prevent aggressive compounding changes.

  5. Set daily caps: Limit maximum daily adjustments and set thresholds for pausing underperforming entities.

  6. Review while inactive: Confirm channel, Target, and matching rules before enabling.

  7. Start narrow: Target a specific, small set of ad sets or ads first.

  8. Monitor initial runs: Review early actions, actual budget shifts, and skip logs before broadening scope.

  9. 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].

Did this answer your question?