The situation
The portal had been in use for years, across several sibling brands, with no one owning the shape of it. Everyone who ever needed a field had made one. Nobody had ever removed one.
The result wasn’t chaos, exactly. Every individual decision had been sensible. It was just that nobody could answer a question about the pipeline without opening three tabs and making a judgement call.
What the audit found
1. 722 properties. 203 of them empty.
Every property on every object was inventoried: fill rate, who created it, what still referenced it, and a recommendation.
332 contact properties — 107 at zero per cent fill. 206 deal properties — 41 at zero, meaning one in five deal fields had never been used. 184 company properties — 55 at zero.
Ninety-seven were marked for deletion outright. The rest sorted into keep, review, or native fields that were never the problem. The point of the inventory isn’t the deletions. It’s that afterwards someone can say what each field is for.
2. The duplicates, in three flavours
Thirty companies sharing a domain. Ninety-five fuzzy name matches — the same company spelled differently by different people over two years. Ten records with no name and no contacts at all.
Domains had been typed into the company-name field, so records that were obviously the same company didn’t match on anything. Moving the domains to the domain field first made the duplicates visible, then enrichment could run against something real. Order of operations, not effort.
3. A lifecycle that means something
A stage model from qualified through customer, with written criteria for each transition and triggers that fire automatically instead of waiting for someone to remember.
The interesting one: a stalled stage as a calculated property at sixty days, moving automatically to closed-lost at eighty-one. Before that, a stalled deal looked exactly like a live one, and the forecast was the sum of both.
4. Forms, and where leads actually go
Every form across every brand and both native and non-native handlers, mapped to the workflow it triggers and the routing behind it.
Not glamorous. But a lead can only fall through a handoff that nobody has written down, and until this existed nobody could say which forms fed which pipeline.
Where it landed
Duplicate check at the close of the audit: no email duplicates remaining, twenty-two name groups merged. Name formatting ninety-six per cent clean, with a couple of hundred residual records flagged rather than quietly ignored.
A mandatory import template, so the next manual import doesn’t start the cycle again. That’s the part most cleanups skip, which is why most cleanups are annual.
The uncomfortable part
An audit that ends in a document changes nothing. This one ended in deletions, deployed workflows, a calculated field doing the work, and a template that makes the old behaviour harder than the new one.
The measure of a cleanup is not how clean it is on the last day. It’s whether it can get dirty again the same way.