Saxestory
ACME DIAGNOSTICSAnonymized sample · Baseline audit

CRM Baseline & Cleanup Report

Prepared by Saxestory · Baseline 10 August, delivered 21 August

This is an anonymized sample of a real Saxestory engagement. The client, the people, the companies and the figures have all been replaced. The structure, the method and the reasoning are exactly as delivered. In the client version every number links to the segment it came from, so the client can open the list and count the records themselves.

Contents

1Baseline auditWhat we received
2What we didThe work carried out
3What we deliverValidation results and the segments now live
4Findings and commentsWhat the measurement showed
5ActionsSplit by who decides
6AnnexThe records to work from

1. Baseline audit

The database as received, measured 10 August
MeasureCount
Contacts9,240
Companies6,010
Marketing contacts, against a plan limit of 5,0002,840
Contacts with no email address1,344
Contacts never emailed7,280
Contacts with no company attached138
Contacts under two departed colleagues64
Contacts with a recorded website visit0
Addresses with a known deliverability status0
Rule-based suppression segments in place0

Built over several years from five untracked import sources, and never measured. Nothing was known about whether any address worked.

2. What we did

10 to 21 August
  1. Measured the database in full: volume, bounce rates, ownership, duplicates, orphaned records and import sources.
  2. Ran syntax, DNS, MX and SMTP validation against all 7,896 addresses in a single pass.
  3. Queried the public mail records of every domain validation could not resolve. This was added beyond the agreed scope and found 29 further contacts on domains that cannot receive mail at all.
  4. Ran eleven public DNS checks on the sending domain to establish whether receiving servers trust its mail.
  5. Built eight rule-based suppression segments that keep working on contacts added later.
  6. Built working segments for duplicates, orphaned records and departed owners, record by record.
  7. Switched 156 contacts to non-marketing.

Nothing was deleted and no history was touched.

3. What we deliver

Every segment live in the CRM
Validation result, all 7,896 addresses
OutcomeContactsMarketingMeaning
Valid2,214845Mailbox confirmed. Safe to send.
Catch-all1,352512Domain accepts everything, mailbox unconfirmed
No response4,0471,331Mail server refused to answer
Invalid283108Mailbox confirmed not to exist
Suppression segments, to apply as exclusion lists on every send
SegmentRecordsMarketingUse
Invalid email283108Exclude always
Domain cannot receive mail294Exclude always
Unsubscribed2724Exclude always
No email address1,37744Cannot be sent to
Unverified5,3671,758Judgement, see finding b
Free or personal email1627Judgement by campaign
Inactive 12+ months1,846598Judgement by campaign
Orphaned, no company13874Judgement by campaign

Categories overlap, so the column does not total. All eight are rule-based and keep working on contacts added later.

From nothing measured to something managed
Measure10 Aug21 AugWhat moved it
Contacts9,2409,31878 added during the engagement
Companies6,0106,032Added alongside them
Marketing contacts, limit 5,0002,8402,840180 suppressed, drops to 2,660 at the next update
Contacts with no email address1,3441,37730 arrived without one, and 3 existing addresses were deleted
Contacts never emailed7,2807,358The new records, none of them emailed
Contacts with no company attached138138Triaged into three segments, 74 linkable now
Contacts under two departed colleagues6464Split 39 and 25, awaiting reassignment
Addresses with a known deliverability status07,896Validation, on every contact record
Confirmed deliverable02,214Safe to send
Confirmed undeliverable0312Invalid and dead domain
Held for review, unresolvable by tool05,367Unverified
Duplicate records identified0126Annex D
Rule-based suppression segments08Applied as exclusion lists on every send

The database now carries a deliverability status on every contact, eight segments that keep themselves current, and a live count against the 5,000 limit. Marketing contacts move to 2,660 at the next update date.

4. Findings and comments

a. Outbound fails on list quality, not messaging.

Every large send opens between 7.12% and 8.94%. One curated send of 52 people returned 33.87% from the same domain and the same sender. The content works when the list does. Every hard bounce carries a reason, and 512 of 546, 93.8%, are unknown user: the mailbox does not exist.

b. Two thirds of the database cannot be verified, and that is a fact about the market.

