Our contact count in SFMC is being reported at twice the number of actual contacts we are syncing over two sendable synchronized data extensions (contact and lead). I've checked everywhere I can (including the numerous threads here) to try and identify where the extra contacts are coming from, but haven't found anything.

Here's where I'm at (numbers simplified for illustrative purposes)

Total contacts between our two sendable synchronized data extensions:

Total contacts in 'All Subscribers':

Total contacts in populations:
< 50,000

Total contacts with a subscriber type !='ExactTarget':
< 8,000

Total contacts listed in contact builder > all contacts:

I cannot figure out why our total contacts are so high.

Some assumptions I am making are that our non-sendable synchronized data extensions aren't counted as contacts, contacts and subscribers are not counted twice and duplicate contact IDs are only counted once (if we spin up a new data extension from a query, for example.)

Does anyone have any ideas of where else I can look for these extra contacts? What am I missing? SFMC is not providing us any help.


  • Do you have a mobile application and are you using the Mobile Push SDKs?
    – Bill Mote
    May 17, 2022 at 21:51
  • I don't believe we are using this functionality. We set up Mobile Connect a few years ago but never implemented it.
    – Jamie222
    May 17, 2022 at 22:21
  • Have you ever set up MC Connect to another CRM instance (like way back during platform implementation)? They could be legacy Contacts/Leads/Users from a legacy synchronised data source. May 18, 2022 at 6:35
  • Do you have some sort of filter set up on what records are synchronized from the Lead, Contact and User objects in Salesforce? May 18, 2022 at 8:55
  • After some digging, it looks like they are contacts without channels. I'm trying to figure out how so many are being created. Perhaps it has something to do with converted leads?
    – Jamie222
    May 18, 2022 at 15:52

1 Answer 1


Contacts are created in a variety of ways. One of them is Synchronization of User / Lead / Contact through MC Connect.

Other ways exist and it's impossible from the outside to determine the root cause. What can be generalized is how you can try to find patterns in your Contact Keys / work with the actual data to narrow this down.

  • Pull up Mobile Studio.
  • Create a filtered list with filter on System Data > Contacts > create a filtered list
  • Set as filter: ContactKey Is Not empty.
  • save this as a list called, e.g. "allContactsCopy".

This list is compatible with SQL which gives you the best tool to check what's actually in your data.

That approach is documented here: https://help.salesforce.com/s/articleView?id=000313920&type=1

Use sql to dig into your Contacts:

  • These are all contacts that are coming from SF Contacts (synchronized / through journeys or through sends to SF campaigns and reports):
FROM allContactsCopy
WHERE subscriberKey LIKE '003%' 

Edit: of course this does not say that these contacts are really still in your connected SF Org! The SFMC system could have been connected to another org or a sandbox in the past. So compare them to the Contacts you actually have in SF.

  • these are all contacts that are coming from SF Leads (same as above):
FROM allContactsCopy
WHERE subscriberKey LIKE '00Q%' 
  • these are all contacts whose subscriberKey is an Email address (e.g. someone imported a list from somewhere and sent to these addresses using email as subscriberkey; someone set up an external triggered send / transactional interface and used email as contactKey)
FROM allContactsCopy
WHERE subscriberKey LIKE '%@%' 

... and so forth, you get the idea.

  • if you use mobilePush or SMS, that's another potential source; see if you can determine Contacts where keys look like mobile numbers

  • Also, run a query that returns everything BUT the above, then you get the less-obvious "residue".

Of course you can do more than just look at the patterns behind the IDs but focus more on "where do they come from" - E.g.:

  • Run the export to get "contacts without channel address", reimport them somewhere - compare the extract with your "allContactsCopy".


  • compare your list against the _subscribers Data view.

  • verify your sendable DEs and check what send relationship is set - What's in this field becomes the Contact Id at time of send (unless it's already a contact)

  • check your journeys that are called from SF / external sources via API;

  • check triggered sends

this should give you a much better level of granularity than just looking at numbers.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .