Adset.ProAdset.ProKnowledge base
Home/Autorules/Preparation: profiles, change permission and data

Preparation: profiles, change permission and data

An autorule makes decisions based on Adset.pro data: spend comes from Facebook through social profiles, and deposits and revenue come from the tracker. If one of these parts is not set up, the rule either does nothing or, worse, does the wrong thing. For example, it decides that every ad set has zero deposits. This article covers what to check before your first rule and especially before switching a rule to live.

Checklist

What

Where

What happens if you skip it

The ad account is connected through a social profile, and spend is synced

Meta / TikTok → Social Profiles

Runs are skipped as “Skipped: stale data”

The connection method can make changes: “By Developer Token” or “Antidetect agent”

Profile card

In live, actions are skipped and the rule only notifies

The autorules permission is enabled on the profile

Profile card → “General” tab

In live, actions are skipped: “Skipped: no profile can make changes”

Campaign, ad set and ad ID macros are mapped in the traffic source

Tracker → Traffic Sources

The rule does not see deposits and revenue per object; live is blocked for the ad account

The ad account currency and time zone are known

Rule builder, “Name and ad accounts” step

Without a time zone the run is skipped; without a currency, budget actions are skipped

1. Social profile and connection method

The rule works with ad accounts connected to Adset.pro through social profiles. The connection method determines whether the rule can not only read data but also change campaigns in Facebook.

Connection method

Data for rules

Changes in live

What matters

“By Developer Token”

Yes

Yes

The token must have the ads_management permission, and the token user must have a role in the ad account that allows editing campaigns. Otherwise the log shows “Skipped: no permission”

“Antidetect agent”

Yes

Yes

Changes go through the profile's browser session and its proxy — the same way as the sync. Without a proxy, changes are not sent. While the profile is syncing, changes wait and, if needed, are moved to the next run

“By Browser Extension”

Yes

No

Rules for such ad accounts only notify and run in test mode. Changes in live are skipped

“By Meta Application” (OAuth)

—

—

The method is currently marked “In development” and cannot be selected

If the ad account is connected through several profiles, the rule chooses the profile for changes itself. First a Developer Token profile, then “By Meta Application”, then the antidetect agent. Browser extension profiles are never used for changes. A profile qualifies only if it:

  • is active (the “Active” switch in the card, not “Paused”) and has not lost authorization;

  • allows autorules to make changes (section 2);

  • is visible to the rule owner. The rule runs on behalf of its owner: profiles the owner cannot see do not exist for the rule.

Example. Ad account act_1234567890 is connected through two profiles: a buyer collects spend through the extension, and a team lead added a Developer Token profile for the same ad account and enabled the permission on it. The team lead's rule will change campaigns through the Developer Token. A rule with the same conditions but only the extension profile can only notify.

If Facebook rejects the token or the profile permissions, the profile owner receives a notification with a link to social profiles. In the rule log such an action has the outcome “Token error” or “Skipped: no permission”.

How to connect a profile with each method is described in “Managing social profiles and connection types”.

Tip. In the rule builder, at the “Name and ad accounts” step, the ad account shows the labels “Chrome extension only” and “Changes not allowed”. This is the fastest way to check whether the rule can change the ad account in live.

2. Permission to make changes in the profile

Even a Developer Token profile does not let a rule change campaigns until the profile owner or team management explicitly allows it. By default the permission is off.

Where to enable it:

  1. Open Meta / TikTok → Social Profiles.

  2. Open the Facebook profile you need for editing. The switch is available only for an already saved profile.

  3. On the “General” tab, enable “Allow autorules to change statuses and budgets of this profile's campaigns”.

  4. Save the profile.

The hint under the switch explains what changes: autorules will be able to pause and enable campaigns, ad sets and ads in this profile's ad accounts and change their budgets. While the permission is off, rules for these ad accounts only notify and run in test mode.

Who

Enable

Disable

Team owner, team lead, admin

Yes

Yes

Tech specialist, buyer

No: the switch is inactive, with the caption “Only the team owner, a team lead or an admin can turn this on.” under it

