Paid Media Efficiency (ROAS)
Paid Media Efficiency (ROAS): Return on ad spend: closed won revenue from the paid ads channel in the period, divided by paid ad spend.
Also known as: ROAS
Formula
ROAS = Revenue attributed to ads / Ad spend Computable definition
The canonical formula in the GASP formula grammar. The MCP server compiles it to SQL over the datasets listed below.
sum(field.opportunity_amount where field.channel = 'paid_ads' and field.opportunity_stage = 'closed_won' and in_period(field.close_date)) / sum(field.ad_spend where field.channel = 'paid_ads') Unit: ratio
Notes: Expressed as a ratio such as 3x.
Data requirements
Grain: Daily aggregate · Frequency: Daily · Aggregation: aggregate (day) · Staged: no · Main source: CRM.
| Field | Dataset | Type |
|---|---|---|
ad_spend | campaign | decimal |
channel | campaign | string |
channel | opportunity | string |
close_date | opportunity | date |
opportunity_amount | opportunity | decimal |
opportunity_stage | opportunity | string |
period_start | campaign | date |
snapshot_date | opportunity | date |
Example SQL (Postgres)
SELECT (CAST((SELECT COALESCE(SUM(opportunity_amount), 0) FROM opportunity WHERE snapshot_date = :period_end AND ((channel = 'paid_ads' AND opportunity_stage = 'closed_won') AND (close_date >= :period_start AND close_date <= :period_end))) AS DOUBLE PRECISION) / NULLIF((SELECT COALESCE(SUM(ad_spend), 0) FROM campaign WHERE period_start >= :period_start AND period_start <= :period_end AND channel = 'paid_ads'), 0)) AS paid_media_efficiency_roas From an agent: with the GASP MCP server, call
lookup_metric({ "name": "Paid Media Efficiency (ROAS)" }) or generate_query({ "metric": "Paid Media Efficiency (ROAS)", "adapter": "<your adapter JSON>" }).