Important Identity Considerations

Snowflake tables that contain customer attributes (e.g. birthdate, first name/last name, zodiac sign, etc.) shouldn't contain multiple values for a given stable identifier.

Why?

Let’s dive into an example to illustrate what happens if you do have multiple values for a customer attribute for a given stable identifier.

Emily is a current customer who is shopping on your website. Emily took a quiz on your website that recommends specific products based on her zodiac sign. She accidentally chose the wrong zodiac sign the first time she took the quiz, so she took it a second time to correct her mistake. Emily’s customer profile now looks like this:

  • Stable identifier = customer_id(abcde)
  • Email address = [email protected]
  • First name = Emily
  • Birthday = 5/20/1989
  • Zodiac sign = gemini, taurus

You want to build a segment that contains customers whose zodiac sign is gemini so that you can serve them an ad on Facebook. Even though Emily’s birthday is on May 20th, which means she’s a taurus, if your segment criteria contains zodiac_sign = gemini, Emily would be included in the segment anyway. Contacts will meet segmentation criteria if they are associated with any attributes that fulfill those criteria.

Emily qualified for the segment above because her stable identifier is associated with the customer attribute that meets the segment criteria zodiac_sign = gemini. But because Emily has 2 values in the zodiac_sign customer attribute field on her profile, Simon will select a value at random for use in content personalization.

So even though Emily is truly a taurus, she qualified for a segment built upon geminis. But the ad she sees on Facebook may say “Check out these products that we know {Tauruses} love!” There is no guarantee that the value Simon chooses will be associated with the identifier that qualified the customer for the segment in the first place.

What's the takeaway?: Though this isn't a very common issue, to avoid a duplicate segment situation like this in Connected Deployment, be sure you prepare your data prior properly based on your own situation.