THE PERFORMANCE EDIT / 2025
A clearer view of
your marketing.
From media investment to merchandise revenue.
Governed metrics. Transparent attribution. One considered view.
Whole London reporting months. Channel and campaign filters select their recorded outcomes. With a campaign selected, an incompatible channel gives an empty result. Website attribution context stays date-only.
Loading snapshots and the pinned browser query engine…
GOVERNED SNAPSHOTPerformance at a glance
INVESTMENT & RETURN
Monthly performance
View monthly figures
MEDIA EFFICIENCY
Monthly net ROAS
Attributed net revenue ÷ media spend
CHANNEL MIX
Where the investment works
Channel comparison figures
CAMPAIGN LEADERS
Top campaigns by net ROAS
Selected period · stable campaign ID tie-break
THE CAMPAIGN LEDGER
Campaign performance
Spend versus straight-line allocated budget for the selected months. These allocations are monitoring benchmarks, not approved monthly budgets. Lifetime budgets appear separately and ignore dates.
Full-snapshot lifetime budget context (ignores date range)
MONITORING / SELECTED PERIOD
Signals to review
Spend without eligible attributed orders
Over allocated budget
Signals invite investigation; spend without orders is not proof of waste.
ATTRIBUTION COVERAGE / DATE-ONLY
What can we account for?
Website-wide context ignores channel and campaign filters. Unmatched orders cannot be assigned to Direct or Organic.
CONFIDENCE THROUGH TRANSPARENCY
Methodology & metric definitions
- Spend & net revenue
- Recorded platform media spend in GBP. Net merchandise revenue includes signed/zero non-cancelled sales, including fully refunded sales. Refunds are not subtracted twice. Website revenue includes unmatched sales; campaign revenue is attributed only.
- Net ROAS & paid CAC
- Sum of attributed net revenue ÷ sum of spend. CAC is period spend ÷ attributed first-observed acquisitions, media costs only. Direct, Organic and Unattributed have N/A when cost coverage or assignments are unavailable.
- Conversions & acquisitions
- Eligible conversions are completed or partially refunded orders with positive net value. Acquisition is a customer’s earliest eligible order across available history, selected before date filtering. It means first observed in this 2025 snapshot, not verified lifetime acquisition.
- Attribution & budgets
- Last identified paid touch in the preceding 168 elapsed UTC hours, excluding the order instant. Attribution rate is attributed eligible orders ÷ all eligible orders. Budget utilisation uses selected spend ÷ selected active-day allocated budget. Lifetime budgets count once per campaign.
- Reporting & calculation rules
- Dates use Europe/London, including BST. Month filters are inclusive. Each mart is queried separately. Add numerators and denominators before dividing; never average stored ratios. Undefined metrics and empty aggregates display N/A. All displayed answers are derived from snapshot data.
- Snapshot limitations
- Synthetic, fixed 2025 data; no pre-2025 acquisition history or post-2025 conversion tail. Final statuses restate original order periods. Complete feeds are assumed; zeros do not prove feed completeness. No profit, cash-flow, causal uplift, or fully loaded CAC is implied.
Architecture, SQL & validation evidence
Governed dbt marts → validated Wren semantic models → fixed ZSTD Parquet exports → DuckDB WebAssembly 1.29.0 → this browser dashboard. The pinned browser engine loads from jsDelivr, a public CDN; internet access is required. Snapshot queries execute locally, with no backend or natural-language service.
Review every dashboard SQL query · Snapshot schemas & checksums · Validation record
ASK MARKETING AI
Your next marketing question.
Generate and execute a new governed answer while the local service is running. Uses your authenticated Codex CLI; the question and semantic context may be sent to OpenAI.
Checking local service?
Suggested marketing questions
SAVED & CHECKED WITH WREN
Verified questions
Ten saved, Wren-validated business questions and their verified answers. These are fixed examples, not new AI responses. They use the full snapshot and ignore dashboard filters.
Loading saved verified examples…