Case study: Keeping a sales team's lead reporting accurate
Client details are kept private. This is about the process, not the people.
Lead reports look simple. A few numbers, a Slack message, done. Then you look closer and realize every one of those numbers has a "well, it depends" hiding behind it. My job on this account is to make sure the numbers the team sees every day are numbers they can trust.
The setup
The client runs a sales team that calls inbound leads, with GoHighLevel as the CRM and a Google Sheet that tracks leads for outreach. I post a Daily Lead Report Monday to Thursday and a Weekly Lead Report on Fridays, straight to the team's leads channel in Slack.
Challenge 1: Speed to lead that's actually fair
Speed to lead means how fast a new lead gets contacted. Easy to measure. Easy to measure wrong. If a lead comes in at 7:30 PM and the team starts at 9 AM, counting that as a 13-hour response makes the team look terrible for being asleep like normal humans.
So the calculation uses business hours, 9 AM to 5 PM CST, with an after-hours rollover. Leads that arrive outside business hours start the clock at the next business morning.
Challenge 2: Timestamps in the wrong timezone
One teammate's activity was logged in a different timezone than the rest of the report. Mix those up and a call made in the morning can look like it happened before the lead even existed. Time travel is cool in movies, less cool in KPIs.
I convert those timestamps to CST before calculating anything, and I keep notes on the edge cases so the logic stays consistent from one report to the next.
Challenge 3: Formulas that quietly break
Shared spreadsheets have one natural enemy: the well-meaning person who pastes over a formula. I maintain the formula integrity of the outreach sheet, so a stray edit doesn't silently throw off a whole week of numbers.
Challenge 4: Checking the "why" behind the numbers
Numbers alone don't tell the whole story, so a few manual checks happen alongside the report:
- Outreach behavior. I validate that setters are following the agreed process, like double dials and leaving voicemails.
- KPI exemptions. When a number looks off, I check the calendar to see if there's a real reason, like time off, before it gets flagged.
- Open loops. I audit GHL conversations for prospects who replied and didn't get an answer. (There's an automation for that, it's number 5 in this post.)
What the team gets
A report that shows up on schedule, uses the same rules every time, and holds up when someone asks "wait, is that right?" That last part matters most. When people trust the numbers, they stop arguing about the report and start acting on it.
If your team's reporting lives in five tabs and three people's heads, that's exactly the kind of mess I like cleaning up.