Yes, if they can edit the profile

  • A browser extension profile also has the switch, but actions are still not executed. The card warns: “Profiles connected through the Chrome plugin do not execute actions: rules for their ad accounts only notify.”

  • The permission is tied to the connection method. If the profile's connection method changes, the card warns about it. A manager confirms the permission for the new method by saving the profile. If the profile is saved by a user who cannot enable the permission, it stops working until the team owner, a team lead or an admin enables it again.

  • Without the permission, the live rule log shows the outcome “Skipped: no profile can make changes” with the reason “Autorule changes are turned off for the profiles”, and the “Last run” column of the rule list shows a warning tag.

Tip. Do not enable the permission on all profiles at once. Start with one profile and one rule tested in test mode, and expand the scope once you are sure the rule behaves as expected.

3. Macro mapping in the traffic source

The rule takes spend from Facebook, and deposits and revenue from the tracker. To link them, the click must carry the Facebook campaign, ad set and ad IDs. This is handled by the macro mapping in the traffic source: {{campaign.id}}, {{adset.id}} and {{ad.id}}.

Without mapping, the rule sees zero installs, zero deposits and zero revenue for objects. For a stop-loss this is a disaster: it decides that no ad set brought deposits and turns off every one whose spend is above the threshold.

Which macro is needed

Rule level

Required macro

Campaigns

{{campaign.id}}

Ad sets

{{adset.id}}; if a condition compares an ad set with its campaign, also {{campaign.id}}

Ads

{{ad.id}}; if a condition compares an ad with its ad set, also {{adset.id}}

Mapping is needed only if the rule reads tracker metrics: installs, registrations, deposits, redeposits, revenue, CPI, cost per registration, CPD, CR, profit, ROI, ROAS. Rules that use only Facebook metrics — spend, impressions, clicks, CPC, CTR, CPM — and object attributes do not need it. For example, the “Creative burnout alert” and “CPM spike alert” templates work without mapping.

Which sources are checked

Every social profile has a required “Source” field — the traffic source you run from this account. The rule checks the mapping in the sources of all profiles through which the ad account is connected. There are three possible states:

State

What it means

What the rule does

Set up

All sources of the ad account pass the required IDs

Works in both modes

Partial

At least one source passes the required ID, but not all of them

Live works, but the preview warns: “Tracker attribution covers only part of the traffic of this ad account: objects of unmapped sources see zero conversions.”

Not set up

No source of the ad account passes the required ID

Live is blocked for the ad account. Preview: “Tracker attribution is not set up for this ad account: live is blocked for it.” In the log, actions are skipped with the reason “Tracker attribution is not set up for this ad account”. Test mode keeps working

Important. Partial attribution is more dangerous than it seems. If the ad account has two sources and only one passes {{ad.id}}, the ads of the second source are “without installs” for the rule. The “Kill ads without installs” template turns them off as soon as spend exceeds the threshold. Fix the mapping or narrow the rule scope to campaigns that run through the configured source.

How to set up the mapping and check that it works is described in “Setting up traffic sources for correct mapping”.

4. Data freshness

The rule does not make decisions on outdated figures. Before each run it checks how recent its data is. This is the older of two timestamps:

  • the last successful Facebook spend sync for the ad account profiles — its frequency is set by the sync interval in the profile (15 minutes, 30 minutes or an hour, depending on the plan);

  • the last tracker conversion update — it happens roughly every 15 minutes.

If the data is older than the “Allowed data lag” threshold (90 minutes by default; you can set from 15 minutes to a day at the “Guards and notifications” step), the run is skipped with the status “Skipped: stale data”. In the log, the “Data” column shows the lag, the threshold and the reason:

Reason in the log

What happened

What to do

“Facebook spend has not been synced yet”

No full spend sync has completed for the profile yet — typical for a newly connected ad account

Wait for the first sync. For an extension profile, open the browser with the extension

“Facebook spend sync is behind”

The last successful spend sync is older than the threshold

Check the profile sync status and the last error text on the “Connection” tab

“Facebook sync failed on every profile”

All profiles of the ad account have a sync error status

