Available metrics for rule conditions

GET /api/v1/rules/available-kpis. 34 metrics accepted in rule conditions (19 universal + 15 Meta-only). Postback metrics fetched separately. Per-platform availability varies.

Written By Salvatore Sinigaglia

Last updated About 5 hours ago

GET /api/v1/rules/available-kpis. 34 metrics accepted in rule conditions (19 universal + 15 Meta-only). Postback metrics fetched separately. Per-platform availability varies.

Available metrics for rule conditions

Rules accept 34 metrics in a condition — 19 universal (all platforms) + 15 Meta-only (validated in rule-validation.ts) — plus (cross-platform behind flag) 13 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

Standard metrics fetched from each platform's insights API.

Reach + impressions

MetricUnitNotes
impressionscountTotal ad views
reachunique usersDe-duplicated user count
frequencyimpressions ÷ reachAvg views per user

Engagement

MetricUnitNotes
clickscountAll clicks
ctr%clicks ÷ impressions
video_viewscountPer-platform video view definitions
profile_visitscountWhere supported
likescountWhere supported

Cost

MetricUnitNotes
spendcurrencyTotal ad spend
cpccurrencyspend ÷ clicks
cpmcurrencyspend ÷ (impressions / 1000)

Note: bid_amount, daily_budget, and lifetime_budget are not valid condition metrics — they are values you set, not performance metrics the evaluator can measure. Use budget_spent_pct (below) for pacing conditions.

Conversions (postback / pixel)

MetricUnitNotes
purchasescountPostback-fed; lag 24-72h
purchase_valuecurrencyPostback-fed
leadscountLead-form / postback
complete_registrationcountPostback
add_to_cartcountPixel / postback
conversionscountAll conversion events

Derived metrics

Computed from platform metrics — no extra API call. (The evaluator also accepts true_roas, break_even_roas, and projected_spend_pct as universal condition metrics.)

MetricFormulaNotes
roaspurchase_value ÷ spendReturn on ad spend
cpaspend ÷ purchasesCost per acquisition
cplspend ÷ leadsCost per lead
cprspend ÷ complete_registrationCost per registration
profitpurchase_value × margin − spendMargin from workspace settings
profit_marginprofit ÷ purchase_valueAs %
budget_spent_pctspend ÷ daily_budgetPacing
cost_per_atcspend ÷ add_to_cartAdd-to-cart cost
conv_rateconversions ÷ clicksConversion rate
aovpurchase_value ÷ purchasesAvg order value
engagement_rate(likes + comments + shares) ÷ reachPer-platform variable

Cross-platform metrics (13)

Behind the ENABLE_CROSS_PLATFORM_RULES feature flag. For rules that span Meta + Google + TikTok + LinkedIn + Taboola in a single condition.

MetricNotes
spend, spend_pctCross-platform spend, total or share
impressions, clicksAggregated
ctr, cpc, cpmRe-derived from cross-platform totals
purchases, purchase_value, conversionsCross-platform conversions
roas, cpa, cplCross-platform performance

See rul-117 extensions.

Per-platform availability

Not every metric is available on every platform — the dropdown filters automatically.

PlatformNotes
MetaAll metrics including derived + postback (richest)
Google AdsStandard ads metrics + conversions; some Meta-specific (frequency, reach formulas) differ
TikTokStandard metrics; video metrics rich
Taboola / SnapchatSubset of standard
LinkedInSubset; 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+ ATT
  • Postback (Wevion purchases via 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 scope
  • entity_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_7d minimum for postback metrics.
  • Using frequency on platforms that don't compute it identically: cross-platform comparison breaks.
  • Trying to use daily_budget / bid_amount as a condition metric: these are not valid condition metrics (a rule targeting them can never match). Use budget_spent_pct for pacing conditions instead.

FAQ

How many metrics can I use in a Wevion rule condition?

Rules accept 34 metrics in a condition — 19 universal (all platforms) plus 15 Meta-only, per rule-validation.ts — and, behind the ENABLE_CROSS_PLATFORM_RULES flag, 13 cross-platform metrics. The available list is platform-aware via GET /api/v1/rules/available-kpis, so the builder dropdown filters to your scope. Note that daily_budget, lifetime_budget, and bid_amount are not valid condition metrics.

Why do conversion metrics like purchases and ROAS lag?

Because they're postback-fed. In Wevion, conversion metrics such as purchases and purchase_value come through your commerce or tracker integration and lag 24-72 hours due to Meta API delays. If a rule uses postback metrics, use longer time ranges like last_7d rather than today, so data settles and the rule doesn't act on incomplete data.

Are all metrics available on every platform?

No. Not every metric exists on every platform, so Wevion's metric dropdown filters automatically based on your scope. Meta offers the richest set including derived and postback metrics; Google Ads covers standard ads metrics plus conversions; TikTok has rich video metrics; Taboola and Snapchat expose a subset; LinkedIn a subset with no relaunch action.

What's the difference between Meta-native and postback conversions?

Meta-native metrics (like Meta purchases) are fast and immediate but blocked by iOS 14.5+ ATT, so they undercount. Postback metrics (Wevion purchases via your commerce or tracker integration) carry full data but lag 24-72 hours. For rules, prefer postback metrics with last_7d+ time ranges to avoid whiplash decisions on incomplete Meta-native data.

What are derived metrics in Wevion rules?

Derived metrics are computed from platform metrics with no extra API call — for example ROAS (purchase_value ÷ spend), CPA (spend ÷ purchases), CPL, CPR, profit, profit_margin, budget_spent_pct, cost_per_atc, conv_rate, AOV, engagement_rate, true_roas, break_even_roas, and projected_spend_pct. Profit uses the margin from your workspace settings. Use them in conditions just like platform metrics.