I've created a journey using the Salesforce Campaign entry source. The entry source will enter records from 3 different SF campaigns.

There's a possibility there will be duplicate emails in each campaign, so I would like to exclude the duplicate from entering.

To do this, I thought I could make the Email Address the Primary Key, but the Primary Key boolean is greyed out in the Data Extension in Contact Builder.

Does anyone know of a solution to address this?

2 Answers 2


You aren't going to be able to change the primary key since that isn't (and shouldn't) be the unique identifier within Salesforce for a record.

If you want to prevent duplicate entries, and you are unable to use any other entry event type, you could run an automation to check the _sent data view for emailaddresses that have received a send from the journey. You could then use an exclusion script to exclude everyone in the target DE from that query, or you could update a column in the entry event DE to flag duplicate emailaddresses and then decision split those away from send activities.

There are a lot of different solutions you could implement here but, as far as I know, you aren't going to have much luck trying to alter the Salesforce Campaign entry event data.

Update (to include example):

Here's an example of how to do this:

Step 1: Create a data extension to house your results from the query.

Step 2: Create an automation to run a SQL query to run at an interval in order to append records to the DE from step 1. This should check the _sent data view to include emailaddresses that have received an email from the journey since you started it.

Step 3: Go to each email send activity in the journey and add this as an exclusion script: ROWCOUNT(LOOKUPROWS("Query_Target_DE", "EmailAddress", emailaddr)) > 0

That should suppress everyone from that activity that has already received one of the emails in that journey.

  • Thank you for your comment @jason . Do you know of any specific examples outlining how the automation and script are done? It sounds like quite a lengthy workaround. Why can't anything in MC be simple? ;) Commented May 21, 2019 at 15:30
  • 1
    I've updated my post to include an example. If this helps resolve your issue, please mark as answered. Best of luck! Commented May 21, 2019 at 19:27
  • Thanks for providing more detail @jason - I'll give that a go. Commented May 23, 2019 at 8:03

You can also evaluate using the Entry mode found in Journey Settingsto limit the number of times they are in a journey

Select Re-entry at any time if contacts can enter the journey multiple times before exiting. This setting admits a contact into the journey each time that contact meets filter criteria, if applicable. Once you select this option and activate the journey, you can change the option to Re-entry only after exiting after creating another version.

Select Re-entry only after exiting if a contact must exit the journey before re-entering it. This setting admits a contact into the journey when that contact meets filter criteria, if applicable. However, the system does not readmit that contact into the journey until after that contact exits the journey. Once a contact exits the journey, the contact can enter again after meeting filter criteria, if applicable. Once you select this option and activate the journey, you can change the setting to Re-entry at any time by creating another version.

  • 1
    Does this apply in this instance? He has one email address spread out over different contact keys. That should be recognized as different entrants, so this feature doesn't apply correct? Commented May 21, 2019 at 15:15
  • Correct re-entry setting is done by contactkey/subscriberkey. If its emailaddress you would need to evaluate the exclusion script idea the other poster recommended
    – EazyE
    Commented May 21, 2019 at 15:18
  • Thanks @eazyE - this would be the last resort option, but it doesn't quite solve my problem since Journey Entry is based on SubscriberID and we use the Salesforce Contact ID for that. This would mean there's the chance of different Contacts having the same email address. Commented May 21, 2019 at 15:25

You must log in to answer this question.

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