Segment.com: Customer.io as a Destination
By setting up Customer.io as a Segment Destination, you can pipe data from any one of Segment’s hundreds of Source integrations.
You can find complete detail on the Customer.io Destination page in Segment’s documentation.
Head over the to “Integrations” page within your Customer.io account and find the “Segment Destination” integration. You’ll be presented with a step-by-step process for configuring the integration, or you can set it up yourself with the provided API credentials.
To help comply with GDPR and CCPA regulations, Segment supports a set of Suppression and Deletion tools. These tools are separate from Customer.io’s own suppression and deletion tools.
In Segment, suppressed users are blocked across all sources; any message sent to Segment via a suppressed
userId is blocked at their API (with the exception of device-mode destinations). Suppressions are not synchronized between Segment and Customer.io, however when you choose to suppress and delete a customer via Segment’s UI, that deletion will be passed along to Customer.io to ensure the user is removed.
Customer.io does not support alias calls or anonymous event from Segment. They use an
anonymousId trait to identify users, and it’s not possible to connect anonymous user data with a newly created
id in Customer.io. As a result, you might end up with duplicates. You might have come across this issue if:
- You’re integrated via Segment and are changing
- You have a list of pre-signup emails that may then create accounts later on.
How this might happen is: if you send us an identify call with some attributes attached, we first look at the
id associated with that call. If the
id is new, a new user is created with those attributes. If that
id already exists, we update only the attributes that are different compared to the previous call. We do not update or change the
id. So if the
id is new to Customer.io, a new (duplicate) user is created, even if you may have just wanted to update a previous one.
There are a couple of options here, and this depends if you’re concerned about duplicates of existing users, or if these customers are new ones that haven’t yet signed up.
In the cases of existing duplicates, we use the following process:
- Export a CSV of your customers from the People page by clicking on the Export to CSV button.
- Identify the duplicates. We recommend keeping the first instance of each— the one with an older
- Create a new CSV file with all of the user
ids to delete.
- Delete those users with our API.
If these are new users, however, the process is a little more complex. We have a couple options here:
- Do not call identify until the user signs up for an account.
- Filter identify calls so that they’re not sent to Customer.io (you can do this by using selective integrations).
For some of the same reasons that Alias calls aren’t supported, events without an
idare ignored when sending from Segment into Customer.io.
For cases when you need to message a customer before they’ve signed up (ie ‘newsletter sign up’ or ‘referral invite’), events can be sent directly into Customer.io through our Anonymous Event API.
More information about how to use this API can be found in our documentation Anonymous invite emails, which was the original use-case for when users of an app send invitations to others to join them.
- The full list of Segment methods are supported with Customer.io.
- Segment have outlined the only integrations that support the Alias method.
As always, if you need any help with this process or have any questions, please let us know!