Skip to content
All writing

Architecture

Contact Count Growth: Finding the Sources of Unnecessary Records

1 min readMarketing Cloud Engagement

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.

sql
SELECT
  s.SubscriberKey,
  MAX(s.EventDate) AS LastSent
FROM _Sent s
GROUP BY s.SubscriberKey
HAVING MAX(s.EventDate) < DATEADD(month, -18, GETDATE())
Sample-only query to find keys with no recent send. Never treat the output as a delete list without a consent and legal review.

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.

Related writing