Adset.ProAdset.ProKnowledge base
Home/Autorules/Notifications

Notifications

An autorule reports when it did something, when it could not do something, and when it skipped a check because of stale data. Notifications are delivered to the adset.pro bell, to Telegram and by e-mail — according to your settings. This article covers where to turn on channels, who receives notifications, what a message looks like, which types exist and how often they arrive.

Important. In the beta, autorule notification texts are in English, regardless of the interface language. A glossary of the main phrases is below.

In short

  • The recipient is the rule owner. With a checkbox in the rule, the ad account owners receive them too.

  • The recipient chooses the channel: the bell always receives notifications, Telegram and e-mail follow the recipient's settings for the “Autorule triggered” event.

  • One message per rule, ad account and run, not one per object.

  • What exactly to send is set in the rule: “Actions”, “Errors”, “Stale data”. By default — actions and errors.

  • Errors, stale data and test reports arrive no more than once every 6 hours per rule and ad account.

  • Every message contains links to the objects in Ads Manager and to the rule log.

Channels and where to turn them on

Channel

Default

Requirements

Specifics

Bell (In-App)

Always on

Nothing

Clicking a notification opens the rule log. The message lines are merged into one paragraph, objects are separated by “•”.

Telegram

On

Link the bot in your profile (“Activate Telegram”)

The most convenient channel: lines are preserved, each object has its own Ads Manager link, and the log link is at the end. The icon in the title shows the type: ⚠️ change or stale data, ❌ error, ℹ️ test or notification without changes.

E-mail

Off

A verified e-mail address

The e-mail subject is the notification title. Links to Ads Manager and the log are in the e-mail body. Off by default because a rule with a frequent schedule quickly floods the inbox.

Where to turn on Telegram and e-mail:

  1. Open the user menu → “Settings” → the “Notifications” tab.

  2. Find the “Autorules” group and the “Autorule triggered” row (“A rule changed the traffic split in your campaign, warned about a problem or reported a test run”).

  3. Check or uncheck E-mail and Telegram and click “Save”.

  4. If the top shows “Telegram is not linked — Telegram notifications will not be delivered” or “E-mail is not verified”, click “Activate Telegram” or “Activate e-mail” and follow the steps.

Important. The “Autorule triggered” event is shared by all adset.pro autorules: both Meta autorules and TDS autorules. Turning Telegram off here turns it off for both sections. The bell cannot be turned off: “In-App notifications are always delivered — only e-mail and Telegram delivery is configured here.” To get fewer messages, configure notifications in the rule itself (section below).

Notification settings in the rule

In the rule builder, the “Guards and notifications” step:

Setting

Options

What it does

Notify about

“Actions”, “Errors”, “Stale data”. “Actions” and “Errors” are selected by default.

“Actions” — a report on pauses, enables and budget changes (in test mode — on what the rule would have done). “Errors” — the rule could not do something or the run failed. “Stale data” — the run was skipped because the data lags more than allowed.

Also notify the ad account owner

Off by default

The ad account owners receive the same messages (see “Who receives”).

Separately, there is the “Notify” action (the “Actions” step). It is an explicit request from the rule to send a message when an object matches the conditions. It sends a message always, even if “Actions” is not selected in “Notify about”. The “Creative burnout alert”, “CPM spike alert” and “New campaign watch” templates are built on it.

  • If “Actions” is not selected and the rule both notifies and changes something, the message contains only the objects with “Notify”. Other changes are summarized in one line: It also changed N ad sets, not listed here: change reports are turned off for this rule.

  • If “Errors” is not selected, errors are included neither in separate messages nor as a section in the action report. You will have to check them in the log.

Tip. For rules that change budgets and statuses in Live, keep “Actions” and “Errors”. Turn on “Stale data” for important rules such as a stop-loss: if the spend sync stalls, you will know that the protection is not working right now.

Who receives

Notification

Recipient

Run reports: actions, errors, stale data, test

Rule owner. With the “Also notify the ad account owner” checkbox — also the users through whose profiles this ad account is connected, if the rule owner can see them. No duplicates: each person receives one message.

Profile problem: no ads_management permission, invalid token

Profile owner — the person who can reconnect it. No more than once every 6 hours per profile and problem, no matter how many rules depend on this profile.

