DEV Community

Brittany Bonds
Brittany Bonds

Posted on

The mid-pipeline checklist I use so a lead tracker stays honest

The mid-pipeline checklist I use so a lead tracker stays honest

The same person emailed, DMed, and filled the form — three “leads.” Someone marked hot/warm/cold with no evidence. A row has a name and no next step. A guessed close date locked as fact. Three spellings of one contact. Owner fog. A “not a fit” that still looks live. A Slack promise with no source row. That is not mid-pipeline truth. Mid-pipeline is where channel duplicates inflate the count, stage theater replaces evidence, ghost leads clog the week, and a pretty tracker pretends the dump agreed with itself.

I am a freelancer admin helper. I turn messy inquiry dumps into a clean lead tracker sheet. I am not a CPA, bookkeeper, lawyer, tax advisor, sales coach, or CRM consultant — and this is not financial, tax, legal, sales, or CRM advice. It is the checklist I run mid-pipeline (and again before anyone treats the sheet as this week’s chase list) so the lead tracker stays honest while inquiries are still arriving.

(If you want the full messy inquiry dump → lead tracker workflow, see my earlier post. This one is the second-pass checklist so duplicate channels, stage folklore, ghost leads, guessed close dates, name-spelling triples, owner fog, superseded “not a fit” rows, and Slack promises without a source row do not quietly rewrite what you think is still live.)

What "honest" looks like mid-pipeline

  • Every real person is one row — email + DM + form for the same ask are merged, not counted as three leads
  • Identity is locked (canonical name/spelling + one primary contact) or labeled ask — not three near-duplicates competing
  • Source, ask, and next step are filled before stage gets trusted — hot/warm/cold without evidence is folklore
  • Ghost leads (name, no next action, no next-action date) are flagged or parked — not left in the working view
  • Guessed close dates and Slack-only promises sit as ask / incomplete until a source row exists
  • Superseded “not a fit,” won, or lost rows are archived — not still looking live beside this week’s chase list

If the only “pipeline” you have is a green stage column and a thread titled “follow up somehow,” mid-pipeline honesty has already slipped.

The mid-pipeline checklist (run it before / while you clean)

Use this against the dump (email folder, DM export, form CSV, CRM screenshot, Slack “promised a call,” sticky notes) before you paste everything into a pretty template and call the tracker current.

1. Inventory the inquiry dump

  • [ ] Every scrap is listed once: source, date seen, claim type (identity / contact / ask / stage / owner / next step / date / unknown), notes
  • [ ] Duplicate paste of the same person across email + DM + form is labeled duplicate — not counted as three leads
  • [ ] Partial dumps (“Sara somehow,” a Slack ping with no ask) are labeled incomplete — not invented into tidy rows
  • [ ] As-of window that matters is named (this quarter, open only, last 90 days) — older noise stays out or flagged
  • [ ] Anything clearly superseded, “not a fit,” won, or lost is labeled stay-off-open — do not resurrect as this mid-pipeline live lead

2. Lock identity, source, ask, and next step before you trust stage

  • [ ] Every row has a canonical name/spelling or is labeled ask — three near-matches are one person until proven otherwise
  • [ ] One primary contact method sits on the row or ask — handle fog is not a follow-up plan
  • [ ] Source is named (form / DM / email / referral / event / other) or ask — “somehow” is not a channel
  • [ ] Ask is one plain line or ask — blank cells that look qualified are worse than an honest gap
  • [ ] Next action + next-action date exist or the row is ghost / parked — vibes are not a chase list
  • [ ] Skim test: you can answer “who asked, from where, for what, what’s next?” without reopening Gmail and DMs

3. Kill duplicate / ghost / stage-theater inflation

  • [ ] Status vocabulary is a short fixed set (new / contacted / qualified / proposal / won / lost / nurture) — not blank cells that look hot
  • [ ] Hot / warm / cold (or similar folklore) maps to evidence or stays ask — stage theater does not inflate urgency
  • [ ] Same person under three spellings is merged under one canonical row — not chased three times
  • [ ] Owner is a named person or ask — “the team” / owner fog is not ownership
  • [ ] Slack promises without a source inquiry row are labeled incomplete — not promoted to live leads
  • [ ] Ghost leads (no next step) are flagged or parked — do not leave them greening the open list

4. Park open asks, guessed dates, and superseded rows in the open

  • [ ] Guessed close dates are either evidenced or labeled guess / ask — not locked as fact because the column looked empty
  • [ ] Open asks (missing contact, unclear ask, which spelling is canonical, who owns follow-up) sit in one list — not scattered across threads
  • [ ] Superseded “not a fit,” withdrawn, won, and lost rows are archived once so they do not still look live
  • [ ] Window cut (open-only vs all-time) is written once so later inquiries do not rewrite prior stages quietly
  • [ ] Anything still incomplete stays incomplete — do not greenwash a mid-pipeline dump into a closed chase list

Soft CTA

If you want the dump cleaned into a lead tracker for you: inquiry dump in, tracker out in 24 hours — $12 on Gumroad. Code ADMIN12 takes $2 off. Full catalog: shop · GitHub Pages.

Not financial, tax, legal, sales, or CRM advice. I organize the dump; you own the outreach and decisions.

Top comments (0)