Building a Lead Aging Report for Internet Managers
An internet manager who cannot see which leads sat over the weekend is managing by inbox. Build a lead aging report by status, owner, and source, then run it the same way every Monday.
Monday, 8:10 a.m. The internet manager opens the CRM, sorts by "newest," and feels productive. Two hundred New leads stare back. Some arrived at 9 p.m. Saturday. Some arrived twelve days ago and never left New because nobody changed the status. The sort order hid the old ones under the fresh ones. The store will spend the morning calling yesterday and ignore the appointments that expired on Thursday.
Building a lead aging report for internet managers is how you stop managing the internet desk by vibes. Aging is not a fancy analytics product. It is a list of open leads grouped by how long they have sat in the current status, cut by owner and source, reviewed on a fixed cadence. If that sentence is not true in your store, you do not have an internet process. You have a pile.
This guide defines the clocks, the buckets, the columns, and the Monday meeting. It assumes you already wrote status definitions. An aging report on mushy statuses is a colored spreadsheet of fiction.
What a Lead Aging Report Is For (and What It Is Not)
Write the purpose so nobody turns it into a shame board.
Purpose
- Surface work that has exceeded the posted time limit for its status.
- Show whether the problem is one owner, one source, or the whole desk.
- Force a same-day action: attempt, reassign, disposition, or a dated next step.
- Give the GM a view that is not "how many leads did we get."
Not the purpose
- A public ranking of closers.
- A fake industry benchmark. You will not find a universal "healthy aging mix" in this article because inventing one would be dishonest.
- A substitute for listening to first calls. Aging tells you where time died. It does not tell you whether the attempt was any good.
Aging is a clock on a status, not a clock on a person
A lead can be old as a human relationship and still current as a stage (Appointment set for this afternoon). A lead can be two hours old and already late (New, store has been open, no attempt). The report must use time in current status, plus time since created as a second column. Mixing those two clocks in one number is how you hide neglected New inside "they're an old customer."
Designing Clocks for a Lead Aging Report Before You Build the Spreadsheet
If the CRM cannot calculate these, export and calculate them. Do not skip the definitions.
Clock A — time in current status
Start: timestamp of the last status change (or created time if still New).
Stop: now, or the moment it left the status.
Business hours versus calendar hours: pick one and write it down. A conservative operating pattern for used-car internet: New and Attempted use store-open hours so overnight does not look like a twelve-hour fail. Appointment set uses calendar time because Saturday 10:00 is a real-world event.
Clock B — age since created
Start: record created.
This catches leads that were "worked" by bouncing statuses without ever progressing. A file that is 20 days old and still Contacted with no appointment is a different problem than a file that hit Contacted this morning.
Buckets that a human can scan
Use four buckets. Name them in store language:
| Bucket | Meaning (illustrative cut points you must set locally) |
|---|---|
| On time | Inside the posted limit for that status |
| Due today | Inside the limit but will expire before close of business |
| Overdue | Past the limit, still open |
| Critical | Overdue by a wider margin you define, or any past-tense Appointment still sitting in Appointment set |
Do not publish ten color bands. Four is enough for a Monday meeting. Tune the cut points to your speed-to-lead standards; do not copy another store's minutes.
Status-specific limits (write them next to the buckets)
Examples of the kind of limits to post, not universal numbers:
- New: first attempt inside the open-hours window you already teach.
- Attempted: next attempt per cadence, then Lost (no response) when the cadence ends.
- Contacted: must have a dated next step; if the date is missing, treat as overdue immediately.
- Appointment set: cannot remain after the appointment time without a same-day move to Showed, no-show handling, or Lost.
- Hold: cannot remain after the hold date.
If a status has no limit, it will collect bodies.
Columns the Report Must Have
A useful aging report is wide enough to act, narrow enough to finish in fifteen minutes.
Required columns
- Lead ID
- Customer name
- Source (structured, not "Internet")
- Vehicle / VIN if specific
- Owner
- Status
- Time in status
- Age since created
- Bucket (on time / due today / overdue / critical)
- Last activity timestamp and type (call, text, email, message)
- Next-step date (blank should visually scream)
- Open listing? (yes/no — if the unit is sold in the DMS and still advertised, this row is a hygiene fail)
Filters the internet manager uses every time
- Open only (exclude Sold and properly dispositioned Lost)
- One click: overdue + critical
- Slice: by owner
- Slice: by source
- Slice: Marketplace / social versus website versus third-party
If Marketplace inquiries live only in Messenger, they will never age in the CRM. That is a capture problem. Fix capture or the aging report will look healthy while response time dies in a phone.
Where to build it
Use the CRM's native aging if it respects your status definitions. If the native report ages from created date only, it is the wrong clock — export and build a simple table. A spreadsheet that is right beats a dashboard that is wrong. Rebuild it from the same export steps each Monday so nobody "adjusts" rows.
The Monday Meeting That Makes the Report Matter
A report nobody acts on is decoration. Run the same agenda weekly. Same time. Same people: internet manager, used-car manager, optionally the GM for ten minutes at the end.
Agenda (thirty to forty minutes)
- Critical first. Past appointments still in Appointment set. Sold units still generating leads. Do-not-contact still in New.
- Overdue New and Attempted by owner. Reassign anything the owner cannot attempt before lunch. Overflow is a rule, not a favor.
- Contacted with blank next-step dates. Each row gets a date, an appointment, or a Lost code before the meeting ends — or it is assigned to the manager.
- Source pockets. If one source dominates overdue, inspect intake at that door (form, Marketplace capture, third-party dump at 7 a.m.).
- Counts, not speeches. Number of overdue rows this week versus last week in this store. No invented benchmarks.
Actions allowed in the meeting
- Reassign owner
- Set a next-step date
- Force a disposition (with a real code)
- Merge an obvious duplicate that is aging twice
- Kill a live listing that should be sold
Actions not allowed: "we'll try harder," adding a new status, arguing a pay dispute. Pay disputes get a separate rule set.
After the meeting
Send a three-line recap: overdue count, critical count, named reassignments. Put it where the GM already looks. If the recap takes a page, you are narrating instead of managing.
Midweek pulse
Wednesday, overdue + critical only, fifteen minutes, internet manager solo or with one desk lead. Monday without Wednesday is how overdue becomes archaeology.
Pitfalls That Make Aging Reports Lie
Status theater
Reps bounce New to Contacted without a two-way conversation to reset Clock A. Prevent this with status entry rules and a sample audit of last-activity type versus status.
Duplicate records
The same buyer ages in two rows, one on time, one critical. Merge using your duplicate rules before you coach the owner.
Shared logins
If three people use one CRM name, aging by owner is meaningless. Shared logins also wreck posting accountability. Fix logins.
Excluding the ugly sources
Leaving Marketplace out because it is "messy" guarantees the report looks clean. Include it or admit you are not managing that channel.
Using aging to punish volume
If the only outcome of overdue is public embarrassment, reps will hide leads. The outcome must be help: reassign, cover, or close. Punishment is for repeated process violations after help, not for a busy Saturday.
How PostToMarket Automates This
An aging report in the CRM cannot see a Marketplace thread that never became a record, or a listing that is still live after the unit sold. PostToMarket does not replace the CRM report. It closes the holes that make aging look better than the floor.
Capture and visibility
- Leads inbox so managers can see unanswered conversations and compare them to CRM New/Attempted aging.
- A daily inbox habit pairs with the Monday report; see the leads inbox workflow for the open/midday/close rhythm.
- Posting analytics by rep and source so source slices on the aging report have a posting-side twin.
Inventory flags the CRM forgets
- Vehicle statuses (draft, posting, posted, sold, failed) and mark as sold / archive so "open listing?" on the aging report can be answered without walking the lot.
- Import history with row-level errors so junk rows never become aged New leads on incomplete ads.
Ownership that matches the Owner column
- Per-rep queues, manager assignment, and team queue view to release stale claims — listing-side aging you can actually clear.
- Mobile dashboard so a rep can reorder work between customers instead of letting Due today become Overdue while they are on the lot.
- Chrome extension one vehicle at a time with human-like delays, reducing burst posting that dumps twenty New leads into one hour and guarantees a fake aging crisis.
PostToMarket is independent and not affiliated with Meta. It will not guarantee that every aged lead becomes a show. It makes overdue work visible on both the listing and the inquiry.
Put an Aging Report in Front of the Internet Desk This Monday
Building a lead aging report for internet managers is a clocks problem, a buckets problem, and a meeting problem. Time in status plus age since created, four buckets, overdue first, reassign before lunch. If your only view is "newest first," the oldest internet leads will keep dying in the dark while the desk congratulates itself on yesterday's form fills.
PostToMarket supports that cadence with a leads inbox, sold-unit archive, named queues, and analytics by rep and source. Unlimited vehicles on every plan. Starter is $59 per month for a one-login independent lot. Dealership is $299 per month for up to 13 logins.
Start your 10-day free trial with secure Stripe checkout. Import inventory, install the extension, and stop discovering twelve-day-old New leads because they finally scrolled back into view. Cancel anytime.