Metrics

Purchase ROAS

Updated 20 August 2026

Purchase ROAS is the return-on-ad-spend figure Meta reports for purchase conversions: the purchase conversion value Meta attributes to a set of ads, divided by the amount spent on those ads.

Key facts about Purchase ROAS

Also known as
Purchase return on ad spend, Website Purchases ROAS
Formula
Purchase ROAS = attributed purchase conversion value ÷ ad spend
Category
Metrics
Last updated
20 August 2026

In AdOps

How does Purchase ROAS work inside AdOps?

Purchase ROAS (`purchase_roas.omni_purchase`) is both a rule metric and a dashboard card in AdOps. The dashboard prefers Meta's native purchase_roas field over a recomputed number and requests it with use_unified_attribution_setting set to true.

The AdOps Performance Dashboard showing a Purchase ROAS card at 2.380x and an Aggregated ROAS card at 2.088x, both badged Profitable, a Monthly Budget card at Rp 155jt, and a Spend Breakdown ranking the top five ad accounts against a budget utilisation bar at 45.5 per cent. Sample data
Two ROAS figures to three decimals, a budget meter, and spend ranked by ad account — over Today, Last 7 days, Last 30 days or This month. Read the details

Purchase ROAS is Meta’s own return figure for purchase conversions: attributed purchase value divided by ad spend. AdOps uses it in two places, as a rule metric named Purchase ROAS in the condition builder, and as the Purchase ROAS card on the dashboard, which reads Meta’s native field rather than recomputing the ratio itself.

How does Purchase ROAS differ from a ROAS you calculate yourself?

A hand-calculated ROAS divides whatever revenue figure you have by spend. Purchase ROAS is the number Meta reports under the attribution setting configured on the ad set, so it matches what Ads Manager shows. AdOps requests it with use_unified_attribution_setting set to true on the batched Insights read that rule conditions are evaluated against.

What does Purchase ROAS look like in Rupiah?

A campaign that spent Rp 12,000,000 over the last 7 days and that Meta credits with Rp 42,000,000 of purchase value reports a Purchase ROAS of 3.5x. The AdOps dashboard prints that to 3 decimal places with an x suffix and badges it Profitable, since the badge is Profitable at 1.0 and above.

Which rule templates use Purchase ROAS?

Two of the ten templates AdOps ships are built on it. Tiered Budget Scaling raises budget at Purchase ROAS above 3, again above 5 and again above 8, each tier limited to once every 2 hours. Pause Unprofitable Campaigns pauses a campaign at spend of 200,000 or more in the account currency with Purchase ROAS below 2.

Glossary

The terms an advertiser usually reads in the same sitting.

Turn this metric into a rule that watches it.

Pick the metric, pick one of the 11 reporting periods, set the threshold, and choose what happens when it is crossed. Nothing runs on your campaigns until you set the rule live.

Contact us See pricing

14-day trial · no card

Inside the product

What the screens actually look like

Nine screens from the working dashboard — the rule builder, the metric picker, the dayparting grid and the log that records what happened. Scroll the strip.

  • The AdOps Performance Dashboard showing a Purchase ROAS card at 2.380x and an Aggregated ROAS card at 2.088x, both badged Profitable, a Monthly Budget card at Rp 155jt, and a Spend Breakdown ranking the top five ad accounts against a budget utilisation bar at 45.5 per cent.
    Performance Dashboard. Two ROAS figures to three decimals, a budget meter, and spend ranked by ad account — over Today, Last 7 days, Last 30 days or This month.
  • The AdOps rule list showing twelve automation rules, each with an on/off toggle, the ad accounts it manages, and when it last triggered — some minutes ago, others on a dated timestamp.
    Rule List. Every rule, what it manages and when it last fired. The toggle is the only thing between draft and live.
  • The AdOps condition builder showing a task with time-of-day conditions across seven day tags, a nested AND group holding a lifetime spend condition under 400,000, and a second task with four stacked metric conditions.
    Conditions. Metric, period, operator, value — joined with AND or OR, and nestable, so a rule can say something a dropdown cannot.
  • The AdOps metric picker open over a condition row: a panel with Meta Ads and Custom metrics tabs, a search box, and a scrolling list of metrics with Spend selected.
    Metric picker. Forty-five Meta metrics and your own sheet columns in the same list, each carrying a reporting period and any of six operators.
  • The AdOps dayparting timetable: a grid of hours against the seven days of the week, with the daytime hours filled navy for every day and the night hours and weekend evenings left empty.
    Dayparting grid. Or draw the hours instead. Anything outside the shape you fill in simply does not run.
  • An AdOps execution log detail: one campaign, two action panels badged Not Executed, each listing the action parameters and every condition evaluated with its actual value, its expected value and a Pass or Fail badge.
    Rule Log detail. Why a rule did nothing is recorded as carefully as why it did something — actual against expected, condition by condition.
  • The AdOps activity log listing budget increases and campaign renames, each row naming the affected campaign by id, the rule that caused it and how long ago it happened.
    Activity Log. One row per change AdOps made in your account, naming the campaign and the rule responsible.
  • The AdOps ad account list: eighteen Meta ad accounts with on/off toggles, account ids, Active or Inactive badges and this month’s spend in rupiah.
    Ad Accounts. Accounts discovered from Meta arrive switched off. Nothing is read, and nothing is changed, until you turn one on.
  • The AdOps custom metric editor mapping a Google Spreadsheet: a spreadsheet id, a sheet name, a column to match campaigns on and a column holding the values.
    Custom metric. Point AdOps at a sheet, name the matching column and the value column, and your own number joins the metric list.

Every figure is rebuilt from the product’s own interface and filled with invented data — no customer name, ad account or spend figure appears anywhere on this site. See how a run works