Sometimes you find yourself in a situation, where a single Contact Key needs to provide multiple email addresses. This could have multiple causes, like providing both a work-email as well as a personal email.
While you are able to store these emails in a data extension within Marketing Cloud, using both of them with same Contact/Subscriber is not as straightforward as you would think.
In order to understand the multi-email address scenario per Subscriber Key, it is vital to understand the logic behind email address in a sendable data extension vs. email address in All Subscribers list.
When a send to a data extension occurs, the following process occurs at sendtime, under normal circumstances:
- The data extension field related to the Subscriber Key value on the All Subscribers list is identified
- The value for each record in the data extension is looked up on the All Subscribers list as Subscriber Key
If the value does not exist, a new record is created:
- If there is no field with an Email Address datatype, nothing is added to the All Subscribers list, and subscribers who do not exist will not be sent to
- If there is a field with an Email Address data type, a new subscriber is created on the All Subscribers list
The related Subscriber Key field value is set as Subscriber Key on the All Subscribers list and the value in the field set as an Email Address datatype will be set as Email Address on the All Subscribers list
If the value does exist:
- The Email Address value on the All Subscribers list is sent to, regardless of the Email Address value present in the data extension
- The Email Address value on the All Subscriber list is not updated
You CAN ask Salesforce to change the settings on the platform, to change this behaviour, allowing you to store and use multiple email addresses for each Subscriber Key, regardless of email address stored in All Subscribers.
When a send to a data extension occurs, the following process occurs at sendtime, if setting on the platform are changed by Salesforce:
- The data extension field related to the Subscriber Key value on the All Subscribers list is identified
- The value for each record in the data extension is looked up on the All Subscribers list as Subscriber Key
If the value does not exist, a new record is created
- If there is no field with an Email Address datatype, nothing is added to the All Subscribers list, and subscribers who do not exist will not be sent to
- If there is a field with an Email Address data type, a new subscriber is created on the All Subscribers list
The related Subscriber Key field value is set as Subscriber Key on the All Subscribers list and the value in the field set as an Email Address datatype will be set as Email Address on the All Subscribers list.
If the value does exist:
- The Email Address value on the data extension is sent to, regardless of the Email Address value present on the All Subscribers list
- The Email Address value on the All Subscriber list IS NOT UPDATED
From a day-to-day operations, this is the easiest and quickest approach, however it DOES have an impact on tracking.
In summary, regardless of the Email Data Source setting, the Email Address value on the All Subscribers list is not updated at sendtime. If the Email Data Source business rule is enabled, the only difference in behavior is that the Email Address value is overridden at send time.
The tracking architecture is linked to subscribers on a system-generated field called SubscriberID. When pulling any data from tracking that produces an Email Address, the tracking system looks up the Email Address on the All Subscribers list using the SubscriberID field.
If Email Addresses can’t be matched, it will result in inaccurate tracking results for any individual subscriber whose Email Address present in a data extension differs from that of the All Subscribers list, based on the same Subscriber Key. This inaccuracy propagates to inaccurate results in the following objects when based on Email Address (but not limited):
- Bounce reporting for a job
- Open reporting for a job
- Click reporting for a job
- Unsubscribe reporting for a job
- Any reports based on subscriber engagement
A more solid solution would be to update the email address in All Subscribers list prior to sending out the email to that particular Subscriber Key, however it would require substantial business logic to ensure this is done at the right time prior to any send-out: transactional or bulk. This will keep your tracking data consistent.
Another potential workaround is to use Journey Builder and in the Journey Settings you can select to use the email attribute from the Entry Source. For this scenario it is essential to make sure the DE holds the correct Email Address.