At a glance
Return on ad spend for the Outbrain channel.conversions_value ÷ spend. A 2× ROAS means £1 of Outbrain spend produced £2 of last-click-attributed revenue. For a native-discovery channel reaching cold-prospecting audiences, healthy is 1× to 3×, NOT the 4×+ benchmark you see for Google branded search. The defaultgood ≥ 4threshold inherited from the ad-platform archetype is too strict for Outbrain’s funnel position; treat 2× to 3× as the true healthy band for this channel.
| The formula | metrics.conversions_value ÷ metrics.spend. Both fields come from GET /amplify/v0.1/marketers/{marketerId}/performance. The result is a unitless ratio; values below 1× mean spend exceeded attributed revenue. |
| Spend | Gross media cost, post-auction realised, before agency markup or rebates. |
| Revenue | Last-click-attributed conversions_value only; view-through conversions excluded. See Total Revenue for the conservative-claim rationale. |
| Conversion attribution model | Last-click within a 30-day window (Outbrain default). Configurable per conversion event. |
| Attribution window | 30-day click + 1-day view. Wider than search-platform defaults because native discovery has a multi-day view-to-purchase tail. |
| Bot / invalid traffic | Outbrain pre-filters IVT before reporting. Pixel-level fraud is not detectable from the API; expect 3 to 7 percent drag on apparent ROAS from undetected non-human conversions or duplicate pixel fires. |
| Why 2× warn / 1× critical | At a typical 50 to 65 percent gross margin, a 1× last-click ROAS is meaningfully unprofitable once you account for COGS + fulfilment + payment processing + returns. A 2× ROAS is roughly contribution-margin breakeven for most DTC merchants. The card’s archetype-default good ≥ 4 threshold is inherited from the ad-platform archetype and is too strict for Outbrain; recommended override is good ≥ 2.5, warn ≥ 1.5, critical < 1. |
| Branded vs cold | Outbrain has no “branded” inventory analogous to branded search; everything is cold-prospecting. ROAS is structurally lower than Google Ads aggregate ROAS, but the comparison is misleading because Google’s headline ROAS includes branded-search inflation. Compare Outbrain ROAS against Google’s non-branded ROAS for like-for-like. |
| Refresh cadence | Hourly. Conversions take 24 to 72 hours to settle, so today’s ROAS reading is unstable and biased low. |
| Time window | 30D vsP (rolling 30 days, vs prior 30). |
| Alert trigger | < 2 (warn), < 1 (critical). Override the archetype defaults to match Outbrain’s funnel position. |
| Sentiment key | {'type': 'gauge', 'thresholds': {'good': 4, 'warn': 2}} from the archetype default; recommend overriding in the merchant’s manifest for Outbrain to {'good': 2.5, 'warn': 1.5}. |
| Roles | owner, marketing, finance |
Calculation
Calculated automatically from your Outbrain data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
The same UK lifestyle brand from the Total Spend / Total Revenue examples. Reading taken at 09:00 GMT on 28 Mar 26 for the trailing 30 days.| Campaign | Spend | Revenue (last-click) | ROAS | What it tells us |
|---|---|---|---|---|
| Engage, “Sustainable Home” article | £4,820 | £11,560 | 2.40× | Healthy cold-prospecting |
| Engage, “Gifting Guide” article | £3,610 | £6,820 | 1.89× | Borderline; trim or refresh creative |
| Conversions, “Best-of Range” page | £4,180 | £14,210 | 3.40× | The leverage point; scale this |
| Awareness, brand-discovery video | £1,640 | £680 | 0.41× | Last-click-bad; needs lift study justification |
| Total (this card) | £14,250 | £33,270 | 2.34× | Healthy band for cold-prospecting native |
<2.0 warn (using recommended override) is comfortably clear.
What this tells the merchant:
- The headline 2.34× is honest for native-discovery cold-prospecting. A merchant comparing this against their Google Ads 5.4× headline would conclude Outbrain “underperforms”; that comparison is wrong because it ignores funnel-stage. Healthy Outbrain ROAS is 2× to 3×; healthy Google branded-search ROAS is 4×+. The two are not benchmarks for each other.
- Per-campaign variance is huge. Conversions campaign at 3.40× is the leverage point; Awareness at 0.41× is the last-click-bad outlier. The headline averages them out and hides both stories. Always open ROAS by Campaign before making decisions.
- The 30-day prior window had ROAS 2.51×. ROAS down 7 percent at constant ROAS-band; spend up 3 percent. The “scaling beyond efficient frontier” shape, hold budget flat 14 days and re-measure. If the trend continues for two consecutive periods, cut budget back.
- The “true ROAS for the business” is materially lower. Outbrain claims 2.34× last-click; lift studies on similar brands typically show incremental ROAS at 30 to 60 percent of claimed, so the channel’s true incremental ROAS sits at 0.7× to 1.4×. At this brand’s 60 percent gross margin, that’s contribution-margin marginal, profitable in the upside scenario, unprofitable in the downside. Run a 14-day off-test once a year to size the gap rigorously.
- The today reading is unstable. Outbrain conversion lag means today’s ROAS is computed from incomplete revenue against complete spend, which biases low. Use the rolling 7-day for daily decisions; today’s number is for trend-monitoring only.
- ROAS up + spend up = healthy scaling.
- ROAS up + spend down = pulled back wisely from low-quality inventory.
- ROAS down + spend up = scaling beyond efficient frontier; the most common warning shape on Outbrain.
- ROAS down + spend flat = creative fatigue OR pixel breakage; investigate before cutting.
- ROAS suddenly halved overnight = pixel breakage 95 percent of the time; check the order-confirmation page tag immediately.
Sibling cards merchants should reference together
| Card | Why pair it with ROAS | What the combination tells you |
|---|---|---|
| Total Spend | The denominator. | Spend up + ROAS up is healthy scaling; spend up + ROAS down is the most common warning shape. |
| Total Revenue | The numerator. | Tells you whether ROAS moved on cost-side or revenue-side. |
| ROAS by Campaign | Per-campaign variance. | Open this card before making decisions; headline ROAS hides per-campaign reality. |
| ROAS Trend | Daily series. | ROAS is volatile day-to-day; the 7-day rolling is the actionable read. |
| ROAS by Device | Mobile vs desktop split. | Mobile ROAS often runs 30 to 50 percent below desktop; the right action is device-targeted bidding, not blanket cuts. |
| Wasted Spend | Spend on zero-conversion content. | High wasted spend is a direct ROAS drag; trim aggressively. |
| Conversion Lag | View-to-purchase latency. | Use to interpret today’s ROAS, partial-window data is biased low. |
| CPA Trend | Cost per acquisition. | ROAS-blind CPA can mislead because cheap conversions can also be tiny conversions. |
| Cross-connector: Google Ads ROAS | Adjacent paid channel. | Compare non-branded Google ROAS, not blended; otherwise the comparison is funnel-stage-mismatched. |
| Cross-connector: Shopify Total Revenue | The truth-side check on revenue. | Real ROAS for the business uses commerce-platform revenue attributed to Outbrain via UTM, not Outbrain’s claimed revenue. |
Reconciling against the vendor’s own dashboard
Where to look in Outbrain’s own dashboard:Outbrain Amplify → Reports → Performance → Conversion Value / Spend.The headline ROAS column is the like-for-like figure. Set the date range and currency to match this card; values should agree to within 1 to 2 percent. Why our number may legitimately differ from Outbrain’s report:
| Reason | Direction | Why |
|---|---|---|
| Time zone | Boundary days off | Outbrain UI uses marketer-account TZ; card uses UTC. |
| Conversion ingestion lag | Ours lower for “today” / “yesterday” | Conversions take 24 to 72 hours to settle; today’s ROAS biases low because spend is complete but revenue isn’t. |
| Attribution-model change | Either, retrospective | Window changes retro-state historical ROAS in Outbrain’s UI; the card uses what the API returns at poll time. |
| Currency conversion | Either, multi-currency | Multi-account merchants get FX on Vortex IQ side; per-account UI shows native currency. |
| IVT post-filter adjustments | Either, marginal | Outbrain re-classifies historical clicks as IVT after fraud detection; spend adjusts down by 1 to 3 percent up to 14 days post-event, ROAS adjusts upward. |
conversions_value Outbrain reports is whatever the conversion pixel sent. That value depends on your tag setup, see the Total Revenue reconcile section for full detail. For the true business ROAS (the one your CFO cares about), divide shopify.total_revenue attributed to Outbrain via UTM tagging by Outbrain spend. The two figures should be within 30 to 50 percent; bigger gaps usually mean (a) UTM tagging is incomplete on Outbrain links (untagged traffic appears as Direct/Referral elsewhere), (b) the conversion pixel sends a different value-key than the merchant assumes, or (c) attribution windows differ.
Cross-connector reconciliation:
| Card | Expected relationship | Causes of legitimate divergence |
|---|---|---|
google_ads.gads_roas | No mathematical identity; parallel paid channel. Compare non-branded Google ROAS for like-for-like. | Different funnel stages, different attribution windows. |
facebook.fb_roas | Same as Google; both are prospecting peers to Outbrain at similar cold-audience funnel position. | Meta has stronger user-graph stitching, expect higher claimed ROAS than Outbrain at similar-quality inventory. |
google_analytics.ga_revenue_by_channel | GA4-attributed Outbrain revenue ÷ Outbrain spend gives an independent ROAS check. | UTM-tagging discipline determines visibility; expect 20 to 40 percent gap from claimed. |
shopify.total_revenue and platform peers | The truth-side check. | Outbrain’s claimed ROAS over-claims incremental contribution; lift studies size the gap. |
Known limitations / merchant FAQs
My Outbrain ROAS is 2.3× and Google Ads is 5.4×. Should I shift budget to Google? Not without context. Google’s 5.4× includes branded-search inflation, when someone types your brand into search and converts, Google claims credit at very high ROAS for traffic that was already going to convert. The non-branded Google ROAS is typically 2.5× to 3.5×, much closer to Outbrain’s 2.3×. The honest comparison is non-branded Google vs Outbrain, both are prospecting channels reaching cold-ish audiences. Outbrain’s ROAS being slightly lower at similar funnel position is normal; the channels reach different audiences and the right answer is portfolio diversification, not concentration. My ROAS dropped 30 percent overnight. What should I check first? In order of likelihood: (1) Pixel breakage. A code deploy removed the Outbrain conversion tag. Check the order-confirmation page source for_obctx. (2) Conversion lag. Today’s reading is biased low because revenue hasn’t settled. Wait 24 to 48 hours. (3) Attribution window changed. Someone narrowed the conversion window in Outbrain settings; this retro-states ROAS. (4) Bid algorithm scaled into less-efficient inventory. Check CPC Trend for spike. (5) Genuine creative fatigue. Less common as overnight cause; usually shows as gradual decline over 7 to 14 days.
Should I optimise for ROAS or for absolute revenue?
Phase-dependent. If you’re profitability-constrained, optimise for ROAS, you need every channel to clear contribution-margin breakeven. If you’re growth-focused with profitable unit economics elsewhere, optimise for prospecting reach; ROAS will compress as you scale into less-efficient inventory but the brand-discovery seed pays back via direct/branded conversions later. The cleanest answer is “highest ROAS subject to spending the prospecting budget”; cut campaigns below 1.5× last-click ROAS unless lift-study justifies them.
Why is the archetype default good ≥ 4 if Outbrain is structurally lower?
The thresholds are inherited from the generic ad-platform archetype, which is calibrated against search advertising (where 4×+ is healthy). For Outbrain specifically, override in the merchant’s manifest to {'good': 2.5, 'warn': 1.5, 'critical': 1}. Without the override the card displays “WARN” at perfectly healthy 2.3× ROAS, which generates alert fatigue.
What’s the difference between this card and gads_roas?
gads_roas is Google Ads, intent-side, branded inflation included in the headline. This card is Outbrain, prospecting-side, no branded equivalent. Identical formulas, materially different healthy bands.
My PMax-equivalent in Outbrain (“Smart Bidding for Conversions”) shows 4× ROAS. Is it really that good?
Maybe. Outbrain’s automated-bidding products (Smart Bidding, Conversion Optimisation) hand the bid algorithm conversion-attribution control; they typically claim 1.3× to 2× higher ROAS than manual bidding because they bid harder on inventory that already-converters frequent. Some of that lift is real (better inventory selection); some is attribution-claiming artefact. The honest comparison is incremental-ROAS via lift study, not claimed last-click. Treat 4× claimed as suspicious-good and demand a lift-study before scaling.
The “today” ROAS bounces around between 0.4× and 4× hour-to-hour. Why?
Volume + lag. Today’s spend is complete intra-day; today’s revenue is 50 to 70 percent of eventual settled. The ratio is unstable until conversions settle 24 to 72 hours later. Use the 7-day rolling for daily decisions, today’s number is monitoring-only.
Multi-currency setup, how does ROAS work?
Outbrain accounts are single-currency. Multi-currency advertisers run separate marketer accounts per currency. Each account reports ROAS in its own currency. Vortex IQ aggregates across accounts using daily ECB FX; the displayed ROAS is the FX-converted blend. Per-account ROAS is also visible by drilling in.
My Awareness campaign reads 0.4× ROAS. Is it failing?
Last-click ROAS measures conversions where Outbrain was the final paid touch. Awareness campaigns are designed to seed brand-discovery for future direct/branded conversions; last-click ROAS captures none of that lift. Either run an Outbrain-native lift study to quantify halo effect (rigorous), accept Awareness as a brand-investment line-item separate from performance reporting (pragmatic), or cut Awareness entirely (most common DTC choice). 0.4× is the structural shape, not a failure verdict.
How does Outbrain ROAS relate to my P&L?
Loosely. ROAS is gross revenue ÷ media cost. Your P&L profitability factors in COGS (30-50 percent of revenue), fulfilment (5-15 percent), payment processing (~3 percent), returns (5-15 percent), and overhead. A 2.3× ROAS at 60 percent gross margin and 10 percent returns gives roughly 0.45× contribution multiple, marginally positive on direct contribution before overhead. The rule of thumb: divide Outbrain’s claimed ROAS by 4 to 6 to get a rough “true contribution multiple after lift-discount and full-cost loading”. Most Outbrain campaigns at 2× to 3× claimed are barely profitable; 1.5× and below is reliably unprofitable.