Adset.ProAdset.ProKnowledge base
Home/Autorules/Scope: ad accounts, level, name masks and “only new”

Scope: ad accounts, level, name masks and “only new”

The scope answers the question which campaigns, ad sets or ads the rule checks at all. It is set on two steps of the builder:

  • “Name and ad accounts” — ad accounts, level (campaigns, ad sets or ads) and priority;

  • “Which objects” — name masks, “Only new objects”, the other filters, manual objects and exclusions.

Conditions, actions and guards work only with objects in the scope. The rule does not touch anything outside it, even if budget is being drained there.

The list of objects is not fixed on save. The rule rebuilds it on every check of every ad account. New ad sets with a matching name are picked up automatically. Objects that no longer match leave the rule on their own: for example, an ad set became older than 7 days, or the rule paused it while the filter has “Status: Active”. There is no need to clean up the list manually.

Ad accounts

In the “Ad accounts” field, select the Facebook ad accounts the rule works with. The list contains your team's synced Meta ad accounts, each shown with its currency and time zone. One rule can have up to 50 ad accounts.

If an ad account is connected through several social profiles (for example, of two buyers), it is still a single account in the rule, and its objects are not duplicated.

The rule runs on behalf of its owner and sees only the owner's ad accounts. An ad account that is not visible to you or to the rule owner is marked “Not visible”. You cannot create a rule with such an ad account or add it to an existing rule.

Ad account currency

Rules deal with two kinds of money, and they are calculated differently:

What

Currency

Spend, revenue, profit, CPC, CPM, CPI, CPD, cost per registration

Always in USD, whatever the ad account currency

Budgets: “Daily budget” and “Lifetime budget” thresholds in conditions, amounts of budget actions, “Not below” and “Not above” limits, the ad account budget limit

In the currency of each ad account

If the selected ad accounts use different currencies, the builder warns: “The ad accounts use different currencies (…): budget limits are applied as numbers in each account's currency. Spend and revenue metrics are in USD”. In that case “Not above 500” means 500 dollars for a USD account and 500 yen for a JPY account.

Tip. Do not mix ad accounts with different currencies in one budget rule: create a separate rule for each currency.

Ad account time zone

The time zone of each ad account is used for the “Today”, “Yesterday” and “Last N days” windows, the schedule, activity windows and pause until the end of the day. If a rule has ad accounts in Europe/Kyiv and America/New_York, their “today” starts at different times. So a “daily at 06:00” run happens in each ad account at its own 06:00.

If the time zone of an ad account is unknown, the selected ad account is marked “time zone unknown”. Checks for such an ad account are skipped with the reason “Ad account time zone is unknown”.

Connection method: whether the rule can change objects

A rule can calculate metrics and run in dry-run in any ad account. Pausing, enabling and changing budgets in live mode works only through a profile that supports it and has allowed it:

Profile connection method

What the rule can do in live

Developer token, OAuth

Pause, enable, change budget, notifications, if changes are allowed in the profile

Browser agent

The same. Changes go through the profile's browser session and its proxy, the same way as the sync. An agent without a proxy does not send changes

Chrome extension (plugin)

Only notifications and dry-run: live actions are skipped

The builder marks such ad accounts right in the list:

  • “Chrome extension only” — the ad account is connected only through the plugin. Live actions will be skipped; the rule can only notify and run in dry-run.

  • “Changes not allowed” — none of the ad account's profiles allows rules to change campaigns. Enable the permission: Meta / TikTok → Social profiles → profile → “Allow autorules to change statuses and budgets of this profile's campaigns”.

For more on profiles and the permission, see “Preparation: profiles, change permission and data”.

Level: campaigns, ad sets or ads

The “Level” field defines what the rule manages. The builder hint says: “Ad sets suit most rules for new campaigns”. The level determines which filters, metrics and actions are available. If you change the level, the builder rechecks the conditions and actions and highlights what is not available at the new level.

