At a glance
Return on ad spend, the headline efficiency number for AdRoll. conversion_value ÷ spend at the advertisable level. A 6× ROAS means £1 of AdRoll spend produced £6 of AdRoll-attributed revenue. Retargeting-platform ROAS expectation is 6, 10×, materially higher than top-of-funnel acquisition platforms (Meta, Google) because the audience is warm. Below 4× on a retargeting-heavy account is a warning sign; below 2× is unprofitable for most DTC margins after COGS, fulfilment, and overhead. Post-iOS-14.5 ATT, AdRoll’s reported ROAS over-states real business ROAS by 30, 60% on iOS-heavy accounts without Conversions API.
Calculation
Calculated automatically from your AdRoll data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A US beauty DTC brand running AdRoll for site retargeting + lookalike prospecting + cart-abandon orchestration. The 30-day window is 02 Apr 26 to 01 May 26. Account currency USD. AdRoll Conversions API live since 18 Mar 26.
Shopify-side total revenue for the same period: 58,200. GA4 Display channel attributed revenue: $74,400.
What’s interesting:
- The headline 6.45× is in-band for retargeting-heavy accounts. Retargeting platforms should land in the 6, 10× range; if you’re seeing 4× or below, audience match rate is degraded (most likely iOS / Safari ITP shrink) or the optimiser is buying low-quality inventory to hit pacing. Below 4× on a retargeting-heavy account is a yellow flag, not a green light.
- The 6.45× hides a 14× cart-abandon line item. AdRoll’s email + display orchestrated cart-recovery flow takes credit for purchases that your existing Klaviyo flow would also have caught. Real incremental ROAS on that line item is closer to 6, 8× (the 14× is the upper bound that includes cannibalisation). Run a 10% holdout for 30 days to find the real number.
- Site retargeting at 8.00× is the honest read on AdRoll’s core product, paying to re-target users you’ve already paid Google or Meta to acquire. The math: at a 60% gross margin, 8× ROAS contributes ~3.8× to gross profit, but you’re double-paying on these conversions (top-of-funnel + retargeting). Subtract cannibalisation and the net incremental ROAS is closer to 4, 5×, still profitable, but not the 8× headline.
- Prospecting at 2.31× is acceptable cold-audience performance for AdRoll. Pure cold prospecting on AdRoll typically lands 1.5, 3×, lower than Meta or TikTok cold audiences. If the growth lever is prospecting, Meta or TikTok will outperform AdRoll on a CPA basis.
- Pre-CAPI on this account, ROAS read 4.8× on similar spend; post-CAPI it reads 6.45×. The ~34% lift is real measurement (catching iOS conversions Pixel-only had missed), not inflation. The underlying business ROAS was the same; the new number is more accurate, not better. If you’re judging the rollout, expect a step-change in the 7, 14 days following CAPI go-live and do not compare year-on-year ROAS across the rollout boundary.
- The 30-day prior window had ROAS 6.81×, slight decline. Spend up 18%, ROAS down 5%. That’s mild scaling pressure; healthy provided ROAS holds above 5×. If next period shows ROAS down a further 10%+ alongside spend up, hit the brakes; the auto-optimiser is buying lower-quality inventory to hit pacing.
- Real business ROAS is closer to 3, 4×, not 6.45×. UTM-tagged AdRoll Shopify revenue is 126k. The gap is structural (view-through credit + iOS modeling). Use a weighted blend (40% AdRoll claim + 60% Shopify-UTM) for the CFO read: ~$85k, ROAS ~4.3×. Don’t quote the headline 6.45× to finance.
- ROAS up + spend up = healthy scaling, expand budget if pacing allows.
- ROAS flat + spend down = budget cut without channel deterioration; channel is still healthy.
- ROAS up + spend down = pulled back wisely from low-quality inventory; can scale back when audience refreshes.
- ROAS down + spend up = scaling beyond efficient frontier. Cap budget, refresh creative, audit per-line-item ROAS.
- ROAS down + spend flat = something changed: pixel breakage (most common), attribution shift to Meta or Google, or ATT audience collapse. Investigate before cutting.
- ROAS spike (>2× normal) on a single day = view-through window catch-up or a fraudulent conversion event. Don’t celebrate; verify in commerce-platform truth first.
Sibling cards merchants should reference together
Reconciling against the vendor’s own dashboard
Where to look in AdRoll’s own dashboard:AdRoll Dashboard → Reporting → Performance Report → “ROAS” (filter to the same advertisable and date range used in this card).The “ROAS” column in AdRoll’s Performance Report is the same ratio this card surfaces. Headline number on the Home tile shows it for the chosen window. Match the date range and the figure should reconcile to within sub-percent rounding. Other AdRoll views that look similar but aren’t:
- “View-Through ROAS”: a separate view that isolates view-only-credited conversions. This card uses the blended click + view ROAS.
- “Click-Only ROAS”: a toggle in advertisable settings; if you’ve switched to click-only, this card matches that setting.
- “Influenced Revenue”: AdRoll’s broader claim that includes any user touched by AdRoll inventory regardless of last-touch. Not a real ROAS; ignore for decisions.
Why the BUSINESS ROAS often differs from this card (the important one):
The
conversion_value AdRoll reports is whatever the pixel + Conversions API saw, attributed back through AdRoll’s last-touch model with view-through credit. That value flows from your tag setup:
- If the pixel sends order revenue with VAT, ROAS is on a tax-inclusive basis.
- If the pixel sends only first-purchase value, ROAS understates returning-customer revenue.
- If the pixel sends modelled value, ROAS includes some imputed revenue.
shopify.total_revenue attributed to AdRoll UTMs by AdRoll spend. The two figures should land within 30, 50% post-CAPI; bigger gaps usually mean (a) commerce-platform attribution disagrees with AdRoll’s view-through window, (b) the conversion pixel is misconfigured, or (c) iOS / Safari ITP impact is degrading attribution despite CAPI.
Cross-connector reconciliation:
This card is AdRoll’s view of AdRoll-driven performance. The same purchase will be claimed differently by every platform with a tag in the path:
Known limitations / merchant FAQs
My AdRoll ROAS is 8× and AdRoll says I’m profitable, but my P&L disagrees. AdRoll’sconversion_value is gross revenue claimed via last-touch + view-through. Your P&L profitability also factors in: COGS (typically 30, 50% of revenue), fulfilment cost (5, 15%), payment processing (~3%), returns (5, 15%), overhead, and cannibalisation (the share of AdRoll-claimed conversions that would have happened anyway via email, organic, or direct). Rule of thumb: divide ROAS by 2 for a “true contribution multiple” on typical DTC margins, then halve again for incremental contribution if the line item is cart-abandon or warm retargeting. An 8× ROAS on cart-abandon is roughly a 2× true incremental contribution multiple.
Why is my AdRoll Branded retargeting ROAS so high (12×+)?
Same dynamic as Branded Search on Google Ads or returning-audience Advantage+ on Meta. Users who already know your brand were going to come back anyway; AdRoll captures ~50, 80% of that intent for warm-audience CPMs. Branded / repeat-visitor retargeting ROAS is a poor measure of incremental health, you’re paying AdRoll to defend revenue you’d capture for free. The “true acquisition” ROAS is on cold prospecting or new-visitor retargeting only.
My ROAS dropped 30% overnight, what should I check first?
In order of likelihood: (1) Pixel breakage. Check AdRoll → Pixel → Diagnostic; broken events show as warnings. (2) Conversion-tracking regression. Check Clicks vs Conversions, if clicks held but conversions cratered, the tag broke. (3) Attribution-model change. Check advertisable settings; someone may have switched click-only / click+view. (4) iOS audience pool collapse. ATT opt-out continues to grind audience match rates down; if you haven’t refreshed creative or expanded audiences in 30+ days, expect a drift. (5) Promo period rollover. ROAS during a 30%-off campaign rolls into “normal” the day after; sales attribution catches up unevenly. (6) Cross-platform competition. Meta or Google launched a new campaign that’s now winning last-click on conversions AdRoll used to claim. The conversions still exist; AdRoll just lost claim.
Should I optimise for ROAS or for Spend × ROAS (revenue)?
Depends on your phase. If you’re profitability-constrained (need every retargeting dollar to break even on its own), optimise for ROAS, retargeting ROAS should sit at 6, 10×. If you’re growth-focused with profitable unit economics on top-of-funnel, optimise for absolute incremental conversion volume; ROAS will compress as you push into prospecting line items. The right answer is rarely “highest ROAS”; usually it’s “max profit subject to spending the budget”.
iOS 14.5 ATT impact, the structural answer:
ATT (App Tracking Transparency) gave iOS users a system-level prompt to opt out of cross-app tracking. Around 60, 75% of UK / US iOS users opt out. AdRoll, as a cross-site retargeting network, was hit harder than walled-garden platforms (Meta, Google) because:
- AdRoll’s pixel can no longer reliably link iOS users across sites (the basis of retargeting).
- Safari ITP independently kills third-party cookies, compounding the damage on Safari users (~40% of UK / US web traffic).
- For opted-out users, AdRoll backfills with statistical modeling and Identity Graph (its post-cookie ID solution).
- Shopify: Install AdRoll’s official Sales Channel app → enable Conversions API → choose “Maximum” data sharing. 30-minute setup. Auto-deduplicates Pixel + CAPI via
event_id. Easiest. - BigCommerce: AdRoll BC app + manual CAPI via Tag Manager + custom event_id. 2, 4 hours.
- Adobe Commerce / Magento: AdRoll extension + custom server endpoint. 1, 3 days.
- Custom / headless: Build a server-side proxy that mirrors Pixel events. 1, 2 weeks.
- In all cases: deduplicate via
event_id(unique per purchase) and matching event timestamps. Test in AdRoll → Pixel → Server-Side Events. - Allow 7, 14 days for retraining before judging the ROAS lift; AdRoll’s models recalibrate over that window.
conversion_value) but typically run 8, 18% of total revenue for Pixel-only DTC accounts. Patterns:
- Pre-CAPI: modeled fill ~20, 30%. Inflated.
- Post-CAPI clean: modeled fill ~5, 12%. Healthy.
- Post-CAPI but still high (>20%): implementation gaps, audit
event_iddeduplication and event coverage.
event_id matching, AdRoll server-side dedupes; you get the union (whichever event arrived first wins on attribution credit). Without dedup, you double-count and your ROAS reads ~80% inflated. Test it: AdRoll → Pixel → Server-Side Events → check dedup status. The official Shopify Sales Channel app handles this automatically; custom implementations need explicit dedup logic.
Is my AdRoll ROAS incremental or cannibalised?
The single most important question on retargeting. Most warm-audience retargeting is partially cannibalised, those buyers would have converted anyway via email, organic, or direct. Run a holdout test: exclude 10% of retargetable users from AdRoll for 30 days, measure their conversion rate vs the targeted 90%. The lift is the incremental AdRoll ROAS. Typical finding: 30, 60% of AdRoll-claimed conversions are incremental; 40, 70% are cannibalisation. Use the incremental ROAS for true performance evaluation; use the headline ROAS for AdRoll’s own optimisation.