5,367 addresses sit behind corporate mail gateways that refuse verification as policy. One top-five device manufacturer returns no response for 204 of its 221 contacts and no invalid results at all. A large biotech's server, by contrast, answers the same check and returns 24 invalid. A domain producing no invalid results is a gateway declining to answer, not decayed data.

Four more of the sector's largest names behave the same way. Thirty-one domains do, covering 902 contacts. No further spend on validation tools changes this.

c. The unresolved addresses hold the customer base, so they cannot be cleared out.

336 of the 487 contacts carrying a deal sit inside them. Suppressing on an unanswered check would remove the people the client has already sold to. See the split in annex A.

d. DMARC enforcement is set to none.

Eight of eleven domain checks pass. SPF is correct and both DKIM keys are published.

The policy reads "none", so a message failing authentication is reported to the client and delivered to the recipient anyway. Anyone can send mail claiming to be from the domain.

e. The CRM tracking code is not running on the website.

No contact in the database has a recorded website visit. The site runs six separate analytics tools and none of them is connected to the CRM. Attribution is impossible until the tracking code is installed.

f. A segment by contact owner carries 80% of the plan.

2,272 of the 2,840 marketing contacts sit with a single owner. Any decision about the plan is a decision about that segment. See ownership in annex C.

g. The intake still produces the problem.

78 contacts have been added since validation ran, 26 of them with no email address, against a database average of 14.8%. A cleanup delivered today decays from tomorrow.

5. Actions

Every segment opens in the CRM
Done
Contacts that cannot receive email, set to non-marketing156
Unsubscribed contacts, set to non-marketing24
The client decides
ActionRecordsWhat it needs
Duplicate contacts, merge20Keep one record, merge the other in. Detail in annex D.
Name matches, one person or two32Only the client can tell which. Detail in annex D.
Duplicate companies, merge74Some are subsidiaries, not duplicates. Detail in annex D.
Flagged as duplicates but are not15Clear the inherited firmographics, do not merge.
Reassign: first departed owner39Name who inherits the segment
Reassign: second departed owner25Name who inherits the segment
Orphans, company already exists74Set the Company property, no decision needed
Orphans, company must be created51Create the company, then link
Orphans, nothing to match on13Leave as is
Misspelled supplier domain21Correct the domain, they return to reach
Move DMARC from "none" to enforcement1Read the aggregate reports first, then tighten
Install the CRM tracking code1Prerequisite for any attribution
Next piece of work
ActionRecordsWhat it needs
Resolve the addresses validation could not settle5,367A controlled send, designed so finding out does not damage the domain
Domains with no mail server, mail falls back to the web server26Include in the controlled send. These are live companies, so mail most likely arrives.
Make an email address mandatory before a contact can be saved126 of the 78 contacts added since validation have no address. A required field stops that at source.

Annex

The evidence behind each finding, and the records to work from
A. Where the contacts carrying a deal sit
Validation outcomeContacts with a dealShare
Unresolved by validation33669.0%
Valid address12826.3%
No email address163.3%
Invalid address71.4%
Total487100%
B. The invalid addresses, by what can be done
GroupRecordsAction
Address is right, the domain is misspelled5Correct the domain. These become deliverable again.
Mailbox failed the check, company domain still live198Review before suppressing. The domain still accepts mail, so these are likely people who changed role.
No working address at that domain anywhere in the database80Suppress, and treat the account as cold
Total283
C. Ownership, all 9,318 contacts
OwnerContactsShareMarketingOf their own segment
Owner A6,06265.1%2514.1%
Owner B2,29724.7%2,27298.9%
Owner C8459.1%28333.5%
Owner D (deactivated)390.4%2666.7%
Owner E250.3%00%
Owner F (deactivated)250.3%00%
Owner G90.1%00%
Owner H70.1%685.7%
Owner I50.1%00%
Owner J40.0%250.0%
Total9,318100%2,84030.5%
D. Duplicates, record by record

Group A is a straight merge. Group B needs the client to decide whether it is one person who moved or two people who share a name. Nothing has been merged or changed.