What changes

Campaigns

Ad sets

Ads

Name mask checks

campaign name

ad set name

ad name

Budget actions

only for CBO campaigns (campaign budget)

only for ad sets of ABO campaigns

no: ads have no budget

Comparison with parent

no

with the campaign

with the ad set

“Budget type” filter

yes

yes (campaign budget type)

no

“Learning phase” filter

no

yes

no

“Campaign objective” filter

objective of the campaign itself

objective of the ad set's campaign

objective of the ad's campaign

“Since start” age

yes

yes

no

“Since budget change” window, budget attributes

yes

yes

no

Important. The name mask checks the name of the object at the selected level. In an ad set rule, the mask *nutra* looks for “nutra” in the ad set name, not the campaign name. To select ad sets by campaign, use the “Tracker campaign” filter or name ad sets using the same scheme as campaigns.

Priority

A number from 1 to 100, 50 by default. Priority matters when several rules on one ad account want to do different things with the same object:

  • the rule with the higher priority wins; with equal priority, the one created earlier wins;

  • a pause always beats enabling and budget increases, regardless of priority. If one rule pauses an ad set while another wants to raise its budget at the same moment, the ad set is paused. The increase is logged as “Skipped: conflict with another rule” with the reason “A pause wins over this action”.

For more on conflicts and guards, see “Schedule, guards and priorities”.

How the rule builds the list of objects

On every check, separately for each ad account:

  1. objects of the selected level are taken from the ad account;

  2. filters are applied to them (“Only new objects”, masks, status and the rest);

  3. manually specified objects are added;

  4. exclusions are removed.

What is set

What gets into the rule

There are filters

Objects that passed the filters + manual objects − exclusions

No filters, there are manual objects

Only manual objects − exclusions

Neither filters nor manual objects

All objects of the level in the selected ad accounts − exclusions

Important. “All objects of the level” really means all of them, including stopped, deleted and archived ones. Rules that pause objects or change budgets almost always need the “Status: Active” filter. All templates take only active objects by default.

Name masks

The most common filter is by name. In simple mode it consists of two fields:

  • “Name matches a mask” — an object passes if its name matches at least one mask;

  • “Name does not match the masks” — an object is filtered out if its name matches at least one mask.

