Free: the GTM BlueprintThe stack, by funding stageThe CRM data model, written downSeven steps, six handoffsRoles, and when to hire themA 90-day plan you can run on MondayThe three numbers that decide itNo PDF, no drip sequenceGet the blueprintFree: the GTM BlueprintThe stack, by funding stageThe CRM data model, written downSeven steps, six handoffsRoles, and when to hire themA 90-day plan you can run on MondayThe three numbers that decide itNo PDF, no drip sequenceGet the blueprint
RevOpsXL
GTM Diagnostic Book the audit
← Recent engagements
Engineering services Software engineering group · multi-brand Phase I · 3 months

The CRM nobody could report on

Seven hundred and twenty-two properties across three objects. Two hundred and three of them had never been filled in once. Several sibling brands ran through one portal, and no two of them meant the same thing by the word “lead.”

GTM audit Data governance Lifecycle design Deduplication Forms architecture

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.