Your speed to lead can slow down before an inquiry reaches your CRM, while it waits for a team member, or after an alert goes unnoticed. Compare the original inquiry timestamp with CRM arrival, assignment, and the first human attempt to locate the delay. Track automated acknowledgment separately so it can't hide an inquiry nobody has worked.
For a roofing company, this audit answers a specific operational question: where should you intervene? Replacing software won't solve unavailable staff, and telling salespeople to respond faster won't repair a disconnected lead source.
Establish which clock you're measuring
Use the homeowner's original submission or incoming call as the starting point. If your report starts when the CRM creates a record, it may exclude a delivery delay upstream.
Keep these events separate:
- Inquiry received: A homeowner submits a request, calls, or sends a message.
- CRM arrival: The inquiry becomes visible in your tracking system.
- Acknowledgment: An automated confirmation is sent. Check delivery status separately.
- Assignment: A named team member becomes responsible for responding.
- First human attempt: Someone calls or sends a personal response.
- Contact: The homeowner answers or replies in a meaningful exchange.
For this audit, measure speed to lead from inquiry receipt to the first human attempt. Also track time to contact, but don't treat homeowner availability as something your staff controls. A live inbound conversation can make receipt, first response, and contact the same event.
Keep later stages distinct too. Qualification confirms service and property fit. A booked estimate means an appointment is on the calendar; attendance means the visit occurred. A signed project and a completed project are separate outcomes. None can be inferred from a fast acknowledgment.
If you're comparing your process with published findings, the lead response time research guide explains why study populations and outcome definitions matter.
Build a trace from real inquiries
Select recent records from each active source, including inquiries during normal coverage, field commitments, and after hours. Include unanswered inquiries, not just those that became projects.
For each record, capture:
- Original source and receipt timestamp
- CRM creation timestamp
- Assignment and alert timestamps
- First human attempt and communication channel
- First homeowner response, if any
- Coverage status and any requested contact time
- Current stage and reason for stopping, where applicable
Use source records, call logs, and message history rather than relying only on manually entered notes. Check that systems display the same time zone. Confirm whether an imported contact retains the original inquiry time or only shows its import time.
Repeated inquiries need special attention. A returning homeowner's new request shouldn't disappear into an old contact record without a new task. Conversely, duplicate records shouldn't trigger competing calls from office staff and a salesperson.
Keep total elapsed time visible even outside coverage hours. Tag those records separately so an overnight inquiry doesn't get compared without context to one received while the office is staffed.
Read the gaps and choose the right correction
The inquiry exists at the source but arrives late
Inspect the connection between the source and CRM. Look for disconnected accounts, failed integrations, delayed imports, or rules that reject incomplete records.
Submit a clearly labeled test inquiry through the affected source. Compare its source timestamp with CRM arrival. If delivery is delayed, fix that connection before changing staff expectations. A confirmation email alone doesn't prove the inquiry reached the working queue.
The record arrives but has no active owner
Check routing conditions for missing property details, unfamiliar service requests, and unavailable team members. These records need a visible exception queue with someone responsible for reviewing it.
For an owner-operator, assignment may always point to the owner. The real question is whether the queue remains visible between field commitments. For a staffed company, check that the assigned person is actually covering inquiries rather than conducting inspections or taking leave.
Assignment happens, but nobody acts
Verify that the alert reached the intended device or inbox. Then ask the recipient to show how they notice and open it during an ordinary workday.
If the alert works but the person can't interrupt their current responsibility, you have a coverage gap. An owner-operator needs safe review windows and honest availability messaging. A larger team may need office coverage or a designated backup. Production crews shouldn't become the fallback without an explicit responsibility change.
For broader role design, use the sales follow-up handoff guide. Keep this audit focused on the delay you can demonstrate.
Human attempts are prompt, but contact is weak
Review whether calls display a recognizable business identity, messages identify the company, and staff honor the homeowner's preferred channel. Check for invalid details and requests unrelated to your services before drawing conclusions about response speed.
Read the original inquiry alongside the response. Someone asking about a repair shouldn't receive a generic replacement message. A homeowner who requests contact after work shouldn't be marked neglected because staff respected that instruction.
Once a genuine attempt has happened, use a separate no-answer follow-up process. Repeated outreach and initial response latency need different diagnoses.
Test the repair under working conditions
After changing a rule, run a labeled test that reproduces the failure. Don't test only the easiest path while everyone is watching the CRM.
Use this checklist:
- Submit through the source that previously stalled.
- Confirm that the original inquiry time remains available.
- Check that a current owner receives an actionable alert.
- Test what happens when that owner is unavailable.
- Reply to the acknowledgment and verify who sees the reply.
- Confirm that a human response is recorded separately from automation.
- Remove or label test records so they don't distort reporting.
If an after-hours acknowledgment implies someone is available now, revise it. For example:
Thanks for contacting [Company Name]. Our office is currently closed. Our team will review your roofing request when coverage resumes. You can reply with your preferred contact time.
Only use wording that matches your actual coverage and messaging permissions. Automation can confirm receipt, but your roofing team still handles live calls, qualification, scheduling, homeowner conversations, and the work that follows.
Review unresolved exceptions, not just averages
Start each review with inquiries that have no human attempt. Then examine the longest unexplained gaps by source and coverage period. An average can look healthy while individual requests remain untouched.
Assign each correction to a person and retest it. If first attempts improve but qualification or attendance doesn't, investigate those later stages separately rather than continuing to push the response clock.
The audit is complete when you can explain where each delay occurred, distinguish a system failure from a staffing constraint or homeowner preference, and verify that the correction works during a normal working day.