Available metrics for rule conditions
Last updated: May 19, 2026
Available metrics for rule conditions
Rules support 20 platform metrics + 11 derived metrics + (cross-platform behind flag) 7 cross-platform metrics. The list is platform-aware via GET /api/v1/rules/available-kpis (verified). Some metrics (postback-based) are fetched separately and lag 24-72h due to Meta API delays.
Who is this for
Anyone building rules and asking "what can I write in the condition?". Reference page for the rule builder.
How to view in the app
In the builder (Step 5 conditions), the metric dropdown is filtered to whichever platforms your scope targets. Hover for description + unit + example.
Platform metrics (20)
Standard metrics fetched from each platform's insights API.
Reach + impressions
Metric | Unit | Notes |
|---|---|---|
| count | Total ad views |
| unique users | De-duplicated user count |
| impressions ÷ reach | Avg views per user |
Engagement
Metric | Unit | Notes |
|---|---|---|
| count | All clicks |
| % | clicks ÷ impressions |
| count | Per-platform video view definitions |
| count | Where supported |
| count | Where supported |
Cost
Metric | Unit | Notes |
|---|---|---|
| currency | Total ad spend |
| currency | spend ÷ clicks |
| currency | spend ÷ (impressions / 1000) |
| currency | Current bid |
| currency | Set daily budget |
| currency | Set lifetime budget |
Conversions (postback / pixel)
Metric | Unit | Notes |
|---|---|---|
| count | Postback-fed; lag 24-72h |
| currency | Postback-fed |
| count | Lead-form / postback |
| count | Postback |
| count | Pixel / postback |
| count | All conversion events |
Derived metrics (11)
Computed from platform metrics — no extra API call.
Metric | Formula | Notes |
|---|---|---|
| purchase_value ÷ spend | Return on ad spend |
| spend ÷ purchases | Cost per acquisition |
| spend ÷ leads | Cost per lead |
| spend ÷ complete_registration | Cost per registration |
| purchase_value × margin − spend | Margin from workspace settings |
| profit ÷ purchase_value | As % |
| spend ÷ daily_budget | Pacing |
| spend ÷ add_to_cart | Add-to-cart cost |
| conversions ÷ clicks | Conversion rate |
| purchase_value ÷ purchases | Avg order value |
| (likes + comments + shares) ÷ reach | Per-platform variable |
Cross-platform metrics (7)
Behind the ENABLE_CROSS_PLATFORM_RULES feature flag. For rules that span Meta + Google + TikTok + LinkedIn + Taboola in a single condition.
Metric | Notes |
|---|---|
| Cross-platform spend, total or share |
| Aggregated |
| Re-derived from cross-platform totals |
| Cross-platform conversions |
| Cross-platform performance |
See rul-117 extensions.
Per-platform availability
Not every metric is available on every platform — the dropdown filters automatically.
Platform | Notes |
|---|---|
Meta | All metrics including derived + postback (richest) |
Google Ads | Standard ads metrics + conversions; some Meta-specific (frequency, reach formulas) differ |
TikTok | Standard metrics; video metrics rich |
Taboola / Snapchat | Subset of standard |
Subset; no relaunch action |
Postback vs Meta-native metrics
Some conversion metrics are tracked two ways:
Meta-native (
Meta purchases) — fast, immediate, but blocked by iOS 14.5+ ATTPostback (
Wevion purchasesvia your commerce / tracker integration) — full data, but lag 24-72h
If a rule uses postback metrics: use longer time ranges (last_7d, not today) to let data settle. Otherwise rule will fire on incomplete data + cause whiplash decisions. See am-121 attribution.
Endpoint
GET /api/v1/rules/available-kpis (verified apps/backend/src/routes/api/rules.route.ts).
Query params:
platforms[]— limits result to platforms in scopeentity_level— campaign / adset / ad (some metrics differ per level)
Returns metric definitions: name, unit, description, available actions (e.g. budget metrics support increase_budget_pct).
Common mistakes
Using postback metric with short time_range: data is incomplete; rule fires wrong. Use
last_7dminimum for postback metrics.Using
frequencyon platforms that don't compute it identically: cross-platform comparison breaks.Targeting
daily_budgetas a condition (instead of action target): works, but rarely useful — daily_budget is what YOU set, not what entity earned.
Related
Conditions + operators — how to use these metrics
Campaign metrics decoded — what each metric means
Postback vs Meta conversions — attribution caveat