
It's October 2026 as I'm writing this, and if you're in RevOps, you can probably relate to the constant anxiety I feel as a head of revenue operations. There are three somewhat opposing and equally urgent forces: the need to learn everything LLM and AI, the fear of slowing down our go-to-market team and losing a first- or near-first-adopter advantage, and the fear of a significant data breach by letting people with zero sense of data governance (or how to properly segment data to avoid overlap in outreach across teams) run wild with whatever new LLM thing they decided to try today.
All three of those forces eventually land in the same place: data. So naturally, everyone decides the answer is a massive data management project. Clean it all up, then let the robots in.
I want to push back on where most teams start.
Contact and company data is very important. Bad data slows down outreach, leads to routing issues, and messes up your go-to-market teams in ways you haven't dreamed up yet. I'm not going to pretend otherwise.
But it shouldn't be the most important thing to get right. Here's the order I work in:
All of this data management gets a lot easier if you have a data warehouse or data lake with an LLM layered on top via MCP, a CLI, or a bespoke solution. It's even easier if that solution has a constantly refreshed data dictionary, including key definitions for the KPIs and other metrics your business runs on.
Why does the dictionary matter so much? Because an LLM without your definitions will happily make up its own. Ask it for pipeline coverage and it will pick a definition; there's no guarantee it's the one your CFO uses. (If you're still debating whether to connect your CRM to an LLM at all, here's my take on why "not yet" only works when you're actively fixing the foundation.)
That layer comes up again and again below, because it changes the math on almost every problem I see RevOps teams struggling with. Here are the five most common.
So you've inherited an old CRM. Which means you have executives asking you, "Wouldn't it be easier if we just moved to a new CRM?"
No. It wouldn't be. And here's my dissertation on why it's rarely the best decision.
However, it is important to understand what led to the mess you're in today. Typically, it's a combination of the following (and sometimes a thunderstorm that includes all of them #beentheredonethat):
The fix for each of these is surprisingly similar. Here's how I recommend approaching a messy company database:
Build or buy used to come up from time to time across technical solutions in RevOps. Now it's the day-to-day debate.
There are a lot of data providers out there, and many of them are white-labeling another vendor's data (or multiple vendors' data). Some of it is genuinely useful, and some of it is publicly available and easy to code around. This matters even more if you run a waterfall. If two of your providers resell the same underlying source, the second one isn't adding coverage; it's adding cost. Track fill rates by provider and by field so you know who's actually earning their spot.
For example, if you want to know every property in the US that falls under a certain segment, you may be able to find it in US census data. In general, I avoid purchasing publicly available data like address, phone, and website whenever I can.
Where I more seriously entertain buying data from a vendor is when it's very specific or niche. Some examples:
One caveat on that hospital example: check what's public before you pay. CMS publishes a free, quarterly-updated file covering every Medicare-approved provider, and hospital bed counts have been published from Medicare cost report data. Specialties and affiliations are where paid sources still earn their keep.
Another huge caveat. If you have bulk outreach tools for your sales team (Outreach, Salesloft, Apollo, lemlist) they are also data providers. Which means even though I say you don't need to purchase a basic data provider, you already have at least one.
When you have a lot of different ICP profiles, you may need a generic program that's constantly scraping the internet for publicly sourced data, plus a few bespoke vendor sources to supplement details specific to a particular industry or segment.
Most CRMs have some basic contact association logic running in the background. But when I say basic, I mean REAL basic. HubSpot's domain routing is like a game of Russian roulette when you're dealing with a population that reuses its domain across many properties, like Marriott. HubSpot's own documentation confirms that when multiple companies share a domain, contacts with that domain are automatically associated with only one of them.
The answer is to turn off domain routing and use custom-code workflows (and, at times, smart properties) that layer in fuzzy matching and exact matching on additional properties like city, state, and company name. Build tiebreaker logic for the cases where a contact matches more than one account, and decide in advance which account wins. However, for any of this to work well, you have to be very confident your known population of target accounts is already in your CRM.
Refer to the prior sections on how to collect all of that information. 🤓
If your reaction to this section has been, "It's OK. We use leads in Salesforce or Dynamics, and the reps can figure out the routing," just stop and read this article.
It's always been goofy to me that we think of a lead as marketing working up to qualification and a contact as the seller's domain, when B2B buyer journeys are anything but linear. Gartner has been saying this since at least 2019: buyers execute and re-execute buying steps in parallel while sellers track deals in tidy, linear stages. If your business is doing the go-to-market thing well, all of your departments should be interacting with people at any given time.
For example, if someone says they're not interested, a rep closes out the opportunity, and three months later that person wants a demo, don't you dare create a new lead. Update the existing contact record and make sure it's re-routed to sales so they know they need to reach out today.
If you're in a B2B business, use lead-to-account matching logic and automatic conversion to eliminate 99% of your lead records. Only use the lead object when someone truly sneaks in with a mysterious set of traits that can't be matched to your known universe of companies.
With how much all of us are leveraging LLMs day to day, there's no excuse not to figure out how to avoid the lead object.
Now I open the floor for the age-old debate: Do we delete, keep, overwrite, or preserve stale data?
This isn't an edge case. The most commonly repeated benchmark puts B2B contact data decay at roughly 22.5% per year, and some estimates run considerably higher.
Should a contact be updated with their new email address and linked to their new account?
No. But you should link the old record to the new record you create for that person at their new company. Here's why.
The person may be a past customer or already familiar with your product. That's super important to know, which is why I say link the records and call it out on the record in a way no one can miss. But odds are super high that the circumstances they find themselves in at the new company are very different from their last one: a different dynamic with their boss, a different technology stack, and so on.
Keep notes specific to the old account on the old account. Start mostly fresh with a new record so the two environments don't confuse your AI summaries. In practice, that means a lookup from the new contact to the old one, a former-employee status on the old record, and suppressing the old email address from sends.
Should a company be overwritten with fresh data if it's purchased by new management or turned into a completely different business?
No, and the reasoning is almost identical to when someone leaves a job for a new company. Context matters, and it shifts when ownership changes. It changes dramatically when the new business at that location is in a different vertical. Overwriting an out-of-business account with the new location's data is just going to confuse your reps and your LLM. Mark the old account as inactive, create a new one, and link the two.
When should you delete old data?
I rarely recommend deleting data, but there have been exceptions. When a business has completely changed the product they sell and their ICP, old accounts outside of the new ICP with no activity logged, no deals associated, and no other notes were purged without any negative ramifications.
Your business should come up with rules that make sense for your company, but I do recommend keeping out-of-business companies or left-the-company contacts where there are marketing interactions and deals associated with the record. The sequence of events can still offer insights when looking for patterns across lost and won historical accounts.
Anything in life is easier when it's broken into bite-sized pieces rather than trying to eat the whole plate at once.
Start by understanding what's critical for your marketing and sales teams to function:
When it comes to normalization, that warehouse or lake with an LLM layer is going to come in extremely handy. It's great at taking a long list of unnormalized values and recommending a short list. It will even give you the logic necessary to get there.
Once you've settled on the short list, establish workflows that push normalized data to dedicated normalized picklists (including state and country picklists, if your CRM supports them). Then it’s up to you whether to restrict or write back to the input fields once normalized. More fields means more potential for confusion when creating reports, otherwise the risk is low.
Remember that ruthless prioritization is always the key to surviving in RevOps. Data management is the perfect example: the work never ends, so the order you tackle it in matters more than how much of it you get done.
If you take one thing away from this article, make it this: fix measurement and customer visibility before you fix prospect contacts and companies. A clean database doesn't do you much good if no one can tell whether marketing is working or whether sales will hit its number.
Stay aligned with your main business priorities, and if you're ever uncertain about where to start, talk it through with people in the community.
Oh, and don't forget that all of us are freaking out about how far behind we are when it comes to LLMs and AI. It's normal. And you're never as far behind as you think you are.