- Published
- Byline
- GoHighLevel Partners Editorial
- Filed under
- GoHighLevel Automation
Not a big clean-up: a small set of rules applied at intake plus a short recurring pass, both cheap enough to survive a busy month.
Contact database hygiene an agency can actually sustain
Every CRM decays. Addresses stop working, people change jobs, the same person arrives three times through three forms, and a list that was accurate two years ago now describes a business that no longer exists. Nobody disagrees that this should be cleaned up. What makes it an agency problem specifically is that the cleaning is invisible work on someone else’s data, so it never wins against anything with a deadline — and by the time it is unavoidable, the cost has already been paid in bounced mail and a sales team that stopped trusting the list.
The version that works is not a big clean-up. It is a small set of rules applied at intake, plus a short recurring pass, both cheap enough that they survive a busy month.
What actually goes wrong, in order of cost
| Problem | What it costs | Where to fix it |
|---|---|---|
| Invalid addresses and numbers | Sending reputation, and it compounds | At intake, before the first send |
| Duplicates | Double messaging, split history, wrong reporting | At creation, by matching on a stable key |
| Inconsistent field values | Filters and automations stop matching | At entry, by constraining what can be typed |
| Stale records | Forecasts that describe the past | A recurring pass, not a clean-up |
| Missing consent evidence | Records you cannot legitimately use | At capture, and nowhere else |
The pattern is that almost everything is easiest at intake. A bad record takes seconds to prevent and a long time to find later, once it has been messaged, reported on and linked to other records.
Intake is where hygiene is decided
Three controls do most of the work. Verify that an address exists before treating it as reachable — double opt-in is the standard mechanism and it removes essentially all fabricated addresses along with the ones that were mistyped. Filter automated submissions before they become records, which is filtering automated submissions at intake. And constrain what can be entered: a dropdown of five options produces a filterable field, a free-text box produces five spellings of the same answer within a month.
Consent belongs here too, because it cannot be reconstructed afterwards. consent wording and records is the record of what someone agreed to and when, and a contact without it is a contact you cannot confidently use no matter how clean the rest of the row is.
Duplicates: match on something that does not change
Most duplicates are one person arriving through two routes — a form and an import, or two forms with different fields. Matching on email address catches most of them; matching on name catches the wrong ones, because two people share a name more often than two people share an address.
Decide in advance what happens when a match is found. Merging silently can overwrite a good value with a blank one from a shorter form, which is worse than the duplicate. Prefer a rule that fills empty fields and never replaces populated ones, and keeps both histories. Where a business rather than a person is the real entity, company records and their traps is the structure that stops three contacts at one firm from looking like three unrelated leads.
Staleness is a policy question, not a cleaning task
A record nobody has interacted with in two years is not automatically worthless — it depends entirely on the buying cycle. A business that sells annually should expect long gaps; one that sells weekly should not. Set the threshold from the cycle rather than from a round number of months.
Then decide what happens at the threshold, and make it automatic. Something like: attempt one re-engagement, and on no response move the record to a dormant state rather than deleting it. waking a dormant list without burning it is that attempt done carefully, and doing it carefully matters because a mass send to a long-untouched list is one of the fastest ways to damage SPF, DKIM and sending reputation. a stale opportunity trigger is the same idea applied to opportunities.
Segmentation only works on fields that are maintained
A filter is only as good as the field it reads. Source, status, owner and last-meaningful-interaction are the four that most automations depend on, and they are the four most often left blank. classifying leads by evidence is the useful framing: classify by something that happened rather than by an impression, and that requires the something to have been recorded.
Where a field is not being maintained, the honest move is to remove it. An unmaintained field is worse than a missing one because filters silently exclude records that should have matched, and nobody notices a campaign that reached fewer people than intended. routing and suppression depends on exactly these fields being trustworthy.
The recurring pass, kept small enough to happen
- Review bounces and mark hard failures immediately — this one is not optional and is the direct link to warming up a sending reputation.
- Check new duplicates created since the last pass.
- List records missing one of the four core fields and fill or retire them.
- Move anything past the staleness threshold into the dormant state.
- Spot-check twenty records against reality: do the businesses still exist, are the contacts still there.
- Note what created the worst records, and fix that intake rather than the records.
Point six is what turns cleaning into improvement. A monthly pass that fixes rows and never changes what produces them is a subscription to the same work forever.
Two agency-specific responsibilities
The data belongs to the client. Deletions are effectively irreversible, so agree the rules in writing before applying any of them, keep a record of what was changed and when — a log kept outside the platform is enough — and prefer archiving to deleting where the platform allows. A client who discovers a segment has vanished will not be reassured that it was stale.
And hygiene degrades at handovers. When someone leaves or an account changes hands, the conventions they held in their head go with them, which is why access and handover when someone leaves matters here and why writing the field definitions down is worth more than it looks. The same applies to creating an opportunity from a survey: rules about which submissions become records are hygiene decisions made upstream, and they are the ones that determine how much cleaning there is to do at all.
Frequently Asked Questions
Where is the best place to fix data quality?
At intake, almost without exception. A bad record takes seconds to prevent and a long time to find later, once it has been messaged, reported on and linked to other records. Verification, filtering and constrained field values do most of the work before anything reaches the database.
How should duplicates be matched?
On the email address, which is stable and rarely shared. Matching on name catches the wrong records, because two people share a name far more often than they share an address. Decide the merge rule in advance: fill empty fields, never replace populated ones, and keep both histories.
When is a contact record stale?
It depends on the buying cycle rather than on a round number of months. A business selling annually should expect long gaps; one selling weekly should not. Set the threshold from the cycle, then make what happens at that threshold automatic rather than a judgement call.
Should stale contacts be deleted?
Prefer a dormant state to deletion. Deletion is effectively irreversible, the data belongs to the client, and a segment that vanishes is a difficult conversation. Attempt one careful re-engagement first, and move non-responders out of active sending rather than out of existence.
Why do my filters miss records that should match?
Usually because the field they read is not maintained, so blanks and inconsistent spellings silently exclude records. An unmaintained field is worse than a missing one, because nobody notices a campaign that reached fewer people than intended. Remove fields nobody fills in.
How does list hygiene affect email deliverability?
Directly and cumulatively. Sending to addresses that no longer work generates hard bounces, and sending to a long-untouched list generates complaints. Both damage the reputation your genuine campaigns depend on, and repairing it takes far longer than protecting it did.
What should an agency agree with a client before cleaning their data?
The rules, in writing, before anything is applied — what counts as stale, what happens at that point, whether records are archived or deleted, and who approves an exception. Keep a log of what changed and when, because the questions arrive months later.
We build your GoHighLevel account for you
CRM, pipelines, funnels, SMS and automation — configured for your business, not left for you to figure out.
- Setup (one-time)$850
- Ongoing (per month)$38.80
No obligation quote · reply within 1 business day
This site is independently operated and is not officially affiliated with, endorsed by, or sponsored by HighLevel LLC. We do not receive referral commissions — this is our own flat-fee implementation service.