Sample audit · anonymized
Reporting Audit - sample report
Multi-channel ecommerce brand reporting from GA4, platform dashboards, and founder-built spreadsheets.
01 · Current architecture
Reporting lives in four places that disagree: GA4, two ad platforms each grading their own homework, and a weekly spreadsheet assembled by hand from all three. Monday reporting takes half a day, and channel revenue summed across sources comes out ~40% higher than the store actually made. Campaign tracking is inconsistent - three naming conventions across two years of UTMs - so a large share of paid traffic reports as direct or unattributed. The dashboards that exist report activity metrics (sessions, clicks, impressions) rather than the decision metrics the founder actually asks for: contribution by channel, profit per SKU, and repeat-purchase behavior.
02 · Findings (selected from the full document)
Channel revenue is double-counted across reports
Meta, Google, and GA4 each claim credit for overlapping orders, and the weekly spreadsheet adds those claims together as if they were separate revenue.
Evidence row
Summed platform-attributed revenue exceeded store revenue by ~40% in the reconciliation window; the same order IDs appeared in both platforms' conversion exports on click-through windows that overlap.
Costs you: Every budget decision made on the summed number rewards whichever platform claims most aggressively, not whichever sells most.
Broken UTM discipline hides where a third of paid traffic comes from
Three different naming conventions - and untagged links in email and influencer posts - push a large share of known-paid sessions into direct and unattributed buckets.
Evidence row
Session-source audit found ~31% of traffic landing as direct/none while ad platforms recorded corresponding click volume; the UTM inventory listed the same channel spelled three ways (fb, facebook, meta-paid).
Costs you: Channel performance comparisons are built on mislabeled traffic, so the channels with the sloppiest tagging look the weakest.
Reporting measures activity, not decisions
The dashboards answer 'how many sessions did we get' but not the questions actually being asked: which channel is profitable after costs, which SKUs carry the margin, and who buys twice.
Evidence row
KPI inventory mapped every widget across the existing dashboards: none joined revenue to product cost or ad spend; no report segmented first-time vs. returning purchase revenue despite repeat orders being a stated goal.
Costs you: Half a day of manual reporting per week produces numbers that cannot answer a single resource-allocation question.
The weekly spreadsheet silently drifted from its sources
Hand-copied figures and a broken lookup mean the founder's spreadsheet no longer matches the platforms it summarizes - and nobody noticed when it happened.
Evidence row
Recomputing the sheet from source exports produced differences of up to 18% on monthly channel totals; one revenue column still referenced a tab deleted months earlier, failing over to stale values.
Costs you: The one document the founder trusts most is the one furthest from the truth.
03 · Solution plan
| # | Fix | Layer | Impact | Effort |
|---|---|---|---|---|
| 01 | One UTM convention + tagging template for every channel | Quick win | High | Low |
| 02 | Kill the broken lookups, rebuild the sheet from exports | Quick win | Medium | Low |
| 03 | Single source-of-truth revenue table (store data first) | Structural | High | Medium |
| 04 | Deduplicated channel view with agreed attribution rules | Structural | High | Medium |
| 05 | Decision dashboard: contribution, SKU margin, repeat rate | Strategic | High | High |
Composite sample: each finding is a real pattern from delivered reporting audits, combined into one representative document.
Want this for your store? Fixed price from $500, delivered in 1-2 days, credited toward implementation.
Book a discovery call