Situation: Our billable contact count is about double the count shown on each of the Account/Contact synchronized salesforce data sources.

Setup: We used Account_Salesforce to create a data extension using SQL, and therefore the Id (contact key?) of that data extension are account keys (001 prefix). A journey was then activated from this data extension. However the "All Contacts" now has one record for account (001 prefix) and one for contact (003 prefix) for the same person.


  1. Is this normal to have the Contact_Salesforce contact keys in "All Contact" list even if we only used Account_Salesforce contact keys to send emails?
  2. Should we instead be using Contact_Salesforce to create data extensions instead of Account_Salesforce? If so, why?

More Context: We might be using MobileConnect later. Does it require either Contact or Account?

2 Answers 2


Actually, the Account synchronization from MC connect doesn't produce the billable contacts but the synchronization of these "human" objects like Contact, Lead, User does.

It is the best practice to use SF contact ID format (003 prefix) over the Account ID (001) as the contact key in All contacts list.

So whenever you create a data extension source, you would want to pull this SF contact ID format as the subscriber key for the send.

Even if you are going to use journey to send SMS in the future, you should configure it with a proper subscriber key like a SF contact ID format (003)

Note: If your SF CRM has the Person Accounts feature enabled, then you would want to use the PersonContactId field (003) in the Account object as the subscriber key field since it identifies a person, while the Account ID (001) may refer to a Business Account.

Note: To understand the relationship between MC connect and Contact Count, I would recommend you read @Jonas answer that was shared HERE.

  • From my understanding I could have both Contact_Salesforce and Account_Salesforce synching and as long as I use 003 prefix keys for journeys, data extensions, etc, the Account_Salesforce records wouldn't count towards the billable count? I could also use Account_Salesforce in SQL queries to enhance data extensions as long as the primary key is PersonContactId and still only the counts from Contact_Salesforce would be billable (no duplicates for Account)? Commented Feb 2 at 16:26
  • @PatrickNomad Even you don't send anything, the synchronization itself produces the billable contacts on Contact, Lead, User object (but not on the Account synchronization) so records in Account_Salesforce doesn't count towards the billable count. Your 2nd question: Yes - since these contacts was synched from Contact_Salesforce at the first place
    – Duc Le
    Commented Feb 2 at 16:37
  • Also you did send to recipients using account ID (001) as you stated so you would want to perform the contact deletion on these contacts
    – Duc Le
    Commented Feb 2 at 16:41
  • Thanks for clarifying! I'm thinking of doing some sort of Tracking Extract and create a data extension using SQL joining open/view per subscriber mapping them to contact keys for future reference. Then updating the data extensions to use 003 instead of 001 and deleting all the 001 from "All Contacts" which should bring the counts back down to about half. I assume deleting from "All Contacts" would also delete them from data extensions used in activated journeys. Commented Feb 2 at 17:36

My thoughts Below.

  1. When Contacts, Leads and Users are synchronized from CRM, They are automatically added to AllContacts and counted against billable contact count.

  2. If you are injecting Accounts into a journey then you may not need Contacts to sync to MC. However my question here is how is the journey getting email address for an account record? Are you storing email on Account? If yes then you may not need to sync contacts so the count will be reduced.

You must log in to answer this question.

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