How does personalization work with duplicate records? | Community
Skip to main content
BenCirillo
Level 2
August 6, 2026
Solved

How does personalization work with duplicate records?

  • August 6, 2026
  • 1 reply
  • 20 views

This is a bit of an edge case, but I feel I should find out the answer before it comes up: 

In our instance, we have a number of records where multiple contacts have the same email address. This is often intentional: As a membership organization, sometimes we’ll have a doctor register for a meeting and add his spouse, kids and a couple staffers all under his email address. So we may have 5 people that are all valid, different people with the same email address. 

I know that when Marketo sends an email to multiple contacts that have the same email address, it only sends the email once. That part is fine — Dr. Jones doesn’t need to get the same event reminder email 5 times. 

What I want to know is: How does Marketo choose which contact to send the email to? Is it simply the lowest/highest ID number? Is there a way to ensure the primary recipient? 

This would mainly be an issue in cases where there are personalization tokens or conditional content. We would like to make sure “Dear {{lead.full name}}” resolves to “Dear Dr. Jones” and not “Dear Dr. Jones’ Wife.” 

Is there a way to set priority, or is the best bet to avoid using any personalization if there’s a possibility of sending to duplicate records? 

Best answer by sandy_logitech

The lowest ID, strange and primitive as it seems, is the deciding factor in this context. (Note this doesn’t actually mean “the earliest created person” for a variety of reasons, merges for example.)

 

You can’t set priority per se, though you can have a field like Is Primary Record and set that wherever possible. Obviously it won’t be possible to set this via every lead intake route, but you can at least try prompting the lead (“I am the primary owner of this email address”). 

 

To avoid concerns about choosing the wrong person, either

  1. Have two variants of the email. The unpersonalized one goes to people who match the Duplicate Fields filter; or
  2. Run a nightly batch to update all the current duplicates with a Has Duplicates Boolean (or more thoroughly, a Has Duplicates as of DateTime and set it to {{system.datetime}}). Then use Velocity for your personalization, which can selectively output based on whether Has Duplicates as of isEmpty()

If you’ve read my other posts you probably know I like #2. 😁

1 reply

sandy_logitech
User Group Leader
sandy_logitechUser Group LeaderAccepted solution
User Group Leader
August 6, 2026

The lowest ID, strange and primitive as it seems, is the deciding factor in this context. (Note this doesn’t actually mean “the earliest created person” for a variety of reasons, merges for example.)

 

You can’t set priority per se, though you can have a field like Is Primary Record and set that wherever possible. Obviously it won’t be possible to set this via every lead intake route, but you can at least try prompting the lead (“I am the primary owner of this email address”). 

 

To avoid concerns about choosing the wrong person, either

  1. Have two variants of the email. The unpersonalized one goes to people who match the Duplicate Fields filter; or
  2. Run a nightly batch to update all the current duplicates with a Has Duplicates Boolean (or more thoroughly, a Has Duplicates as of DateTime and set it to {{system.datetime}}). Then use Velocity for your personalization, which can selectively output based on whether Has Duplicates as of isEmpty()

If you’ve read my other posts you probably know I like #2. 😁