Adset.ProAdset.ProKnowledge base
Home/Autorules/Metrics and attributes reference

Metrics and attributes reference

This page lists all metrics and attributes that can be selected in autorule conditions: their names in the interface, what they measure, the units they are entered in, where the data comes from and at which levels they are available. How to build conditions from them is covered in the article “Conditions: metrics, windows, attribution and comparisons”.

In the metric picker they are grouped as follows:

  • “Spend and delivery” — Facebook data;

  • “Tracker conversions” — installs, registrations, deposits, revenue;

  • “Derived metrics” — costs, conversion rates (CR), profit, ROI, ROAS;

  • “Object attributes” — status, budget, budget type, learning phase, age, time since changes, rule trigger counter.

Where the data comes from

  • Facebook — spend, impressions and clicks. They arrive with the profile spend sync, broken down by hour. Spend is converted to USD at the exchange rate.

  • Adset.pro tracker — installs, registrations, deposits, redeposits and revenue. They are linked to a Facebook campaign, ad set or ad via the ID macros in the traffic source and are updated roughly every 15 minutes.

The rule checks data freshness before every run. If the data lags more than allowed (90 minutes by default, the “Allowed data lag” setting), the run is skipped and the reason is shown in the log. Details are in the article “Schedule, guards and priorities”.

Important. Tracker metrics see conversions only from sources where the campaign, ad set and ad ID macros are set up. If none of the ad account's sources passes them, live is blocked in the ad account. If only some of them do, the preview warns that part of the traffic will have zero conversions. How to set this up is described in the article “Setting up traffic sources”.

Facebook metrics

Name in the interface

What it measures

Units

Source

Levels

Default attribution

Spend

Spend according to Facebook, converted to USD

USD

Facebook

campaigns, ad sets, ads

none (always by delivery hour)

Spend incl. fee

