Lead performance · 20 new leads in the last 7 days, 123 in the last 30
Every month on screen at once, one row each, newest at the top, with the stages running left to right. The number is how many of that month's leads have ever reached that stage, the bracket beside it is how many got there in the last 7 days, and the figure underneath is what one cost. The percentage between two boxes is the conversion from the box above. Click any number to list the leads behind it.
Everything that changed since this time last week, whichever month the lead first arrived in. New counts leads that were not here at all seven days ago; the rest counts leads that reached a stage during the week, including ones that arrived months ago and only moved now. Nothing here can go down — a lead that is pushed back a stage in the CRM keeps the furthest step it ever reached.
| Channel | New leads | Reached Qualified | Reached Consultation Done | Reached Feasibility Sold | Reached Permit Agreement Signed | Reached Construction Agreement Signed |
|---|---|---|---|---|---|---|
| Meta Ads | +18 | +22 | +13 | +3 | 0 | 0 |
| SEO | +2 | +1 | +4 | 0 | 0 | 0 |
| Social media | +1 | 0 | 0 | 0 | 0 | 0 |
| Added manually | 0 | 0 | +3 | +2 | 0 | 0 |
| Other | 0 | 0 | +1 | 0 | 0 | 0 |
| All channels | +21 | +23 | +21 | +5 | 0 | 0 |
One row per rep, counting only their own leads: leads they were given first and still hold. A lead handed over from another rep is left out of both reps' funnels, and so is any sale it produced. As everywhere on this page, a number is how many ever reached that step, and the percentage is the conversion from the step before. Click any number to list the leads.
Madison and Griffin started taking leads on 5 Oct. Robert's column covers more months, and his leads have had longer to move down the funnel. Compare all three on leads since 5 Oct.
| Rep | Own leads | Qualified | Consultation Done | Feasibility Sold | Permit Agreement Signed | Construction Agreement Signed |
|---|---|---|---|---|---|---|
| Robert | ||||||
| Madison | ||||||
| Griffin |
$2,400 of ad cost across 18 Oct – 24 Oct 2026, divided by what that spend has produced so far. That is $2,171 of media plus $229 of tax and fees, estimated for the months with no invoice entered against them yet. Same rule as the table above: a lead bought in March that books a consultation in September was still bought with March's money, so the cost follows the lead rather than the month it finally moved in. Every figure here falls as those leads keep travelling — none of them can rise.
| Step | Got this far | Share of those leads | Cost each |
|---|---|---|---|
| Lead | 33 | $73 | |
| Qualified | 16 | $150 | |
| Consultation Done | 6 | $400 | |
| Feasibility Sold | 1 | $2,400 | |
| Permit Agreement Signed | 0 | -- | |
| Construction Agreement Signed | 0 | -- |
Counting the 33 leads that came from Meta Ads, the only channel whose ad spend is loaded here. Referral, website and signage leads cost something too, but not something this dashboard can see, and dividing the ad budget across them as well would make every figure above look cheaper than it is. Spread across all 46 leads instead, including the 13 that arrived with no ad spend behind them, the same budget works out at $52 a lead.
The same sums, one month at a time, so a cost that is drifting shows up as a direction rather than an average. Recent months are marked still early: their leads have not had time to reach the later steps, which makes those steps look dear until they do.
| Lead arrived | Ad cost | Leads | Cost per lead | Cost per qualified lead |
Cost per consultation |
Cost per feasibility sold |
Cost per signed deal |
|---|---|---|---|---|---|---|---|
| Oct 2026 | $2,400 | $73 | $150 | $400 | $2,400 | -- |
This is where the wait pays off. The figure on the right is how long the lead sat before this step happened, and the list is ordered by it, so the enquiries that have been quiet longest come first. Showing the 25 longest waits of 302 leads that moved.
The other half of the section above: leads that have not moved, on stages that are not meant to be slow. Ordered by how far past the expected wait each one is, not by raw days — three weeks parked before a booked consultation matters more than three weeks waiting on a permit office, which is why the permit stages are not listed here at all.
Each bar counts the leads that have ever reached that stage, so a lead that stalled or went quiet still counts for how far it got. Leads being nurtured and leads outside the service area are included — they were still leads that arrived.
One column per channel, so a row can be read straight across and compared. Leads are credited to where they first came from, not whatever they last clicked before signing: on a sales cycle this long, last-touch would hand every win to whichever channel happened to be running at the end. Each cell counts the leads that have ever reached that step, with what one cost underneath wherever the ad spend for that channel is loaded. As above, the percentage is the conversion from the step before it, so reading a row across compares the channels at the same point in the funnel rather than at the same distance from their own starting size. Percentages are left off below five leads, where a rate is arithmetic rather than evidence.
| Meta Ads | SEO | All others | |
|---|---|---|---|
| Leads | |||
| Share of all leads | 72% | 20% | 8.7% |
| Ad spend | $2,400 | -- | -- |
| Cost per lead | $73 | -- | -- |
| Qualified | $150 | ||
| Consultation Done | $400 | ||
| Feasibility Sold | $2,400 | ||
| Permit Agreement Signed | -- | ||
| Construction Agreement Signed | -- |
All others is Added manually (3) and Other (1). No ad spend is loaded for SEO, so those columns show what the channel produced but not what it cost.
“Other” is 1 lead whose source no rule recognises yet: “other | other” (1). Each one either wants a rule in config/portal.json or is a channel nobody is tagging.
The 46 leads that arrived between 18 Oct and 24 Oct 2026, whichever pipeline they sit in now. Search or filter to find one; click a column heading to sort, or search every lead instead.
| Lead | Source | Arrived | Stage now | Furthest reached | Status | Rep | Days | Age |
|---|---|---|---|---|---|---|---|---|
| Junying Mao | Meta Ads | 24 Oct 2026 | Qualified | Qualified | Active | Griffin | 5 | 7 |
| Luis Hernandez | Meta Ads | 24 Oct 2026 | Contacted | Contacted | Active | Madison | 5 | 7 |
| Philip O'Leary | Meta Ads | 24 Oct 2026 | Contacted | Contacted | Active | Robert | 5 | 7 |
| Rachel | Meta Ads | 24 Oct 2026 | Contacted | Contacted | Active | Madison | 5 | 7 |
| Cyndi Lamb | Meta Ads | 24 Oct 2026 | Contacted | Contacted | Active | Robert | 5 | 7 |
| Cody Morrison | Meta Ads | 24 Oct 2026 | Consultation Done | Consultation Done | Active | Griffin | 1 | 7 |
| Jessica Diibon | Meta Ads | 23 Oct 2026 | Contacted | Contacted | Active | Madison | 5 | 8 |
| Mollie Erin | Meta Ads | 23 Oct 2026 | Qualified | Qualified | Active | Griffin | 6 | 8 |
| David A. Nelson | Meta Ads | 23 Oct 2026 | Outside our Area | New Lead | Outside service area | Madison | 8 | 8 |
| Verla Hirsch | Meta Ads | 23 Oct 2026 | Outside our Area | New Lead | Outside service area | Robert | 8 | 8 |
| Beccie Smith | Meta Ads | 23 Oct 2026 | Outside our Area | New Lead | Outside service area | Griffin | 8 | 8 |
| Mok Vearn | Meta Ads | 23 Oct 2026 | Consultation Done | Consultation Done | Active | Madison | 4 | 8 |
| Greg Barnes | Meta Ads | 23 Oct 2026 | 2nd Meeting Done | 2nd Meeting Done | Active | Robert | 5 | 8 |
| Senait Haile | Meta Ads | 22 Oct 2026 | Consultation Done | Consultation Done | Active | Griffin | 4 | 9 |
| Lola McConnell | Added manually | 22 Oct 2026 | Feasibility Sold | Feasibility Sold | Active | Griffin | 3 | 9 |
| David Warren | SEO | 22 Oct 2026 | Not Ready - Follow Up Later | Qualified | Nurturing | Robert | 1 | 9 |
| Magdalena | SEO | 22 Oct 2026 | No Response | Contacted | Nurturing | Robert | 2 | 9 |
| Ricardo Camba | SEO | 22 Oct 2026 | 2nd Meeting Done | 2nd Meeting Done | Active | Robert | 5 | 9 |
| Benjamin Hayes | SEO | 22 Oct 2026 | No Response | Contacted | Nurturing | Griffin | 8 | 9 |
| Niven Solmar | SEO | 22 Oct 2026 | No Response | Contacted | Nurturing | Griffin | 5 | 9 |
| Nathan Marion | SEO | 22 Oct 2026 | Consultation Done | Consultation Done | Active | Madison | 4 | 9 |
| Louis Luca | SEO | 22 Oct 2026 | Email only (sms blocked) | Contacted | Nurturing | Madison | 8 | 9 |
| Lana McMullen | Meta Ads | 22 Oct 2026 | Consultation Scheduled | Consultation Scheduled | Active | Madison | 4 | 9 |
| Faraz Khan | Meta Ads | 22 Oct 2026 | Feasibility Sold | Feasibility Sold | Active | Madison | 2 | 9 |
| Ben Brooks | SEO | 22 Oct 2026 | Consultation Done | Consultation Done | Active | Madison | 4 | 9 |
| Robert Kennedy | Other | 22 Oct 2026 | 2nd Meeting Done | 2nd Meeting Done | Active | Robert | 1 | 9 |
| John Barnes | Added manually | 22 Oct 2026 | 2nd Meeting Done | 2nd Meeting Done | Active | Robert | 5 | 9 |
| Petal Pusher | Meta Ads | 22 Oct 2026 | Outside our Area | New Lead | Outside service area | Madison | 9 | 9 |
| Gary Cooper | Meta Ads | 21 Oct 2026 | Contacted | Contacted | Active | Robert | 9 | 10 |
| Jason Aycox | Meta Ads | 21 Oct 2026 | Consultation Done | Consultation Done | Active | Griffin | 5 | 10 |
| Winny Winn | Meta Ads | 21 Oct 2026 | Contacted | Contacted | Active | Madison | 10 | 10 |
| Alex Inna Frolov | Meta Ads | 21 Oct 2026 | Outside our Area | Qualified | Outside service area | Robert | 10 | 10 |
| Jim Mcbride | Meta Ads | 20 Oct 2026 | Not Ready - Follow Up Later | Qualified | Nurturing | Griffin | 2 | 11 |
| Tamari Lewis | Meta Ads | 20 Oct 2026 | Contacted | Contacted | Active | Madison | 10 | 11 |
| Nate Mullen | Meta Ads | 20 Oct 2026 | Qualified | Qualified | Active | Robert | 10 | 11 |
| Kieran Irish | Meta Ads | 20 Oct 2026 | No Response | Contacted | Nurturing | Griffin | 2 | 11 |
| AB Legacy | Meta Ads | 20 Oct 2026 | Contacted | Qualified | Active | Madison | 5 | 11 |
| Carl Modollas | Meta Ads | 20 Oct 2026 | Contacted | Contacted | Active | Robert | 11 | 11 |
| Dawn Leah Vinberg | Meta Ads | 19 Oct 2026 | Contacted | Contacted | Active | Griffin | 11 | 12 |
| Jillian Ellis | Meta Ads | 19 Oct 2026 | Email only (sms blocked) | New Lead | Nurturing | Madison | 11 | 12 |
| Vishal | Added manually | 19 Oct 2026 | 2nd Meeting Done | 2nd Meeting Done | Active | Robert | 5 | 12 |
| Danny Rguez | Meta Ads | 19 Oct 2026 | Qualified | Qualified | Active | Robert | 3 | 12 |
| Donna McAllister | Meta Ads | 18 Oct 2026 | Qualified | Qualified | Active | Robert | 12 | 13 |
| Christine | SEO | 18 Oct 2026 | Qualified | Qualified | Active | Robert | 12 | 13 |
| Rose Ironside | Meta Ads | 18 Oct 2026 | Qualified | Qualified | Active | Griffin | 5 | 13 |
| Alvart Ohanian | Meta Ads | 18 Oct 2026 | Contacted | Contacted | Active | Madison | 11 | 13 |
Days is how long the lead has sat at the stage it is on now; Age is how long since it first arrived. A lead being nurtured is not lost — it is one the team has parked to come back to.