Fix the profile error: reconnect the token or the session

“No profile syncs this ad account”

The ad account has no profiles visible to the rule owner

Check who owns the rule and whether they can see the ad account profiles

“Tracker conversions are behind” / “Tracker conversion freshness is unknown”

A delay on the tracker statistics update side

Usually resolves by itself; if it persists, contact support

Nuances worth knowing:

  • The sync timestamp is shared by the profile. If during the spend sync Facebook did not return data for at least one ad account of the profile, the timestamp is not updated, and all ad accounts of this profile may become “behind”.

  • Browser extension profiles send data only while the browser with the extension is open. If such a profile has several ad accounts, runs for them may be skipped as stale even when the extension is working.

  • The threshold should be noticeably larger than the spend sync interval. With an hourly sync, a 60-minute threshold will skip a significant share of runs.

Tip. To learn about skips right away, enable the “Stale data” event in “Notify about” at the “Guards and notifications” step. It is off by default. Such notifications arrive no more than once every 6 hours per ad account.

Separate from freshness, there is deposit delay: a deposit can arrive hours after the click, so revenue for the last hours is always understated. This is not a sync error but a property of the funnel. How to account for it in conditions is described in “Conditions: metrics, windows, attribution and comparisons”.

5. Ad account currency and time zone

Currency

What

In which currency

Spend, revenue, CPD, CPI, profit and other monetary metrics in conditions

USD — for all ad accounts

Budgets: conditions on daily and lifetime budget, amounts and limits in actions, the ad account budget cap

The currency of each ad account, in regular units: 50 means 50 hryvnias in a UAH ad account or 50 dollars in a USD ad account; fractions are allowed (50.5)

  • If the rule has ad accounts in 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.” A “Not above 500” limit means 500 dollars in one ad account and 500 hryvnias in another.

  • In the scale and cut templates, the default budget limits are 500 and 20. They are designed for currencies like USD and EUR. For ad accounts in UAH, JPY, IDR, KRW, VND and similar currencies, you must change them.

  • If the ad account currency is unknown, budget actions for it are skipped with the reason “Ad account currency is unknown”.

Tip. If you have ad accounts in different currencies and the rule changes budgets, split it into separate rules per currency — this way the limits are clear at a glance.

Time zone

The rule calculates all “calendar” things in the time zone of each ad account — the same way Facebook does in Ads Manager:

  • schedule and active windows: a rule “every day at 09:00” on ad accounts in different time zones fires at different times;

  • the “Today”, “Yesterday”, “Last N days” metric windows;

  • “Pause until end of day” — the object is enabled at 00:00 ad account time;

  • the “Actions per object a day” limit.

The time zones of the selected ad accounts are shown in the builder at the “Schedule” step. If the ad account time zone is unknown, the run is skipped with the reason “Ad account time zone is unknown”.

6. Data history and “only new objects”

The rule sees data only from the moment the ad account was connected to Adset.pro. This matters for the “Only new objects” filter: an object's age is counted from its first spend. If the object was spending before the ad account was connected, its real first spend is unknown. Such an object does not get into “only new”, and the “Objects in the rule now” counter shows it as an object of unknown age. Details are in “Scope: ad accounts, level, name masks and ‘only new’”.

7. Roles and plan

  • The team plan must include the “Meta autorules (beta)” feature.

  • The team owner, team lead and tech specialist can create rules and switch them to live; a buyer can only view.

  • The permission on the profile is enabled by the team owner, a team lead or an admin.

The full permissions table is in the overview of the “Autorules” section.

Summary: is everything ready for live

  1. The ad account profile is connected through a Developer Token or an antidetect agent, is active and syncs without errors.

  2. “Allow autorules to change statuses and budgets of this profile's campaigns” is enabled on the profile.

  3. The sources of all ad account profiles map the ID macro of the level the rule works on.

  4. The rule preview has no warnings about stale data or attribution.

  5. Budget limits in the rule are checked in the currency of each ad account.

  6. The rule has run for a day or two in test mode, and you are satisfied with the decisions in the log — see “Quick start” and “Preview, test and live modes”.