Spend × (1 + the profile's agency fee in %). If the profile has no agency, it equals spend. Matches the column of the same name in the Meta section tables

USD

Facebook

all

none

Impressions

Impressions according to Facebook

count

Facebook

all

none

Clicks

Platform clicks — link clicks according to Facebook. These are not tracker clicks

count

Facebook

all

none

Tracker conversions

Name in the interface

What it measures

Units

Source

Levels

Default attribution

Installs

PWA installs and external installs

count

tracker

all

By event time

Registrations

Registrations (hold) from CPA network postbacks

count

tracker

all

By event time

Deposits

First deposits (FTD, accept)

count

tracker

all

By event time

Redeposits

Repeat deposits

count

tracker

all

By event time

Revenue

Revenue from tracker conversions

USD

tracker

all

By event time

Tip. “Deposits” use event-time attribution by default. For stop-losses like “high spend today but no deposits”, it is better to select “By click date (cohort)” in the condition. Today's spend is then compared with deposits from today's clicks, and yesterday's deposits do not mask an ad set that is dead today. This is how the “Stop-loss: no deposits today” template works.

Derived metrics

Name in the interface

Formula

Units

Source

Levels

Default attribution

CPC

Spend ÷ Clicks

USD

Facebook

all

none

CTR

Clicks ÷ Impressions

% (0–100)

Facebook

all

none

CPM

Spend ÷ Impressions × 1000

USD

Facebook

all

none

CPI

Spend ÷ Installs

USD

Facebook + tracker

all

By event time

Cost per registration

Spend ÷ Registrations

USD

Facebook + tracker

all

By event time

CPD

Spend ÷ Deposits

USD

Facebook + tracker

all

By click date (cohort)

CR click → install

Installs ÷ Platform clicks

% (0–100)

Facebook + tracker

all

By event time

CR install → registration

Registrations ÷ Installs

% (0–100)

tracker

all

By event time

CR registration → deposit

Deposits ÷ Registrations

% (0–100)

tracker

all

By event time

CR click → deposit

Deposits ÷ Platform clicks

% (0–100)

Facebook + tracker

all

By event time

Profit

Revenue − Spend (spend without fee, as in the Meta section tables)

USD, can be negative

Facebook + tracker

all

By click date (cohort)

ROI

(Revenue − Spend) ÷ Spend

%: +25 — earned a quarter on top, −100 — the whole spend is lost. Threshold from −100 to 1000

Facebook + tracker

all

By click date (cohort)

ROAS

Revenue ÷ Spend

multiplier: 1 — broke even, 1.5 — revenue is one and a half times the spend. Threshold from 0 to 20

Facebook + tracker

all

By click date (cohort)

  • Click-based conversion rates (CR) are calculated from platform clicks, i.e. from link clicks in Facebook, not from tracker clicks. That is why “CR click → install” in a rule may differ from the CR in tracker statistics. The builder reminds you of this with a hint next to the condition.

  • In formulas with spend, attribution affects only the conversion part. Spend is always taken by delivery hour within the window. With cohort attribution, revenue and deposits are taken from clicks of the same window.

  • Percentages (CTR, CR, ROI) are entered as percentages: 20 means 20 %. ROAS is entered as a multiplier.

Metric properties that affect conditions

Property

Which metrics

What it gives

Can be compared with the parent

CPC, CTR, CPM, CPI, cost per registration, CPD, all CRs, ROI, ROAS

“Another metric × multiplier” with the “Parent” option. The parent value is the metric for the whole parent (total spend ÷ all installs, etc.), not the average of its children. Not available at the campaign level

Suitable as minimum volume

Spend, Clicks, Impressions, Installs

An “at least” threshold below which the object is not evaluated

Revenue-type (understated for “today” by event time)

Deposits, Registrations, Redeposits, Revenue, Profit, ROI, ROAS, CPD

With the “Today” window and event-time attribution, the builder warns: “Today's revenue by event time is understated”

Has attribution

All tracker metrics and all derived metrics that involve the tracker

The condition gets the “Attribution” and “Exclude last hours” fields

Integer thresholds

Impressions, Clicks, Installs, Registrations, Deposits, Redeposits, Rule actions on the object

The threshold is an integer from 0

Bounded thresholds

CTR and CR — 0–100 %, ROI — from −100 % to 1000 %, ROAS — 0–20

A threshold outside the bounds will not be saved: “Threshold is outside the metric range”

When a metric has “no data”

  • Facebook metrics are known only if the object has spend data in the window. No data means “no data”, not 0: the rule cannot tell “did not deliver” from “the sync has not arrived yet”.

  • Tracker metrics are calculated honestly when there is traffic in the window: many clicks and no deposits — “Deposits” = 0. There is no value only if the window has neither spend nor conversions.

  • Derived metrics have “no data” if any part of the formula is unknown or the denominator is zero: CPD without deposits, CTR without impressions, CR click → install without clicks.

  • Profit and ROI without conversions are not empty: a spend of 50 USD with no revenue gives a profit of −50 USD and ROI of −100 %.

A condition with “no data” gets “unknown” and does not fire by itself. Details are in the “Yes”, “no” and “unknown” section of the article “Conditions”.

Why rule figures may differ from the Meta section tables

Case

In the rule

In the Meta section table

CPC, CTR, CPM with zero clicks or impressions

no data

0

Profit and ROI when the object has no conversions at all

−spend and −100 %

“—”

Tracker metrics with “By click date (cohort)” attribution

by click hour

by event time (the table does not calculate by cohort)

Ad accounts with a half-hour offset time zone (for example, Asia/Kolkata)

conversions are counted in whole hours within the window, without the half hours at the edges

with the edge half hours

Otherwise, for the same window by event time, the rule and the table calculate spend and conversions the same way.

Object attributes

Attributes describe the current state of the object. They have no window and no attribution. They can be compared only with a number or a range, and list attributes — only with the “equals” operator and a value from the list.

Name in the interface

What it means

Values and units

Levels

Notes

Status

The status set by a user or a rule

Active, Paused, Deleted, Archived, In review, Disabled, With issues

campaigns, ad sets, ads

“Equals” only. If the status is unknown — no data

Delivery status

The actual delivery status: taking into account a pause of the campaign or ad set above, moderation and payment

the same values

all

An ad set of a stopped campaign: “Status” — Active, “Delivery status” — Paused. An ad under moderation — “In review”

Daily budget

The object's current daily budget

ad account currency, regular units: 50.5 is $50.50 for a USD ad account, 5000 is ¥5000 for a JPY ad account

campaigns, ad sets

If the budget is set at another level (ABO campaign, ad set of a CBO campaign) or the ad account currency is unknown — no data

Lifetime budget

The current lifetime budget

ad account currency

campaigns, ad sets

Same as for the daily budget

Budget type

Where the budget lives. For an ad set — the budget type of its campaign

CBO (campaign budget), ABO (ad set budget)

campaigns, ad sets

“Equals” only

Learning phase

The Facebook learning phase

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

ad sets

“Equals” only. Facebook reports the phase only for active ad sets, not for dynamic creatives and not in all ad accounts. Profiles on the Chrome extension do not pass it. If Facebook has not sent the phase — no data

Hours since created

How much time has passed since the object was created in Facebook

hours (entered in hours or days)

all

If the creation date is unknown (happens with profiles on the Chrome extension) — no data

Hours since start

How much time has passed since the start time set in the campaign or ad set

hours

campaigns, ad sets

Start is still in the future or not set — no data

Hours since first spend

How much time has passed since the first hour in which the object had spend

hours

all

No spend yet — no data; the creation date is not substituted. For objects that spent before the ad account was connected, the count starts from the first spend seen by Adset.pro

Hours since budget change

How much time has passed since the last budget change, whoever made it

hours

campaigns, ad sets

See below: if there were no changes, only the lower bound is known

Hours since status change

How much time has passed since the last status change, whoever made it

hours

all

Same

Rule actions on the object

How many times this rule has already fired on the object

count

all

Only live triggers are counted, including notifications. One check with actions is one trigger. In dry-run the counter does not grow. An object the rule has not touched has 0

Hours since budget and status change

Any change counts: made by a rule, in Facebook or Ads Manager, by a user in Adset.pro or by a rollback. Adset.pro notices changes made in Ads Manager at the next profile sync, so they appear with a delay.

If Adset.pro has not seen any change, the exact time is unknown. The rule then knows only the lower bound: “at least N hours”. It is counted from the latest of three moments: object creation, connection of the ad account to the team, and the start of change tracking in Adset.pro. If the object was created after the connection, the value is exact.

With a lower bound, a comparison is resolved only if the answer is the same for any real value. Otherwise the condition is “unknown” with the reason “Only a lower bound is known”, and the preview shows the value as “≥ N”.

Example. The ad account was connected 30 hours ago, the ad set was created a month ago, and the budget has not been changed since the connection. The “Hours since budget change” value is at least 30:

  • “greater than 24” — “yes”: even the minimum 30 hours is more than 24;

  • “greater than 48” — “unknown”: the real value may be 40 or 400;

  • “less than 12” — “no”: the value is definitely not less than 30.

The “Since budget change” window in conditions works from the same moment. If there were no changes, the window start is unknown, and the condition is “unknown”.

Age: what to count from

Object age is used in two places: in the scope filters (“Only new objects”, “Only objects older than”) and in the “Hours since …” attributes. They are calculated differently:

Counted from

In the “Only new” / “older than” filter

In the condition attribute

Since first spend (default)

From the first hour with spend. While there is no spend — from creation in Facebook. For objects that existed before the ad account was connected — from creation, and if the creation date is unknown, the age is unknown and the object does not pass the filter

“Hours since first spend”: strictly from the first spend seen by Adset.pro. No spend — no data; there is no adjustment for the connection

Since created

From the creation date in Facebook

“Hours since created” — the same

Since start

From the campaign or ad set start time. If the start is in the future, the object is considered younger than any threshold. Not available for ads

“Hours since start”: start in the future — no data

In the object examples on the “Which objects” step, the “Age counted from” column shows what the age was counted from: “First spend”, “Created in Facebook”, “Start time”, “Ad set start time”. If a substitution was applied, it shows “No spend yet”, “First spend may predate the connection: creation time used” or “First spend may predate the connection: age is unknown”. Details are in the article “Scope”.

Tip. To limit a rule to fresh launches, use the “Only new objects” filter rather than the condition “Hours since first spend less than …”. The filter accounts for objects without spend and the ad account connection adjustment, and cuts off extra objects before metrics are even calculated.

Attribute usage examples

  • “Hours since budget change · greater than 24” in a scaling rule: do not raise the budget until Facebook has processed the previous change.

  • “Rule actions on the object · less than 3”: the rule raises the budget no more than three times in total.

  • “Learning phase · equals · Learning complete”: scale only ad sets that have exited learning.

  • “Daily budget · less than 300”: beyond that, the budget is raised manually (in the ad account currency).

  • “Delivery status · equals · With issues” with the “notify” action: find out about delivery problems.

  • “Hours since status change · greater than 72” together with metrics over 3 days: evaluate only objects that ran all three days without restarts.

What's next