Getting Started: Integration Methods

Getting Started: Integration Methods


This document is part of a complete series on Getting Started with Customer.io.

After you have planned your integration, you'll need to decide how you want to get your data to and from your Customer.io account. Below you'll learn about the various ways you can do that.

Jump Around

  1. Sending Data to Customer.io
  2. Getting Data from Customer.io

Sending Data to Customer.io

There are many ways to get data into Customer.io. How you choose to send data will depend on what data you plan to send, where that data comes from and what developer resources your team has available to set everything up.

Method What you can send
Our API Attributes, Events, Page Views, Devices, API Triggered Broadcast triggers
Our UI Attributes
Our JavaScript Snippet Attributes and Events
Other Segment, Hull and other third-party services typically maintain their own code for connecting to Customer.io so you'll want to read their documentation to determine what aspects are supported per service.

Our API

Customer.io supports a RESTful API for receiving your data. This is our preferred integration method. It offers the most flexibility and reduces the middlemen between your code and ours for easier troubleshooting.

We maintain a set of official libraries for several languages. We also have a list of libraries graciously contributed by our customers.

Learn more by viewing:

Our UI

The Customer.io user interface (UI) has a CSV import feature that allows you to add People to your account without touching a line of code. You simply need to create a properly formatted file that contains the data you want uploaded for each Person and then upload it to Customer.io.

Learn more by viewing our guide on importing People via CSV.

Our JavaScript Snippet

The simplest (but least flexible) way to integrate with Customer.io is to install the JavaScript Snippet found in the integration settings in your account. Copy and paste that code into your website's code so that it appears just before the end of the body tag.

Once installed, it's just a matter of identifying logged in People (_cio.identify()) and sending us information about them that can be used for messaging. You can also send Events (_cio.track())related to your logged in People as well.

Learn more by viewing our JavaScript quick start guide.

Segment.com

If you're using (or planning to use) other services alongside Customer.io like Woopra, Optimizely, Kissmetrics, Mixpanel, Olark or Google Analytics, we recommend using Segment.com, a third party product, to send your data to Customer.io. This will save you a meaningful amount of integration time and is fully supported by Customer.io.

Consider using Segment.com if:

  • you're sending similar or the same data to other services and want to add Customer.io as a destination
  • Customer.io doesn't maintain a client library for your language (Java, iOS, Android, OS X)

Learn more by viewing Segment.com's documentation on integrating with Customer.io.

Hull.io

Hull's Customer.io data mapping enables you to sync Hull user and account attributes with Customer.io Profile attributes.

Learn more by viewing Hull.io's documentation on integrating with Customer.io.

Zapier.com

We currently have limited support for Zapier connections while we learn more about how our customers' use-cases in order to help us evaluate the most valuable Triggers to build.

Learn more by viewing our documentation on connecting with Zapier.

Getting Data from Customer.io

There are many ways to get data from Customer.io. How you choose to do this will depend on what data you need, where that data needs to go and what developer resources your team has available to set everything up.

Method What you can get
Our API Various data about Customers (People), Campaigns, Newsletter Broadcasts, Segments, Message Templates, Messages (Deliveries), Exports, Activities, Sender Identities, Reporting Webhooks.
Our UI (CSV export) Data for a single Person, many People, Campaign Metrics and Delivery Logs
Email Webhooks Data about select events as they occur in real time
Webhook Actions Data that is accessible by your Campaign or Broadcast workflows

Our API

Our API is the best source for pulling data from your Customer.io account but please note that our primary focus is helping you send messages to your users through our system. This focus determines how we store your data and how we optimize our system to retrieve it efficiently to serve your messaging needs. This means Customer.io should never be considered a suitable replacement for your own database.

Our API is designed to be a collection of endpoints that are your building blocks for creating bigger tools. This allows you to chain together whichever calls will get you the data you need for the custom tool you build. This design is deliberate but if you feel something is missing, please let us know what you're working on so we can determine if additional endpoints are needed.

Learn more by viewing our API documentation.

Our UI

You can export data from within the Customer.io user interface (UI) any time you are logged into your account. Generally speaking, the option to export is shown as a button or menu item located at the upper-right corner of whatever page or page section you are working in. Exporting data will result in downloadable CSV files containing data about a single Person, many People, Campaign Metrics or Delivery Logs.

Email Webhooks

We can optionally send real-time data about a select set of activity to any public endpoint you choose. Once your team has such an endpoint ready to receive data, it's as simple as adding that endpoint to your Workspace configuration in Customer.io.

Learn more by viewing our Email Webhook documentation.

Webhook Actions

To add to the power of your Campaigns and Broadcasts, you can send data to any public API from within any of your Campaign or Broadcast workflows. Want to report something back to your own system or a third-party every time a user flows through a workflow in Customer.io? Use a Webhook Action!

Learn more by viewing our Webhook Actions documentation.

Was this article helpful?