At a glance
StackAdapt-attributed conversion value, the revenue the StackAdapt pixel credits to clicks and (if configured) view-through events from your campaigns. DSP attribution is multi-touch by nature; this number includes view-through credit on CTV impressions, which most commerce platforms do not credit on their last-click side. Expect this number to be 1.5, 3× the UTM-tagged Shopify-source revenue.
| What it counts | Revenue attributed to StackAdapt-tracked conversion events within the configured attribution window (default 30-day click + 1-day view). Pulled from conversionsValue on reports/campaigns. Includes view-through where the campaign has view-through tracking enabled. |
| Cost basis | Not applicable; this is the revenue side of the ROAS pair. The cost partner is Total Spend. |
| Currency | Account currency. |
| Conversion attribution | Click-through default 30 days, view-through default 1 day (extendable to 7 days). CTV impressions only support view-through. |
| Attribution window | 30/1 default. CTV-heavy accounts should run 30/7 view-through for honest CTV crediting. |
| Bot / invalid traffic | IVT-filtered conversions excluded; minor leakage <2%. |
| Time window | T/7D/30D vsP (default 30D vs prior 30D). 1, 4 hour ingest lag. |
| Alert trigger | drop >20% vsP. The two most common causes: (a) the StackAdapt pixel broke (check Clicks vs Conversions first); (b) BidCore shifted spend mix toward channels with weaker direct attribution (e.g. away from display retargeting toward CTV awareness). |
| Roles | owner, marketing, finance |
Calculation
Calculated automatically from your StackAdapt 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 US homeware brand. The 30-day window is 02 Apr 26 to 01 May 26.| Campaign | Channel | Spend ($) | Click-through revenue ($) | View-through revenue ($) | Total revenue ($) |
|---|---|---|---|---|---|
| Display Prospecting | Display | 12,400 | 38,200 | 4,200 | 42,400 |
| CTV Awareness “Spring Living” | CTV | 18,200 | 0 (no clicks) | 28,400 | 28,400 |
| Native Article Distribution | Native | 5,400 | 14,800 | 1,200 | 16,000 |
| Audio Spotify Sponsorship | Audio | 3,200 | 4,200 | 800 | 5,000 |
| Retargeting | Display + Video | 4,800 | 22,400 | 3,200 | 25,600 |
| Account total (this card) | $44,000 | $79,600 | $37,800 | $117,400 |
- CTV view-through revenue ($28,400) is the biggest credibility wedge. StackAdapt credits view-through on CTV impressions; Shopify and GA4 give CTV essentially zero credit (no click event to track). If CTV is genuinely driving incrementality, the true contribution sits closer to StackAdapt’s claim. If it’s not (just brand exposure that doesn’t move the needle), Shopify’s UTM-truth is the honest number. The only way to know is incrementality testing (CTV holdout for 14 days vs control region).
- **Display click-through revenue (25, 32k typical for display). The 20, 40% over-claim is the standard DSP attribution gap; manageable.
- Retargeting at 4,800 spend is the standout (5.33× ROAS). Cross-channel retargeting (display + video to existing site visitors) is StackAdapt’s sweet spot; this is what the platform is best at. Scale this campaign aggressively.
- Audio at 3,200 spend (1.56× ROAS) is borderline. Streaming audio is hard to measure; the $4,200 click-through revenue is suspect (audio rarely drives direct clicks). Likely some misattribution from cross-channel exposure being credited to audio. Treat as awareness only; do not budget for direct attribution from audio.
- The 30-day prior had $128,200 revenue; this window is down 8.4%. Spend up 21%, revenue down 8% = real efficiency erosion. BidCore is finding more impressions but at lower conversion rate; check audience freshness and creative fatigue.
- Revenue up + spend up + ROAS flat = healthy scaling at constant efficiency.
- Revenue down + spend up + ROAS dropping = scaling beyond efficient frontier.
- Revenue down + spend flat + clicks unchanged = pixel is broken. Investigate before changing anything.
- Revenue down sharply on CTV only = view-through window probably misconfigured to 1 day; should be 3, 7 days.
- Revenue up sharply on display = BidCore likely found a strong audience; verify quality before scaling.
Sibling cards merchants should reference together
| Card | Why pair it with Total Revenue |
|---|---|
| StackAdapt Total Spend | The denominator pair. Revenue ÷ Spend = ROAS. |
| StackAdapt ROAS | The headline efficiency reading. |
| StackAdapt Clicks vs Conversions | The pixel-health canary. Clicks held while conversions cratered = pixel issue. |
| StackAdapt Revenue by Campaign | Channel mix breakdown. Display retargeting often drives 40, 60% of revenue at <15% of spend. |
| StackAdapt Conversions Trend | The conversion-count side of revenue. Revenue down + conversions down = volume; revenue down + conversions held = AOV dropped. |
| The Trade Desk Total Revenue | Enterprise DSP peer; comparable structural attribution behaviour. |
| GA4 Revenue by Channel | Independent attribution check. GA4 Paid Display vs StackAdapt Backstage is the multi-touch reality check. |
| Shopify Total Revenue | The truth side. Real DSP contribution is much smaller than the DSP claims. |
Reconciling against the vendor’s own dashboard
Where to look in StackAdapt: StackAdapt → Reports → Campaigns → “Conversions Value” at account level. The footer total should match this card to within sub-percent rounding once ingest catches up. Other StackAdapt views that look similar:- Conversions (count only): number of conversions, not value. Distinct field; for ROAS use Conversions Value.
- View-Through Conversions Value: subset of total. Toggle on/off depending on whether you want post-impression-only or total.
- Per-Channel Revenue: revenue broken out by display/native/CTV/etc. Sum across channels matches account total.
| Reason | Direction | Why |
|---|---|---|
| Time zone | Boundary days off | Account time zone vs UTC. Marginal at 30D. |
| Real-time ingest lag | Card slightly low for “today” | 1, 4 hour pixel-fire-to-report lag. Yesterday and earlier stable. |
| View-through window changes | Direction depends | If you changed from 1-day to 7-day view, the data reflows retroactively; this card matches whatever is currently configured. |
| CTV view-through | None | Both this card and StackAdapt UI use the same CTV view-through count. |
| Pixel deduplication | Card == StackAdapt | StackAdapt dedupes pixel + server-side events by event_id. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
google_analytics.ga_revenue_by_channel | (GA4 Paid Display + Video revenue) ≈ this card × 0.5, 0.7 | StackAdapt includes view-through; GA4 typically does not. CTV revenue is StackAdapt-only. |
shopify.total_revenue | (UTM-tagged StackAdapt revenue) ≈ this card × 0.3, 0.5 | Multi-touch attribution; CTV view-through never makes it into UTM truth. Use weighted blend (40% StackAdapt + 60% Shopify-UTM) for the CFO read. |
the_trade_desk.the_total_revenue | Independent. If you run both, claims overlap on the same orders that touched both DSPs. | Both DSPs claim view-through credit; do not aggregate by simple addition. |
google_ads.gads_revenue | Different ecosystem; no shared attribution. | Search captures intent; programmatic seeds it. Different revenue claims, different orders. |
Known limitations / merchant FAQs
Why does StackAdapt say I’m at 48k? The DSP-attribution gap has three components:- View-through credit. StackAdapt credits CTV and display view-through conversions; Shopify’s UTM truth credits only the last-paid-click. CTV view-through alone is $28k of the gap in our example.
- Multi-touch overlap. A user who saw a StackAdapt CTV ad on Tue, clicked Google Search on Sat, bought; StackAdapt claims it (within view-through window), Shopify credits Google Search.
- Pixel block + ITP. Some legitimate StackAdapt-driven conversions never reach the StackAdapt pixel due to ad-blockers and Safari ITP; StackAdapt under-counts here, but the over-claim from view-through dominates.