Problem enabling at 00:00 after “Pause until end of day”

Rule owner.

The channel for each recipient comes from their own settings: the rule does not decide for a person whether to message them in Telegram. If a team lead set up a rule on a buyer's ad account and turned on “Also notify the ad account owner”, the buyer receives messages wherever they have the “Autorule triggered” event turned on.

Important. If an ad account owner received a notification but cannot see the rule itself, the log link may open the “No access” screen.

Notification types

The notification title is in English. It makes it easy to see what happened.

Title

When it arrives

Type

Checkbox required in the rule

Meta autorule changed N ad sets

Live: the rule paused, enabled or changed the budget. Errors of the same run are in a section at the bottom.

Warning

“Actions”

Meta autorule flagged N ad sets

Live: only the “Notify” action triggered, nothing was changed in the ad account (Nothing was changed).

Info

Not required: “Notify” always sends

Meta autorule test run: N ad sets matched

Dry-run: what the rule would have done.

Info

“Actions” or the “Notify” action

Meta autorule could not act

Changes were not applied: token, permissions, no profile, limits or a Facebook rejection, live blocked because of attribution.

Error

“Errors”

Meta autorule could not confirm changes

The change was sent, but Facebook did not confirm it: it may have been applied.

Error

“Errors”

Meta autorule run failed

The run failed: an internal failure, or the rule configuration no longer passes validation.

Error

“Errors”

Meta autorule did not run

The run was skipped: the ad account is no longer available to the rule owner, or the ad account time zone is unknown.

Error

“Errors”

Meta autorule skipped: stale data

The run was skipped: the data is older than the “Allowed data lag”.

Warning

“Stale data” (off by default)

Meta autorules: profile lacks permission

The profile token lacks the ads_management permission.

Error

Not required

Meta autorules: profile token is invalid / profile session expired

The profile token is invalid, or the agent's browser session has expired. If the error occurred right while sending a change, you receive the regular “Facebook: token revoked” or “Facebook: browser session expired” notification instead.

Error

Not required

Meta autorules: ad set is still paused

The object could not be enabled at 00:00 for a reason that a retry will not fix by itself (no profile, permission, token, rule owner unavailable). Attempts continue for another 24 hours.

Error

Not required

Meta autorules: ad set left paused

The 24 hours of attempts are over; the object stays off until someone enables it manually.

Error

Not required

Meta autorules: ad set not turned back on

The object was edited in Facebook after the pause, so the rule did not enable it.

Warning

Not required

Instead of “ad sets”, the title may say “campaigns”, “ads” or “objects”, depending on the object level.

What is in the message

  1. First line: the rule, the ad account (name and act_ID) and the outcome in one phrase — “paused 2 ad sets and changed the budget of 1 ad set”.

  2. Up to 5 objects, changed ones first. For each — what was done (“paused”, “turned on”, “paused until the end of the day”, “daily budget 100.00 → 120.00 USD”) and up to 3 triggered conditions with values. Below it — a link to the object in Ads Manager. The remaining objects are summarized as “…and N more ad sets”.

  3. Error section (Not applied: or Not confirmed:), if there were errors and “Errors” is on: up to 4 reasons, each with the number of objects, the profile the change went through, and what to do.

  4. Rule log: — a link to the rule log.

Values in conditions: spend and revenue are in dollars, ROI and CTR in percent, ROAS as a multiplier (“1.35×”), budgets in the ad account currency. The window and attribution are in parentheses: “(today)”, “(last 3d, click cohort)”. A message is limited to about 3000 characters; long names are truncated.

Example: stop-loss in Live

This is what the message looks like in Telegram:

⚠️ Meta autorule changed 2 ad sets

Rule "Stop-loss UA" acted in ad account "UA Nutra 3" (act_123456789): paused 2 ad sets.
• Ad set "nutra_ua_video_03": paused until the end of the day. Spend (today) $64.20 above $60.00; Deposits (today, click cohort) 0 = 0.
https://adsmanager.facebook.com/adsmanager/manage/adsets?act=123456789&selected_adset_ids=…
• Ad set "nutra_ua_static_01": paused until the end of the day. Spend (today) $71.80 above $60.00; Deposits (today, click cohort) 0 = 0.
https://adsmanager.facebook.com/…
Rule log: https://…/ads/rules/…/log

