Try the command center.
This is a working sample of the Pennant dashboard for a fictional school, Pennant University. Flip between the Period and Cohort lenses and watch the same funnel answer two different questions. No signup, no email.
Period view — everything that happened between these dates: leads in, applications in, enrollments in, spend out.
- Leads
- 6,779
- Applications
- 1,139
- Enrolled
- 296
- Ad Spend (net)
- $189,400
- CPL
- $39.93
- spend ÷ paid leads
- CPE
- $893
- spend ÷ paid enrolls
- LTE%
- 4.4%
Funnel
Stage volumes within the date range
Budget pacing
Net spend vs. budget target, cycle to date
On pace — spend is tracking slightly under cycle progress.
Channels
CPL divides spend by paid-source leads only — organic never flatters paid.
| Channel | Spend (net) | Leads | CPL |
|---|---|---|---|
| Paid search | $84,200 | 2,310 | $36.45 |
| Paid social | $71,800 | 2,045 | $35.11 |
| Display | $33,400 | 388 | $86.08 |
| Organic search | — | 1,348 | — |
| Referral | — | 688 | — |
All numbers above are sample data for a fictional institution.
What you just saw
Three things to notice
The lens toggle
Period view answers "how did this month go?" Cohort view answers "are the leads I bought converting?" Most tools only give you the first — and the second is where reallocation decisions live.
CPL has a footnote
Spend divided by paid-source leads only. Organic rows show no CPL because no dollars bought them. It's a small detail that keeps every cost number defensible.
Pacing, not post-mortems
Spend versus budget versus cycle progress, continuously. The moment a channel runs hot or cold, it shows here — while there's still budget to move.
The real product does this across your actual CRM and ad accounts — by campus, program, and channel, synced hourly.