Consider the following situation:
A user exists in Customer.io before we implemented Amplitude.
Now we implement Amplitude, and the user is new to Amplitude.
What breaks:
Amplitude creates the user in customer.io without an email. At this point in time, there are 2 users in Customer.io: the original customer.io user that already existed with an email, and the user Amplitude created from a user_id that does not have an email. Then when Amplitude attempts to update the email attribute, 3 things happen:
- On the original Customer.io user with an email, there’s a failed attribute change for the `id` attribute, with the following error: `reason: "cio_id must be used to change id value."`
- On the new Customer.io user with no email that Amplitude created, there’s a failed attribute change for the `email` attribute, with the following error: `reason: "The identifier is already associated with a different profile."`
- In Amplitude in the customer.io destination debugger, there are internal errors that say `"Property not found. Property name: user_id. Json path: user_id"` (potentially unrelated, not sure)
I suspect Amplitude is trying to update the `email` property in customer.io without actually trying to call an endpoint to merge the user with another one.