Solved

Various Unique Identifiers—do they come together?


Badge +1

Salesforce uses email as the unique identifier. Marketo uses the Person ID. If I use the different identifiers for each integration, does the data ultimately all come together on the Heap Identity? Just want to make sure I don’t have to make adjustments for all integrations to have the same unique identifier in order to get the level of data enrichment and continuity that I need.

In my mind I need to make email the same identifier for everything so that it all syncs together but that can’t be the right way to do this--especially when you have several data sources all enriching the customers Heap Identity.

icon

Best answer by Nora-Heap 9 May 2022, 19:57

View original

3 replies

Userlevel 3
Badge +2

Hi Zachary,

You can use different identifiers for the SFDC and Marketo integrations in Heap, as long as these identifiers exist in Heap as user properties.

In Heap terms we call the property that matches user records across Heap and another source the “join key” property. These join key properties do not necessarily need to be the Heap identity. They can be any user property in Heap. So when setting up SFDC and Marketo integrations in Heap, you can use different join key properties for each integration.  

Identity is still important in its own right. It’s the global identifier you use in Heap to tie your user journey together, so it’s important to pick an identifier that is globally unique for all users and matches the user identifier you use in any internal databases. It’s beneficial to set the join key to be identity whenever you can because of that guaranteed uniqueness, but it’s not a requirement.

Taking your scenario as an example, you might end up choosing to identify users with email address. Since you want to set up the SFDC integration using email as the unique identifier, your join key property for the SFDC integration will be identity. To make this happen you will need to start identifying users with their email address. Since you want to use a different ID with the Marketo integration, you will need to also send a custom user property to Heap for the Person ID. You can then set the join key property for the Marketo integration to be the Person ID user property in Heap.

The next step is to ensure you are sending email addresses and person IDs into Heap as either the identity and/or custom user properties. Please let me know if you have any questions! 

Badge +1

This is very helpful, thank you. So, just clarifying:

First, only one thing can/should be mapped to Identity. In this case, I’lll have it be Email so that it aligns easily with SFDC. Since such a small % of users provide their email, is there anything we need to be aware of/be cautious of as we set up the identify API on our site? I read somewhere that what you do there is irreversible on current known users. I’ll just have our developers only call the identify API when an email is provided, and leave other users as anonymous like they’d already be appearing to heap, right?

Second, other “join key” properties will need to be added as custom user properties. Can that also be done through the integrations directory set up modal or is there additional API work that needs to be done on or website or other source? I can’t find the resource that shares how to add additional custom user properties. I see the instructions on how to integrate Marketo but don’t see any additional instructions on how to do that as an additional custom user property and not as Identity (identity is the only heap property that appears on the integration modal when setting up either SFDC or Marketo, screenshot attached).

Thanks again for your help, and for ensuring that I’m understanding this. I’m not a developer but know it well enough that if I can get the idea of what needs to be done, I can point my developers in the right direction.

Thanks, @Nora-Heap!

 

Userlevel 3
Badge +2

Hi Zachary,

 

Just a heads up I’m going to turn this into a support case so we can focus more specifically about your account and dataset for the first question!

 

For your second question:

Second, other “join key” properties will need to be added as custom user properties. Can that also be done through the integrations directory set up modal or is there additional API work that needs to be done on or website or other source? I can’t find the resource that shares how to add additional custom user properties. 

This is done with one of Heap’s APIs. You will need to partner with your engineering team to implement Heap’s addUserProperties API on your site so custom user properties get into Heap. This should fire on the site when the custom property data becomes available (examples: post-login pages or post-sign up pages). 

 

If you’re looking to better understand the differences between sending custom user properties to Heap versus identifying users, then I recommend checking out this doc as well.

 

I’ll be in touch via email so we can dig into your first question!

Reply