I have a data extension that uses a case as the primary key. Therefore, an email address of a subscriber can appear on multiple records of unique cases.

In the SFMC documentation (https://help.salesforce.com/articleView?id=mc_jb_journey_settings.htm&type=5) regarding "contact entry", does contact mean a unique record in the data extension or does contact mean a unique subscriber?

Since a subscriber can have multiple cases, I want each case to be evaluated for entry into the journey. enter image description here

2 Answers 2


A contact is an abstract record in Marketing Cloud that should represent an individual, and is managed in Contact Builder. It sits above All Subscribers since it can manage journeys in multiple channels, but your Subscriber Key is associated with it by default. In order for your data extensions to be utilized in Journeys, their attributes need to be related to the Contact.

A contact is a single entity, but in your scenario, it can have multiple different cases at one time. This is what would be called a "One To Many" relationship. When linking your data extension in Contact Builder make sure to note that this data extension represents a one to many relationship. You'd want to link your Subscriber Key to your Contact Key.

From there, you might want to see if creating an entry event would be best suited for this purpose. Read more here: https://help.salesforce.com/articleView?id=mc_jb_entry_events.htm&type=5


A Contact is a unique 'contact' i.e. Subscriber entity in the system, so if you are using 'cases' as a primary key and as your Contact Key (Subscriber key) that assuming there will be cases where I, as a contact record in your journey, will become registered with various/differing Subscriber/Contact Keys?

This would not be a recommended practice as it will duplicate your Contact Records.

If you are are wanting the contact to appear as multiple records in the same Journey Entry, then you should combine primary keys of your data extension to make the records unique - but the SubscriberKey for your contact should really be fixed/unique to the contact, and shouldn't change - else it will become very costly and result in lots of duplicate records

  • Added an image as an example. Primary Key is a case_id but the subscriber relationship in the data extension is subscriberKey. Therefore, no duplication should be happening. What I want is a contact to get 3 unique emails from a journey builder workflow. Just not sure how re-entry criteria is really handled. Oct 3, 2018 at 15:47
  • 1
    As Case_ID is the primary key in the JourneyEntry data extension , then provided SubscriberKey relates to SubscriberKey in your Sendable DE you won't duplicate records. Under the Journey Builder settings - set it as 'Re-enter at any time'. The contacts (SubscriberKey) will flow into the data extension / journey - the contact is the subscriberkey, the record is the primary key (case). You will end up with multiple-emails being sent to the Contact and each email is assosciated to the same Contact. Any personalisation in the email for the contact's case entry reflect that individual record.
    – Gravitai
    Oct 3, 2018 at 16:06
  • If the journey is recurring at an hourly rate, and set to evaluate new records, will it recycle the records that have already been entered into the journey? i.e. will Case test1 generate an email each hour? T Oct 3, 2018 at 16:15
  • Just perform an overwrite on your Journey Entry, every hour you will then get new records to evaluate. I suspect an add/update would otherwise re-evaluate the full audience and trigger them through the journey again. Even if you Overwrite the JourneyEntry, it won't lose a contacts existing position in the journey. If you want to keep a copy of everyone passed through the journey, then copy (add/update) from the JourneyEntry to a 'backup' data extension (unused for Journey) and then overwrite your Journey Entry with your new audience
    – Gravitai
    Oct 3, 2018 at 16:23
  • Another viable option: Use Update contact activity to change a value like "entered_journey" and just have a Decision Split that will allow that contact back through the journey, but exit immediately? Oct 3, 2018 at 16:27

You must log in to answer this question.

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