Mask rules

  • * — any sequence of characters, including an empty one.

  • ? — exactly one arbitrary character.

  • Case does not matter: *nutra* finds both “NUTRA” and “Nutra”.

  • The mask is compared with the whole name, not searched inside it. The mask nutra without asterisks finds only an object named exactly “nutra”. To search for “contains”, put asterisks on both sides.

  • Regular expressions are not supported. All other characters, including ., [, ], (, ^, $, |, +, are taken literally: the mask [UA]* looks for names that start with the text “[UA]”.

  • One filter holds up to 5 masks, each up to 120 characters long. An empty mask cannot be saved.

  • A mask is added on Enter, with the “Add” button, or when you leave the field.

Examples

Mask

Meaning

Matches

Does not match

*_nutra

ends with “_nutra”

fb_us_nutra, TEST_NUTRA

nutra_us, fb_nutra_v2

video*

starts with “video”

video_01, Video UA

my_video, vid_01

*nutra*

contains “nutra” anywhere

nutra, us_nutra_v2, KetoNutra

nutr_a, keto

nutra_us_v1

exact name (case-insensitive)

nutra_us_v1, NUTRA_US_V1

nutra_us_v1_copy, old_nutra_us_v1

adset_??

“adset_” and exactly two arbitrary characters

adset_01, adset_AB

adset_1, adset_100

*_v?

ends with “_v” and one character

creo_v1, creo_v9

creo_v10, creo_v

*nutra*_us*

“nutra”, and “_us” somewhere after it

nutra_keto_us_01

us_nutra_01

[UA]*

starts with the text “[UA]”, the brackets are ordinary characters

[UA] gambling 01

UA gambling 01

Several masks and “name does not match”

  • Masks in one field are combined with “OR”: *nutra* and *keto* in the “Name matches a mask” field take both nutra and keto.

  • “Name does not match the masks” removes an object if it matches at least one mask. For example, *_test and *copy* remove test ad sets and copies.

  • Both fields work together: “matches” *nutra* + “does not match” *_test — all nutra except tests.

  • If a name must match two masks at once regardless of order (for example, contain both “nutra” and “_us”), use advanced mode: two separate “Name matches” filters in an “All (AND)” group.

Tip. After entering masks, look at the “Objects in the rule now” counter and turn on “Show objects”. This immediately shows whether the mask caught anything extra: for example, *us* finds both “bonus” and “Russia”.

“Only new objects”

Rules are usually needed on fresh launches: Facebook itself already optimizes campaigns that have ramped up. For this, the “Only new objects” toggle sits at the top of the “Which objects” step. It works in both simple and advanced mode: an object must pass it together with all other filters.

After turning it on, set:

  • younger than N d — from 1 to 365 days, 7 by default;

  • what the age is counted from: “Since first spend” (default), “Since created” or “Since start”. “Since start” is not available for ads.

How age “since first spend” is calculated

  • Age is counted from the first hour in which the object had spend.

  • While there is no spend, age is counted from the object's creation date in Facebook. A newly created ad set gets into the rule immediately, not after the first impression, if its creation date is known.

  • The boundary is strict: an object created exactly N days ago is no longer considered younger than N days.

  • When an object becomes older than N days, it leaves the rule on its own at the next check.

Example. An ad set rule “younger than 7 d, since first spend”. The ad set was created on Monday, and its first spend was on Wednesday at 14:00. The ad set is in the rule from the moment of creation until the next Wednesday, 14:00. After that, the rule no longer touches it.

Why first spend is the default rather than creation: a campaign created 10 days ago and launched yesterday is already “old” by creation date, although it has actually just started.

Objects that existed before the ad account was connected

Adset.pro sees spend from the moment the ad account was connected to the team. If an object was spending before that, its real first spend is unknown: the sync sees only the beginning of its own window. To keep an old ad set from “getting younger”, the rule does the following:

  • if the object's creation date is known and is earlier than the ad account connection, age is counted from the creation date. In the object samples, the “Age counted from” column shows “First spend may predate the connection: creation time used”;

  • if the creation date is unknown (this happens with profiles on the Chrome plugin) and the first observed spend falls within the first week after connection, age is considered unknown. Such an object does not get into “only new”, and the counter shows a warning about objects with unknown age;

  • if the first spend was later, it can be trusted, and age is counted from it.

Important. Right after an ad account is connected, “only new” by first spend is stricter than you might expect: some old objects will not get into the rule. This is intentional, so that the rule does not start scaling or cutting the budget of an old campaign, mistaking it for a new one.

“Only objects older than”

The reverse filter is available in simple mode: “Only objects older than” N days (30 by default) with the same counting options. It is useful, for example, for notification rules on long-running setups. “Only new” and “older than” can be turned on together to get “age from 3 to 14 days”.

Other filters

Filter

What it checks

Levels

What to keep in mind

Status

The status set by the user or a rule: Active, Paused, Deleted, Archived, In review, Disabled, With issues

all

This is not the delivery status. An ad set of a stopped campaign remains “Active” by itself. An object with an unknown status does not pass the filter

Budget type

CBO (campaign budget) or ABO (ad set budget). For an ad set — the budget type of its campaign

campaigns, ad sets

Objects with an unknown budget type do not pass the filter. Handy for budget rules: CBO for campaigns, ABO for ad sets

Learning phase

Learning, Learning complete, Learning limited, Learning waived, Unknown

ad sets

Facebook reports the phase only for active ad sets and not in all ad accounts. The plugin does not pass it. An ad set without a phase does not pass the filter

Campaign objective

Facebook objective code, for example OUTCOME_SALES, OUTCOME_LEADS, LINK_CLICKS. For ad sets and ads — the objective of their campaign

all

The code is entered in capital letters, digits and “_”, up to 100 values

Tracker campaign

The Adset.pro tracker campaign the ad link points to (determined during sync)

all

An ad passes if its link points to the selected campaign. An ad set or campaign passes if it contains at least one such ad. Up to 100 campaigns

Tracker source

The traffic source linked to the ad account's social profiles

all

Works for the whole ad account: either all of its objects match or none. If the ad account's profile is not visible to you, the filter may be unable to decide. Up to 100 sources

Only new objects / Only objects older than

Object age in days

all (“Since start” — except ads)

See the section above. An object with unknown age does not pass

Name matches / Name does not match

Name of the object at the selected level

all

Up to 5 masks per filter

In simple mode an empty field means “Any”: the filter does not restrict anything. A filter that is not available at the selected level is disabled with the caption “Not available for this level”.

Important. If the rule must enable objects, do not set the “Status: Active” filter, otherwise stopped objects will not get into the rule. Note that the “enable” action only removes a pause set by rules: it does not touch a manual pause.

Simple and advanced mode

The switch above the filters: “Simple” and “Advanced (AND/OR)”.

  • Simple: all filled-in filters are combined with “AND”, and an object must pass each of them. This is enough almost always.

  • Advanced: filters are assembled into a tree of “All (AND)” groups (an object must pass every filter of the group) and “Any (OR)” groups (one is enough). The filter type is selected from a list; groups are added with the “Add an AND group” and “Add an OR group” buttons.

Advanced filter example. You need active ad sets whose name contains “nutra” or that point to the “Keto DE” tracker campaign:

  • All (AND)

    • Status: Active

    • Any (OR)

      • Name matches: *nutra*

      • Tracker campaign: Keto DE

Tree limits: 2 to 16 items per group, up to 32 filters and groups in total, nesting up to 4 levels. Under the tree there is a counter “Nodes: N of 32, depth: N of 4”.

If a filter cannot be shown in simple mode, the rule opens in advanced mode with the note “The filter is more complex than the simple mode can show”, and simple mode is unavailable. The builder does not silently simplify such a filter.

When a filter “cannot decide”

Sometimes an object lacks the required value: its status, budget type, learning phase or age is unknown. Then the filter answers neither “yes” nor “no”, and the object does not get into the rule. This way the rule does not touch an object it knows little about. In an “Any (OR)” group, such an object still gets in if it passed another filter of the group. The counter shows how many objects were filtered out this way.

Manual objects and exclusions

  • “Manual objects” — Facebook IDs of objects added to the filter results. A manual object gets into the rule without filter checks, but only if it exists in the selected ad accounts.

  • “Exclusions” — Facebook IDs of objects the rule does not touch, even if they pass the filters or are added manually. Exclusions take precedence over everything.

IDs are entered as digits only, separated by commas or spaces; you can paste a whole list. Each field holds up to 500 IDs: anything that does not fit stays in the field with a hint. The ID level must match the rule level: an ad set rule needs ad set IDs.

Important. If there are no filters but there are manual objects, the rule works only with them. The builder reminds you: “There are no filters, so the rule works only with manually added objects. Remove them to cover all objects of the level”.

Examples:

  • a rule by the mask *nutra*, but one test campaign must not be touched — add its ID to the exclusions;

  • an “only new” rule, but you also need to watch one old ad set — add its ID to “Manual objects”;

  • a rule for three specific ad sets — no filters, three IDs in “Manual objects”.

The “Objects in the rule now” counter

At the bottom of the “Which objects” step, the builder shows how many objects match the scope right now. The counter updates about half a second after each edit. It shows:

  • “Total: N” across all ad accounts;

  • per ad account: “objects”, “manual”, “excluded” and “checked” (how many objects of the ad account were scanned);

  • “Updating” if a recount is already in progress, and “Outdated” if the numbers refer to a previous version of the filter. The refresh button recounts manually.

The “Show objects” toggle displays up to 20 samples per ad account with the columns “Name”, “Status”, “Age”, “Age counted from” and “Budget”. Manual objects are marked “manual”. If there are more objects, the bottom shows “Showing 20 of N”.

The counter appears when at least one ad account is selected and the filters have no errors. While there are errors, a hint and a list of problems are shown instead of numbers.

Important. The counter shows which objects the rule checks, not which ones it will act on. Usually far fewer objects match the conditions. What the rule would do right now is shown on the “Preview” step (see “Preview, test and live modes”).

Counter warnings

Warning

What it means and what to do

“The filter matches no objects: the rule will do nothing”

No ad account has matching objects. Check the masks (did you forget *), status and age

“No objects match in …”

Other ad accounts have objects, but this one does not. Perhaps the ad account is unnecessary or uses a different naming scheme

“Ad account … is not visible in the team: it adds no objects”

The ad account is not synced in the team or is not visible. Check the profile and the sync

“…: N objects, more than 500. Make sure the filter is not too broad”

A rule with a budget action on hundreds of objects is more often a filter mistake than intent. Narrow the masks or add “Only new”

“…: more than 5000 objects, the rule will process only the first 5000”

Per check, the rule takes no more than 5000 objects per ad account, in ID order. The rest are skipped. Be sure to narrow the filter

“…: objects without a known age do not pass the age filter: N”

The age of these objects is unknown (see the section on objects that existed before the ad account was connected). If you need them, add them manually

“…: objects the filters could not decide on (unknown status or budget type): N”

These objects lack the value the filter checks: Facebook did not send it or the sync has not received it yet. Such objects do not get into the rule. If you need them, add them manually or remove the filter

“Manual objects not found in the selected ad accounts: N”

A mistyped ID, an object from another ad account or another level

Why a specific object did not get into the rule

Open the rule log, the “Why not now?” tab, and enter the object ID. It shows whether the object is in the scope (“Matches the filters”, “Added manually”, “All objects of the level”, “Excluded”, “Filtered out”, “Filters could not decide”, “Not among the manually added objects”), as well as which filter cut it off and with what value. For details, see “Log: runs, “Why?” and rollback”.

Limits

What

Limit

Ad accounts per rule

up to 50

Priority

1–100, 50 by default

Masks in one name filter

up to 5, each up to 120 characters

Values in the “Campaign objective”, “Tracker campaign”, “Tracker source” filters

up to 100

“Younger than” and “older than” age

from 1 to 365 days

Filter tree (advanced mode)

up to 32 filters and groups, nesting up to 4, 2–16 items per group

Manual objects

up to 500 IDs

Exclusions

up to 500 IDs

Objects per ad account per check

up to 5000 (the rest are skipped)

“Too many objects” warning threshold

more than 500 per ad account

Samples in “Show objects”

up to 20 per ad account

Ready-made setups

Task

How to set up

Stop-loss on new nutra ad sets, except test ones

Level: Ad sets. Only new objects: younger than 7 d, since first spend. Name matches a mask: *nutra*. Name does not match the masks: *_test, *copy*. Status: Active

Scaling CBO campaigns of one setup

Level: Campaigns. Budget type: CBO. Tracker campaign: the required campaign. Status: Active

Cutting the budget of ad sets in ABO campaigns

Level: Ad sets. Budget type: ABO. Status: Active

Turning off ads without installs in fresh launches

Level: Ads. Only new objects: younger than 3 d. Status: Active

All active campaigns of the ad account except one

Level: Campaigns. Status: Active. Exclusions: the ID of that campaign

Watching three specific ad sets

No filters. Manual objects: three ad set IDs

What's next