- Journey Builder
- Dealing with deleted / unsubscribed and never existent subscribers inside a journey. These kind of subscribers shall not receive emails from E-Mail Activities inside a journey.
- Leading CRM System adds subscribers into salesforce via file import activities into the contact / subscriber model of salesforce.
- It also daily overwrites a "master subscriber dataextension" that is linked to the data designer.
- SubscriberKey one to one relationship toward CRM uuid value.
- Main enterprise Business Unit used (no sub Business unit in place)
Problem and Solution with the environment:
- Added Subscribers that are no longer inside the "master subscriber dataextension" but still exist as subscriber.
- Solution to fix the problem with the environment via Automation, without touching functionality inside the CRM, i created a SSJS activity that removes subscribers that are no longer inside the main dataextension.
Testing manually before taking the productive deployment of the "environment solution"
- Journey Setting: Use email attribute from Contacts, "Email Address" "EmailAdress" from the standard functionality inside of salesforce.
- Journey activities: Send Email
Case 1: Non existent subscriber, not existent in master data table, was never in salesforce. Start a Journey with a dataextension where this particular non existent subscriberkey is inside.
Behaviour: Enters Journey, goes inside the email activity, does not send it.
Case 2: Search for a particular subscriber that was once in the main dataextension, but is not any longer. Delete the subscriber in salesforce manually. Contact deletion method inside the contact settings is set to 0 days. Start a Journey with a dataextension where this particular deleted subscriberkey is inside.
Behaviour: Subscriber goes inside the email activity, sends it.
Do you have an idea why these behaviours differ? My only "guess" is that subscribers that were once inside the subscribermodell still exist inside of it and that the deletion process is not fast enough.
Solutions that i dislike and would not like to use, because they need to be inserted multiple times (either per Activity or either per Journey):
- Decision split activity that checks if subscriberkey is inside the master data table in front of every email activity
- Exclusion script inside each email activity that checks if the subscriberkey is still in the main dataextension
- An Exit criteria per Journey that checks if a subscriberkey is inside the master data table
- Rewrite a "goal" into an exit criteria per Journey
How is the real behaviour from salesforce for these cases? Is there a different solution to those i outlined above?