26

What is the difference between Primary Key Contact ID, Contact Key, Subscriber Key and Subscriber ID?

For example:

  • Subscriber ID - ?
  • Subscriber Key - uniquely identifies a subscriber - per channel?
  • Contact ID - unique per 'person' different per channel?
  • Contact Key - user defined - per 'person'? eg salesforce Record ID?
  • Primary Key - Used in Data Extension as was to identify unique records?

I need to be clear on these so I can absolutely transfer this information. I have read the help material but I think I need it with an example as I still don't quite get it.

4
  • Okay thank you for the reply, so if I can play back in two parts:PART 1 John exists in SF as a person account with the ID 123XYZ , this ID is then used as the contact key in Data Designer. So the Contact Key for John will be 123XYZ? As John is new and has not been added before he will also get a MC system generated Contact ID of say 456ABC. This then links together in Contact Builder all of the information that relates to John using the above ID's...?
    – user48743
    Sep 21, 2017 at 15:28
  • PART 2: John then meets the criteria of 2 email and 1 text message Journeys. John is entered into the email Journey 1 with email [email protected] this generates a subscriber Key of 123XYZ as the SF ID has been set as my Subscriber Key. John is then entered into the Text journey with the same email and a tel of 12345 678 678. This then attaches his text interaction using the same Subscriber Key? John is sent Email 2 and the same subscriber Key is used? When a subscriber Key is created so is a Subscriber ID lets say 999ZZZ?
    – user48743
    Sep 21, 2017 at 15:29
  • updated my answer
    – 0xsegfault
    Sep 21, 2017 at 15:59
  • Thank you Data_Kid - and for your patience with me on this one! I get it now :)
    – user48743
    Sep 22, 2017 at 8:42

1 Answer 1

45

Subscriber Key: An Email Studio attribute that is used as a unique identifier for contacts records. Has a one to one relationship with subcribers and is immutable (cannot be changed once set). This is a user defined property

Subscriber ID: Similar to Subscriber Key, it is a used in the backend and is not visible unless through queries or APIs. This is set by the system

Contact Key : A Contact Builder attribute that is used as a unique identifier for the contact model, and other models (Journey Builder) except Email Studio. **This is a user defined **.

Contact ID: Analogous to Subscriber ID

So it is possible to have a different contact key and subscriber key as they are unique identifiers for different modules.

I would see subscribers as contact details of in email studio, and "person" as contacts.

Therefore Subscriber IS A MEMBER OF Person.

Primary Key: Used within data extension as a unique identifier WITHIN THE DATA EXTENSION. Data extension as used to store data within marketing cloud (regardless of which application), and enforce Relationship Database rules, like any traditional SQL based database.

Example Scenario:

You have a new contact (John) added to your SFMC instance. You want to communicate with John through a lifecycle campaign that includes email with journey builder.

To do this , John will have to be added to Contact Builder. When you add him as a contact , you set the "Contact Key". As the same time the system generates a "Contact ID" for him. Now the system can view him as a contact through the data model, and through this contact key relate him to other applications / attributes within Marketing cloud. But we are unable to send him email as he doesnt exist as an email studio "subscriber". To this this, he has to be added to email studio. When this happens , we set a " Subscriber Key" and the system generates a "Subscriber ID".

Now the system recognises John as a contact (Contact Key) , and an email subscriber (Subscriber Key)

Hope this makes sense.

Answers to Questions in Comment

  • Question::PART 1 John exists in SF as a person account with the ID 123XYZ , this ID is then used as the contact key in Data Designer. So the Contact Key for John will be 123XYZ? As John is new and has not been added before he will also get a MC system generated Contact ID of say 456ABC. This then links together in Contact Builder all of the information that relates to John using the above ID's
  • Answer Spot on . This is correct

  • Question John then meets the criteria of 2 email and 1 text message Journeys. John is entered into the email Journey 1 with email [email protected] this generates a subscriber Key of 123XYZ as the SF ID has been set as my Subscriber Key. John is then entered into the Text journey with the same email and a tel of 12345 678 678. This then attaches his text interaction using the same Subscriber Key? John is sent Email 2 and the same subscriber Key is used? When a subscriber Key is created so is a Subscriber ID lets say 999ZZZ

  • Answer: Partially correct. The Subscriber Key is a user defined attribute (i.e You create the value). It is best practice to use the same values as the Contact Key. With issue of text, Mobile Connect works slightly different. It will use the Subscriber ID for the back end to send these message. You have to import you mobile demographics and set long/ short codes for your message. But yes, using a combination of Subscriber Keys, subscriber ID and Contact Key, all the above interactions are mapped to John.]

Update:

Except from the official docs:

Understand the Differences Between Contact ID and Subscriber ID versus Contact Key and Subscriber Key These system fields do not serve the same purpose in a Marketing Cloud account. Most customers use a primary identifier for their customers, in which case they link their identifier to Marketing Cloud using the Marketing Cloud Contact Key or Subscriber Key values.

The Contact ID and Subscriber ID fields act are surrogate keys used by internal Marketing Cloud systems. You can see these fields in tracking extracts and system data views in Query Activities. However, don't use these values for Marketing Cloud activities to avoid performance issues.

Resources

2
  • 5
    Love the John resource :-D
    – Bidstrup
    Sep 25, 2018 at 19:14
  • Hi Samuel,great explanation. just wanted to know about subscriber ID. Does it gets assigned to a subscriber when we import a subscriber or it only gets tagged when the subscriber is emailed? I have queried subscriber ID for few subscribers but query is running fine without generating any output in the resulting DE Feb 20, 2020 at 9:20

You must log in to answer this question.

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