SegmentRecordsAction
Group A: same person, same company20Straight merge. The record to keep is marked in the CRM.
Group B: name matches across employers32One person who moved, or two people sharing a name.
Duplicate companies74Merge, except where the two are parent and subsidiary.
Flagged as duplicates but are not15Four records inherited another company's firmographics in a single import. Clear the inherited data, do not merge.

The CRM's own tool flags 71 candidate pairs, and a pair is two records. After review those became 126 records to act on. The record-by-record listing follows.

Contacts, group A: same person at the same company (10 pairs)

The record to keep is marked. Open it, use Actions and Merge, and select the other record. The CRM preserves activity and associations from both.

PersonCompanyKeep this recordWhy keep itMerge this one in
Contact A1Acme Pharmaa1@acme.example keephas the email addressno email merge in
Contact A2Contoso Labs@contoso.example keephas an associated deal@contoso.test merge in
Contact A3Fabrikam Medical@fabrikam.example keepdomain spelled correctly@fabrikan.example merge in
Contact A4Northwind Bioa4@northwind.example keephas an associated dealcontact.a4@ merge in
Contact A5Globex Diagnosticsa5@globex.example keephas logged activitya.five@ merge in
Contact A6Adatum Devicescontact.a6@ keepfull-name address, created firstca6@ merge in
Contact A7Litware Healtha7@litware.example keephas a deal, correct spellinga7@litwear.example merge in
Contact A8Proseware Surgicala8@proseware.example keephas activity, created firsta8@prosewear.example merge in
Contact A9Tailspin Labsa9@tailspin.example keephas the email addressno email merge in
Contact A10Woodgrove Healthrecord 1 decide firstneither has an email, activity, or dealrecord 2 decide first
Contacts, group B: same person, new employer (16 pairs, do not merge)

The CRM flagged these because the names match. Each one is either a single person who changed employer, or two different people who happen to share a name.

Nothing in the data separates the two cases, so none of these carry a recommendation. The client confirms which case applies, and the action follows from that. Do not merge either way: merging a job change destroys a real second relationship, and merging two people corrupts both records.

PersonRecord ARecord BAction once confirmed
Contact B1Acme PharmaAdatum DevicesOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B2Contoso LabsLitware HealthOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B3Fabrikam MedicalProseware SurgicalOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B4Northwind BioTailspin LabsOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B5Globex DiagnosticsWoodgrove HealthOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B6Adatum DevicesCoho DiagnosticsOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B7Litware HealthLucerne MedicalOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B8Proseware SurgicalTrey ResearchOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B9Tailspin LabsRelecloud BioOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B10Woodgrove HealthVanArsdel DevicesOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B11Coho DiagnosticsWingtip LabsOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B12Lucerne MedicalAcme PharmaOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B13Trey ResearchContoso LabsOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B14Relecloud BioFabrikam MedicalOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B15VanArsdel DevicesNorthwind BioOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Contact B16Wingtip LabsGlobex DiagnosticsOne person who moved: keep the current employer record, retire the older one. Two different people: reject the match in Manage Duplicates.
Companies to merge (35 groups, 74 records)

Keep the record marked, it carries the domain or the correct spelling. Open it, use Actions and Merge, and select the others.

