Migrate from another service

Our JavaScript snippet works similarly to other platforms, but you may need to do a bit of work to move from another service to Customer.io.

  Sign up for early access!

Apply for early access to be among the first to try out Customer.io Data Pipelines. Bear with us: it may take a few weeks for us to approve your request as we're actively working on CDP.

Migrating from Segment

Our calls are nearly identical to Segment’s. We use the same analytics variable and method names, so you won’t have to replace any code. Simply replace your Segment script with the Customer.io Data Pipelines script, and you’re all set.

However, Segment supports a wider range of destinations than we do. Before you make the switch, check that we support your destinations and the actionsThe source event and data that triggers an API call to your destination. For example, an incoming identify event from your sources adds or updates a person in our Customer.io Journeys destination. that you expect before you move from Segment to Customer.io Data Pipelines.

Migrating from Customer.io’s JavaScript snippet

Customer.io has two JavaScript libraries—one specifically for Customer.io Journeys and one for Customer.io Data Pipelines (CDP).

The CDP JavaScript library makes your website a source for both Customer.io journeys and other destinations. The Journeys JavaScript library only sends data to your Customer.io workspace; it does not send calls through CDP or directly to other destinations.

To migrate from the Journeys snippet to CDP, you’ll need to:

  • Add the Customer.io Data Pipelines JavaScript source to your website.
  • Update requests to use analytics rather than _cio and update the structure of your identify calls. Most other requests are the same.

But, even if you implement CDP, you might still keep the Journeys library on your website to take advantage of features like In-App Messaging. If you’re using both snippets, you’ll want to:

  • Update calls to use the CDP JavaScript library. The format of calls from the CDP library are slightly different from the Journeys library.
  • Disable automatic page tracking (set data-auto-track-page to false) in the Journeys JavaScript library. This prevents you from sending duplicate page calls on every page—once from the CDP JavaScript library and again from the Journeys JavaScript snippet.

Differences between CDP and Journeys identify calls

With Journeys, a person’s id was a part of their other attributes. When you use the CDP library, the id is its own argument, separate from a person’s attributes.

analytics.identify('12091906-01011992', {
  name: 'cool person',
});
analytics.identify({
  id: '12091906-01011992',
  name: 'cool person',
});

Migrating from Rudderstack

Our calls are nearly identical to Rudderstack’s. However, their calls are attached to rudderanalytics and ours use analytics. You won’t have to replace your calls, but you should change instances of rudderanalytics to analytics after you replace your Rudderstack JavaScript with the Customer.io Data Pipelines script.

Keep in mind that Rudderstack supports a wider range of destinations than we do. Before you make the switch, check that we support your destinations and the actionsThe source event and data that triggers an API call to your destination. For example, an incoming identify event from your sources adds or updates a person in our Customer.io Journeys destination. that you expect before you move from Rudderstack to Customer.io Data Pipelines.

Copied to clipboard!
  Contents
Is this page helpful?