It reads as follows: the “Stop-loss UA” rule in the “UA Nutra 3” ad account paused two ad sets until the end of the day. The first one spent $64.20 today with a $60 threshold, and today's clicks brought 0 deposits. At 00:00 ad account time the ad sets will be enabled automatically.

Example: scaling in Live

Rule "Scale ROI" acted in ad account "UA Nutra 3" (act_123456789): changed the budget of 1 ad set.
• Ad set "nutra_ua_video_07": daily budget 100.00 → 120.00 USD. ROI (yesterday, click cohort) 48.2% above 30%; ROI (last 3d, click cohort) 35.6% above 20%.

Example: error

❌ Meta autorule could not act

Rule "Scale ROI" could not apply 3 changes in ad account "UA Nutra 3" (act_123456789):
• 3 ad sets: No profile of this ad account allows autorule changes. Turn on "Allow autorules to change statuses and budgets of this profile's campaigns" in Ads → Social Profiles.
Rule log: https://…/ads/rules/…/log

Meaning: the rule in Live wanted to change the budgets of three ad sets, but none of the ad account's profiles has the change permission turned on. Turn it on in social profiles.

Example: stale data

⚠️ Meta autorule skipped: stale data

Rule "Stop-loss UA" skipped ad account "UA Nutra 3" (act_123456789): the data is 2 h 10 min old, the rule allows up to 1 h 30 min.
Data as of 2026-10-09 12:20 (Europe/Kyiv).
Why: the Facebook spend sync is behind.
The rule will run again once the data catches up.

The “Data as of” time is in the ad account time zone.

Phrase glossary

Phrase in the notification

Meaning

acted in / would have

did in the ad account / would have done (test mode)

paused / turned on / paused until the end of the day

paused / enabled / paused until the end of the day

daily budget A → B / lifetime budget

the daily budget was A and became B / budget for the entire period

flagged

flagged the object (the “Notify” action)

above / below / ≥ / ≤ / =

greater than / less than / at least / at most / equal to

today / yesterday / last 3d / last 6h / lifetime / since budget change

window: today / yesterday / last 3 days / last 6 hours / all time / since the budget change

click cohort

attribution by click date (cohort)

n/a

the value is unknown

Not applied / Not confirmed

not applied / not confirmed by Facebook (may have been applied)

…and N more

and N more objects; the full list is in the log

(test mode)

the rule is in test mode (Dry-run)

Errors in a notification: what to do

Start of the phrase

What happened

What to do

Live changes are blocked: the traffic source … does not pass the … id to the tracker

The campaign, ad set or ad ID macro is not mapped in the tracker sources. Without it, all objects would have zero deposits, so Live is blocked for the ad account.

Map the macro in the source settings.

No profile of this ad account allows autorule changes

None of the ad account's profiles has the change permission turned on.

Social Profiles → profile → “Allow autorules to change statuses and budgets of this profile's campaigns”.

No active profile with access to this ad account is visible to the rule owner

The rule owner cannot see any working profile with this ad account.

Reconnect the ad account profile or check the rule owner's access.

This ad account is connected only through the Chrome extension

The ad account is available only through the Chrome extension, which cannot apply changes. The rule only notifies.

Connect the ad account with a token or a browser agent.

… has no proxy

The browser agent profile has no proxy, and without a proxy the agent does not send changes.

Assign a proxy to the profile.

The access token of … is no longer valid / The browser session of … has expired

The profile token or session is no longer valid.

Reconnect the profile; for an agent, open the anti-detect profile so the agent picks up a fresh session.

… lacks the ads_management permission

The token lacks the ad management permission or access to the objects.

Reconnect the profile with the ads_management permission.

Facebook rate limit reached

Facebook request limit.

Nothing; the rule will retry on the next run.

Facebook temporarily blocked actions of … (code 368)

Facebook temporarily blocked the profile's actions. Changes in the ad account are stopped for about an hour.

Check the profile in Ads Manager.

Facebook has not confirmed the change … yet

The change was sent, there is no confirmation yet. The rule will check the actual state and will not retry blindly.

Check the objects in Ads Manager and do not edit them manually until you are sure.

