Getting started with sources

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 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.

If you’re just getting started, check out this video showing how easy it can be to set up our 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.
  • Mobile: You can install our iOS SDK to send events directly to Data Pipelines. For other platforms you can utilize this feature. Android, Reactive Native, Flutter, and Expo SDK updates are coming soon.
  • Cloud: An application like Customer.io Journeys, that connects directly to Data Pipelines 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 Data Pipelines, you can go to Data & Integrations > Integrations > Data Pipelines and see that Customer.io is already a source of data. If you just created your workspace, this source sends calls from Journeys Track APIs/SDKs and reporting events (like when messages are sent, opened, clicked, etc) to Data Pipelines.

The Journeys SDKs and Track API

We automatically forward calls from our Journeys Track API to Data Pipelines. This means that you can use our Track API, our Journeys web SDK, or Journeys mobile SDKs to support Data Pipelines without setting up multiple integrations.

But if you’re just getting started, we typically suggest that you integrate with Data Pipelines rather than our Journeys-based APIs and SDKs. Data Pipelines supports all the features of our Journeys integrations—like in-app messages. Our Data Pipelines integrations can be easier to understand as well. When you integrate with our Journeys APIs and SDKs, we translate Journeys calls to fit Data Pipelines, making it more challenging to understand how your data maps to other destinations and debug your integration.

For more information, see the Customer.io Source page.

Copied to clipboard!
  Contents
Is this page helpful?