Getting started with sources
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.
What is a source?
A source is a website, cloud application, or server that you want to capture data from—it’s a “source” of data!
In Customer.io, you’ll add sources to collect data from your website, backend services, etc. Sources help you capture information about your audience, and how they use your products and services.
You’ll add a different source for each site or app you want to collect data from. Each source has an API Key, which lets you send data from the source to Customer.io Data Pipelines.
Just getting started? Try out the JavaScript Source!
Our JavaScript source is the easiest to get started with and is universally supported by our destinations. See our Getting Started guide for help setting up the JavaScript source.
How many sources should I have?
You should create a different source for each application that you want to collect data from. For example, your website and your mobile app are different sources; they might represent the same services, but are separate applications.
Having a different source per app:
- Makes your implementation flexible: granular sources help you control the specific data that you want to send to different destinations. If you use one API key for all your data, it’ll be harder to connect parts of source data to different destinations.
- Helps you debug sources: different API keys per source makes it easy to see where mistakes are.
Types of sources
For now, we have two types of sources, both of which capture first-party data directly from your source. These sources send data directly from your website or servers, without it going through another cloud service first.
In the future, we’ll offer more cloud-based sources, like Stripe where your data is shaped by the source itself.
- Website: You can install our JavaScript library to capture information about people, events, and so on.
- Cloud: An application like Customer.io Journeys, that connects directly to the CDP where we transform it to fit your destinations.
- Server: Server-side sources let you send data directly from your servers.
Customer.io Journeys is automatically a source
In the Journeys tab after you set up the CDP, you can go to Data & Integrations > Integrations > CDP and see that Customer.io is already a source of data. It sends the same data as our reporting webhooks, tracking message-level events and activity like when messages are sent, opened, clicked, etc.


The JavaScript Source is different from the Customer.io Journeys Web SDK
You have to use our CDP JavaScript library to use your website as a source in data pipelines. Calls from our Journeys JavaScript library won’t go through data pipelines, and therefore won’t make it to your downstream destinations. The Journeys JavaScript only sends data to Customer.io Journeys.
But if you use Data Pipelines, you might still keep our Journeys JavaScript library around to take advantage of in-app messages. 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
tofalse
) in the Journeys JavaScript library. This prevents you from sending duplicatepage
calls on every page—once from the CDP JavaScript library and again from the Journeys JavaScript snippet.