Introduction
Managing Customer.io data from multiple APIs can be a challenge, particularly when users need to stitch disparate data points together. This post outlines a solution for handling different identifiers in separate APIs—namely, email and Auth0— in a way that yields a unified customer profile.
The Problem
In this scenario, a user operates two APIs. One sends customer data using email as an attribute, and the other uses Auth0 as an ID. The goal is to combine or 'stitch' this data together. Consequently, the user is thinking about reconfiguring the first API's id to match the second API's id, thereby promoting the email to an attribute.
The Solution
This solution is only applicable for workspaces that have both email and id as the identifiers (multi-id).
Here is what our support team had to say about this case:
Your initial identify call could actually contain both the email test@email.com
and the id value auth0|123
, and then for subsequent identify calls, you could rely on the id auth0|123
or the email test@email.com
.
The reason this would work is because your workspace already supports both email and id as identifiers, and it also has the auto-merge feature working. So as long as you follow the guidelines here, your identify calls could automatically relate to one profile — you just have to use the correct attribute name.
For instance, cio.identify(test@email.com, {id:"auth0|123",auth0:"auth0|123"})
or cio.identify("auth0|123", {email:"test@email.com", auth0:"auth0|123"})
would both create a profile with two identifiers and a custom attribute named auth0.