Top-line
The four numbers that matter. Everything else is a breakdown of these.
Progress to the frame-lock ask
The frame-lock's line 7: "This December we are asking for the gift that funds the next thirty cases." That is our tape.
30 cases × $1,840 = $55,200 target
Loading…
Ask-ladder tier breakdown
The frame-lock's 3-tier ladder: $50 entry · $1,840 featured · $5,000 founder · custom. Distribution shows which ask is landing.
Tier distribution · gifts
| $50 entry gifts | — |
| $1,840 case gifts (featured) | — |
| $5,000 founder-tier gifts | — |
| Custom amounts | — |
Tier distribution · dollars
| $50 tier · total | — |
| $1,840 tier · total | — |
| $5,000 tier · total | — |
| Custom · total | — |
Source attribution
Which channel delivered the gift. Read directly from utm_source on the attribution row.
By channel · gifts count
| Loading channel data… |
By channel · dollar value
| Loading channel data… |
Frame-lock discipline · how this dashboard stays honest
What this dashboard does not do
Does not extrapolate. Numbers shown are what has actually landed in donation_attributions. No projections, no "on-track-to" estimates, no aspirational lines.
Does not manufacture the denominator. The "30 cases" ask target is the Sprint 57 locked frame-line 7, verbatim. Not a KPI made up for this dashboard.
Does not mix in past appeals. Query filter is strictly appeal_code = 'xmas2026'. Legacy donations under other codes (or null) are counted elsewhere, not here.
Does not glorify velocity. No "gifts per hour" or "biggest hour so far" metrics. This is a governance dashboard, not a hype dashboard.
What to do when a number here surprises you
Never quote a dashboard number in an external comm without a same-day cross-check against donation_attributions raw rows.
Never bake a dashboard number into a founder LI post, an email, or a media release without Carla's sign-off (G2 gate, per Sprint 57).
The dashboard is an internal governance surface. External statements about "how the appeal is going" go through Lisa, and only Lisa.
What this dashboard does not contain (and why)
Not here · and why
| Meta CAPI conversions | Blocked on backlog item #9 (Laurence Meta creds). |
| Google Search conversions | Requires backlog item #10 (GS pack) landing first. |
| Recurring-gift LTV | Recurring giving opens post-DGR only. Backlog item #3. |
| Donor identity (names, emails) | Only email HASHES stored. PII belongs in CRM, not the dashboard. |
| Real-time push updates | 60-second polling only. WebSocket infra is out-of-scope for Cloudflare Pages. |
Where the rest lives
| First 90 days ops plan | /launch-90-days |
| Q4 content calendar | /q4-content-calendar |
| Reactive playbook | /launch-reactive-playbook |
| Frame-lock (source of truth) | /christmas-appeal-frame-lock |