Architecture
Contact Count Growth: Finding the Sources of Unnecessary Records
Auditing where contacts come from in Marketing Cloud, and which ones should never have been created in the first place.
- Contact model
- Data hygiene
- Cost
Contact count is one of the few numbers in Marketing Cloud that has a direct commercial consequence, and one of the few nobody owns. It grows the way a garage fills up: one reasonable decision at a time.
Where the records come from
- Sendable data extensions with a subscriber key that is not the one your contact model uses.
- Test and QA records created with real-looking keys.
- Integrations that upsert on email address when a person changes address.
- Journeys with contacts injected via API for a one-off campaign that ended two years ago.
- Imports run once, by someone who has since left.
Audit before you delete
Deleting contacts in Marketing Cloud is slow and partially irreversible, and the suppression consequences are real. Start by classifying, not removing: for every sendable data extension, record which key it uses, who owns it, and when it was last sent to.
SELECT
s.SubscriberKey,
MAX(s.EventDate) AS LastSent
FROM _Sent s
GROUP BY s.SubscriberKey
HAVING MAX(s.EventDate) < DATEADD(month, -18, GETDATE())The structural fix
One subscriber key definition, enforced at the point of entry, is worth more than any clean-up project. Every integration that can create a contact should be reviewed against that definition, and anything that cannot supply the key should be writing to a non-sendable staging extension instead.
Retention and deletion decisions are privacy decisions. Involve whoever owns that at your organisation before running anything destructive.