CompanyRecords and actionWhy flagged
Acme Pharmarecord 1 keep   record 2 merge inIdentical name and domain
Contoso LabsContoso Labs keep   ContosoLabs merge inSpacing differs
Fabrikam MedicalFabrikam Medical keep   fabrikam medical merge inCapitalisation differs
Northwind Biorecord 1 keep   record 2 merge inIdentical name
Globex Diagnosticsrecord 1 keep   record 2 merge inIdentical name and domain
Adatum Devicesrecord 1 keep   record 2 merge inIdentical name and domain
Litware Healthrecord 1 keep   record 2 merge inIdentical name and domain
Proseware Surgicalrecord 1 keep   record 2 merge inIdentical name and domain
Tailspin Labstailspin.example keep   www. prefix merge inwww prefix and case differ
Woodgrove Healthrecord 1 keep   record 2 merge inIdentical name
Coho Diagnosticsrecord 1 keep   record 2 merge inIdentical name
Lucerne Medicalrecord 1 keep   record 2 merge inIdentical name
Trey ResearchTrey Research Inc. keep   Trey Research, inc. merge inPunctuation differs
Relecloud Biorecord 1 keep   record 2 merge inIdentical name
VanArsdel Devicesrecord 1 keep   record 2 merge inIdentical name
Wingtip Labsrecord 1 keep   record 2 merge inIdentical name
Blue Yonder HealthBlue Yonder keep   BLUE YONDER merge inCapitalisation differs
Alpine MedicalAlpine Medical Inc keep   Alpine Medical merge inShort and legal name
Margie DiagnosticsMargie Diagnostics keep   Margy Diagnostics merge inName misspelled
Wide World PharmaWide World Pharma keep   Wide Word Pharma merge inName misspelled
Example GroupExample Holdings Group keep   Example merge inShort and legal name
Sample BioSample Bio keep   Sample Bio Diagnostics merge inParent and division
Placeholder LabsPlaceholder Labs keep   Plaeholder Labs merge inName misspelled
Testco Pharmahas domain keep   no domain merge inOne record missing domain
Demo HealthDemo Health, has domain keep   DEMO HEALTH merge inCapitalisation differs
Acme Devicesacme-devices.example keep   www. prefix merge inwww prefix differs
Contoso OrthoContosoOrtho keep   Contoso Ortho merge inSpacing differs
Fabrikam BioFabrikam Bio keep   Fabricam Bio merge inName misspelled
Northwind DiagnosticsNorthwind Diagnostics, Inc. keep   Northwind Diagnostics merge inShort and legal name
Globex GroupGlobex keep   Globex Subsidiary (Globex) merge inParent and subsidiary
Adatum Labsrecord 1 keep   record 2 merge inIdentical name and domain
Litware Pharmahas domain keep   Litware Pharma merge in   LITWARE PHARMA merge inThree records
Proseware Biohas domain keep   record 2 merge in   record 3 merge inThree records
Tailspin Healthhas domain keep   record 2 merge in   record 3 merge inThree records
Woodgrove Labshas domain keep   record 2 merge in   record 3 merge inThree records
Companies flagged as duplicates that are not duplicates (7 groups)

Checking these individually found a single cause behind four of them, and it is not duplication.

Root cause: four records carry another company's domain

Four records were created on the same day in a single import and each one inherited the website, country, city, industry, revenue, and employee count of a completely different company. A pharmaceutical business carries a clothing retailer's domain and is filed under apparel.

A food producer carries a chemical group's data. Merging any of these would destroy a real company record. The correct fix is to clear the inherited domain and firmographic data on the newer record and enter the company's own.

Correct recordRecord with the wrong domainShared domainAction
Northwind RetailLitware Therapeutics fix domainnorthwind-retail.exampleCheck the record, then clear the inherited domain, industry, revenue, and employee count and enter Litware Therapeutics' own
Globex FoodsProseware Pharma fix domainglobex-foods.exampleCheck the record, then clear the inherited domain, industry, revenue, and employee count and enter Proseware's own
Adatum ChemicalsTailspin Bio fix domainadatum-chem.exampleCheck the record, then clear the inherited domain, industry, revenue, and employee count and enter Tailspin's own
Coho OpticalWoodgrove Vision fix domaincoho-optical.exampleCheck the record, then clear the inherited domain, industry, revenue, and employee count and enter Woodgrove Vision's own

In all four cases the older record holds every attached contact and the newer record holds none, which is consistent with the newer one being an empty shell created by the import.

Separate companies with similar names, verified externally
Record 1Record 2What they actually areAction
Acme Med, ItalyAcmeMed, GermanyOne makes medical refrigeration in Piedmont and has traded since the 1990s. The other makes surgical instruments in Baden-Wurttemberg. Different products, countries, and owners.reject in Manage Duplicates
Contoso Surgical, BelgiumContoso Robotics, FranceOne makes craniomaxillofacial implants and has traded around twenty years. The other is a surgical robotics start-up founded in 2023.reject in Manage Duplicates
Not a company
RecordsAttached contactsAction
Self-employed   Self-employed   Freelance deleteNone on any recordA job status entered into the company field. All three records are empty. Delete them.