Facebook did not confirm the change … it may have been applied

The result could not be verified; the change may have been applied.

Check the objects in Ads Manager.

Facebook says these objects don't exist or … can't access them

The object was deleted or the profile lost access to it.

The next sync will show what happened to the object.

The change was not sent: … was not available for it

The profile was busy (for example, an agent sync was running); the change was not sent.

Nothing; the rule will retry.

Temporary failure on the way to Facebook

A network failure; the change did not go through.

Nothing; the rule will retry.

The change was not sent: it failed a pre-check / Facebook rejected the change

The change failed validation or Facebook rejected the parameters.

Check the rule action and the object in Ads Manager.

Facebook gave an unexpected response

An unexpected Facebook response; the result is unclear.

Check the objects in Ads Manager.

the rule no longer passes validation

The rule configuration no longer passes validation.

Open the rule, fix it and save.

the rule owner no longer has access to this ad account

The rule owner lost access to the ad account.

Restore access or remove the ad account from the rule.

the time zone of this ad account is unknown

The ad account time zone is unknown, so the schedule and windows cannot be calculated.

It will be pulled in with the next ad account sync.

an internal error occurred

An internal run failure.

Nothing; the rule will run on schedule. If it keeps happening, contact support.

Test notifications (Dry-run)

  • In test mode the rule changes nothing but sends a Meta autorule test run: N … matched report: “In ad account … it would have paused 2 ad sets”, objects show “would be paused”, and at the end — Nothing was changed — switch the rule to Live to let it act.

  • Errors and stale data for a rule in Dry-run are marked (test mode) after the rule name.

  • A test report arrives no more than once every 6 hours per rule, ad account and recipient. In Dry-run the rule does not remember its triggers, and without this limit the same “would have done” would arrive every 15 minutes. See the full picture in the log.

Frequency and anti-spam

What

How often

Changes in Live and “Notify” notifications

One message per run in which something was done. Repeats on the same object are limited by the rule's “Pause after an action” and “Actions per object a day”.

Errors, stale data, test reports

No more than once every 6 hours per rule, ad account, type and recipient. If an error with a different reason occurs within these 6 hours, it is not sent either — check the log.

Profile problem (permissions, token)

No more than once every 6 hours per profile and problem.

Problems enabling at 00:00

No more than one message of each type per scheduled enable.

Ad account unavailable or time zone unknown

A skipped run once an hour, a message no more than once every 6 hours.

If a rule has three ad accounts and all three triggered, you receive three messages — one per ad account.

When there are no notifications

  • The run found nothing: the rule does not send “checked, all good”, otherwise messages would arrive every 15 minutes and nobody would read them.

  • The action was stopped by guards: pause between actions, daily limit, a recent manual edit, a conflict with another rule, “No action needed”, “object changed”, “budget would not change”. This is normal operation and is visible only in the log.

  • The required type is not selected in “Notify about” (for example, “Stale data” is off by default).

  • The run was skipped because the rule owner is blocked, autorules are not included in the team's plan, or the rule was changed during the run. Such skips are visible only in the log.

  • The rule is off or it is not its time on the schedule: there is no run at all.

  • Telegram or e-mail is not activated or is turned off in the settings. The bell still receives the notification.

FAQ

Can I receive notifications in Telegram but not by e-mail?

Yes, that is the default: for the “Autorule triggered” event Telegram is on and e-mail is off.

Why is the text in the bell a single line?

The bell and the e-mail merge the message lines into one paragraph. Objects in it are separated by “•”. In Telegram the lines are preserved.

Can notifications be sent to a group chat?

Messages are delivered personally to the recipient through the adset.pro bot. To let a team lead know about triggers, make them the rule owner or turn on “Also notify the ad account owner”.

Why did I get a notification when the rule is in Dry-run?

This is a test report: the title starts with test run, and the text contains would have and Nothing was changed. Nothing was changed in the ad account.

An object has been off since the night, but there is no notification. Why?

Check the “Scheduled enables” tab in the log. If the enable was canceled because of a manual edit after the pause, you receive ad set not turned back on. If the enable is still being retried for a network reason or because of Facebook limits, there will be no message: the retry usually succeeds by itself. A message arrives when the 24 hours of attempts are over (left paused).

What to read next