Sales Coverage
Day-by-day comparison of purchases as reported by the revenue tracker sheet (ground truth), GA4, and PostHog. Coverage = % of the true order count that each tool reports.
Window
Mar 1 – Apr 15
46 days
Last updated
Apr 16 20:15 UTC
Regenerate by re-running the sales-coverage script
GA4 coverage (all 46d)
88.1%
Transactions captured vs sheet
PostHog coverage (Apr only)
91.4%
/checkout/completed pageviews vs sheet
Latest sheet day
50
orders on Apr 15
Latest sheet revenue
$10,264
Apr 15
How reliable is each tool?
Coverage tells you the average. Reliability tells you whether a single day's number is trustworthy.| Metric | GA4 | PostHog | What it means |
|---|---|---|---|
| Days of data | 45 | 15 | PostHog installed Apr 1 |
| Overall coverage | 88.1% | 91.4% | Total tool orders ÷ total sheet orders |
| Median daily coverage | 88% | 83% | Typical day's capture rate |
| Daily swing (std dev) | ±19% | ±20% | Lower = steadier. ±10% or less is trustable. |
| Worst / best day | 18% / 129% | 54% / 126% | Range of daily capture rates |
| Days within ±10% of truth | 31% | 40% | How often you can read the day's number as-is |
| Days within ±20% of truth | 73% | 53% | Ballpark accuracy |
| Trend correlation vs sheet | 0.81 | 0.92 | 1.0 = perfect trend match. 0.90+ = good. Below 0.70 = noisy. |
| Mean absolute error (MAPE) | 17% | 18% | Average % off per day, regardless of direction |
Verdict.
Both tools land around 88-91% of real orders on average, but daily swings are ±19-20%, so a single day's figure can be off by a lot in either direction
(GA4's range on this window is 18% to 129% of actual orders, PostHog's 54% to 126%).
For day-to-day reporting, neither is trustworthy without the sheet to check against.
PostHog's trend correlation (0.92) is stronger than GA4's (0.81), so if you want to read the direction of sales from a dashboard, PostHog is the better signal today.
The reverse-proxy + event-based trigger fixes should tighten both towers.
Period summary
Totals per period with coverage %| Period | Sheet orders | GA4 tx | GA4 coverage | PostHog | PH coverage |
|---|---|---|---|---|---|
| Mar 1-15 (pre-drop) | 618 | 469 | 75.9% | — | — |
| Mar 16-31 (post-migration) | 526 | 478 | 90.9% | — | — |
| Apr 1-15 (current) | 559 | 515 | 92.1% | 511 | 91.4% |
Daily breakdown
Newest first · 46 rows| Date | Sheet orders | Sheet revenue | GA4 tx | GA4 coverage | PostHog | PH coverage |
|---|---|---|---|---|---|---|
| Apr 15 Wed | 50 | $10,264 | 49 | 98.0% | 52 | 104.0% |
| Apr 14 Tue | 49 | $10,190 | 31 | 63.3% | 38 | 77.6% |
| Apr 13 Mon | 43 | $9,512 | 50 | 116.3% | 54 | 125.6% |
| Apr 12 Sun | 28 | $6,432 | 29 | 103.6% | 23 | 82.1% |
| Apr 11 Sat | 23 | $4,950 | 20 | 87.0% | 19 | 82.6% |
| Apr 10 Fri | 41 | $9,354 | 36 | 87.8% | 42 | 102.4% |
| Apr 9 Thu | 44 | $9,088 | 46 | 104.5% | 47 | 106.8% |
| Apr 8 Wed | 47 | $9,724 | 42 | 89.4% | 46 | 97.9% |
| Apr 7 Tue | 49 | $10,049 | 48 | 98.0% | 50 | 102.0% |
| Apr 6 Mon | 38 | $8,800 | 49 | 128.9% | 39 | 102.6% |
| Apr 5 Sun | 19 | $4,086 | 9 | 47.4% | 11 | 57.9% |
| Apr 4 Sat | 25 | $6,393 | 17 | 68.0% | 16 | 64.0% |
| Apr 3 Fri | 42 | $9,140 | 35 | 83.3% | 33 | 78.6% |
| Apr 2 Thu | 33 | $6,286 | 23 | 69.7% | 26 | 78.8% |
| Apr 1 Wed | 28 | $5,369 | 31 | 110.7% | 15 | 53.6% |
| Mar 31 Tue | 32 | $7,567 | 27 | 84.4% | — | — |
| Mar 30 Mon | 37 | $7,301 | 32 | 86.5% | — | — |
| Mar 29 Sun | 18 | $3,821 | 13 | 72.2% | — | — |
| Mar 28 Sat | 22 | $4,302 | 19 | 86.4% | — | — |
| Mar 27 Fri | 30 | $5,811 | 25 | 83.3% | — | — |
| Mar 26 Thu | 37 | $8,695 | 37 | 100.0% | — | — |
| Mar 25 Wed | 32 | $6,600 | 29 | 90.6% | — | — |
| Mar 24 Tue | 51 | $9,721 | 46 | 90.2% | — | — |
| Mar 23 Mon | 31 | $5,947 | 34 | 109.7% | — | — |
| Mar 22 Sun | 24 | $4,663 | 16 | 66.7% | — | — |
| Mar 21 Sat | 25 | $5,278 | 22 | 88.0% | — | — |
| Mar 20 Fri | 39 | $8,472 | 38 | 97.4% | — | — |
| Mar 19 Thu | 24 | $5,400 | 26 | 108.3% | — | — |
| Mar 18 Wed | 38 | $7,364 | 34 | 89.5% | — | — |
| Mar 17 Tue | 48 | $9,833 | 46 | 95.8% | — | — |
| Mar 16 Mon | 38 | $7,852 | 34 | 89.5% | — | — |
| Mar 15 Sun | 39 | $9,324 | 31 | 79.5% | — | — |
| Mar 14 Sat | 32 | $7,665 | 26 | 81.3% | — | — |
| Mar 13 Fri | 27 | $5,576 | 30 | 111.1% | — | — |
| Mar 12 Thu | 34 | $6,062 | 28 | 82.4% | — | — |
| Mar 11 Wed | 49 | $10,726 | 47 | 95.9% | — | — |
| Mar 10 Tue | 55 | $11,404 | 32 | 58.2% | — | — |
| Mar 9 Mon | 43 | $8,393 | — | — | — | — |
| Mar 8 Sun | 38 | $7,832 | 7 | 18.4% | — | — |
| Mar 7 Sat | 31 | $6,188 | 20 | 64.5% | — | — |
| Mar 6 Fri | 33 | $7,787 | 27 | 81.8% | — | — |
| Mar 5 Thu | 47 | $10,839 | 37 | 78.7% | — | — |
| Mar 4 Wed | 53 | $13,225 | 43 | 81.1% | — | — |
| Mar 3 Tue | 49 | $11,927 | 46 | 93.9% | — | — |
| Mar 2 Mon | 60 | $11,800 | 68 | 113.3% | — | — |
| Mar 1 Sun | 28 | $5,535 | 27 | 96.4% | — | — |
How to read this.
The sheet is ground truth — it's reconciled manually from the orders database. GA4's purchase trigger is DOM-based
("order message does not contain needs payment") and misses purchases when that DOM isn't set as expected.
PostHog uses a pageview of
/checkout/completed as a purchase proxy because native e-commerce events
aren't wired yet. PostHog was installed on April 1, so March rows are empty. Coverage < 80% is flagged red.