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.
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|
|Track API||Attributes, Events, Page Views, Devices, Manual Segments, Forms|
|Customer Data Platforms (CDP)||Attributes, Events, Page Views, Devices|
|CSV Import||Attributes, Events|
|Data Campaigns||Attributes, Events, Webhooks|
|Third-Party Tools||Census, Zapier, ZOHO, etc.|
Customer.io provides a RESTful API for receiving your data. This is our preferred integration method. It offers the most flexibility and reduces the intermediaries 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:
Try our Postman collection!
You can use our Postman collection and associated environment to get started with the Customer.io API. Our environment is based on our US endpoints; if you’re in our EU region, you’ll need to add
Customer Data Platforms
A Customer Data Platform (CDP) is a third-party tool that allows engineering teams to write one integration per source (backend, mobile, web, etc) and stream Event and Attribute data from those sources to numerous destinations. The integration between destinations and sources are typically maintained by the CDP, but not always.
Consider a CDP if you’re sending the same data from your software to multiple services. In the CDP you will add Customer.io as a destination. This method can also be useful when Customer.io doesn’t maintain a client library for your language (Java, Flutter, OS X, Scala, .NET, etc.).
The CDPs we see used most frequently are:
Reverse ETL IntegrationsConnecting your Microsoft SQL, Snowflake, BigQuery, MySQL, PostgreSQL, or Redshift database to your workspace with Customer.io SQL Sync makes it easy to add and update people on a recurring interval from your backend systems. You can also set this integration to add people to, or update people in, a manual segment, automatically triggering campaigns on each sync interval.
Learn more about each supported database:
The Customer.io user interface (UI) has a CSV import feature that lets you upload people or events to your account without touching a line of code. You simply need to create a properly formatted file that contains the data you want to upload for each person and then upload it to Customer.io.
Learn more by viewing our guide on importing People via CSV.
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, including page views from your site.
Does your site have a CSP?
If you use a Content Security Policy (CSP) to protect your website, you’ll want to update your policy to include directives for Customer.io’s content providers. See our Content Security Policy page for more information.
_cio.track() makes it possible to track events before a user logs in or signs up. Read more about anonymous event tracking.
Connected FormsConnected Forms in Customer.io allow you to automatically trigger campaigns, send data to other services, and add or update people when they submit forms on your website or in your app.
There are multiple ways to connect forms to your workspace:
- Use the Forms API (generally for backend integrations) (Learn More)
Webhook-triggered campaignsA campaign triggered by an incoming webhook, in which the data is the subject of the campaign instead of a person. Webhook-triggered campaigns help you integrate with external APIs without writing your own code or using a middleware product like Zapier. From a webhook-triggered campaign, you can manipulate your incoming data to create people, update people, and trigger events.
Learn more by viewing our webhook-triggered campaign documentation.
There are third-party Customer.io integrations being created on a regular basis. These third-parties typically maintain the integration with Customer.io so you’ll want to read their documentation to determine what aspects are supported per service.
Here are a few third-party integrations we have seen our customers use:
- Census - Reverse ETL platform for large data sets.
- Zoho CRM - Easy-to-use CRM with flexible data structure
- Zapier.com - No-code tool that makes it easy to build integrations with 4000+ apps
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.
|App API||Various data about Customers (People), Campaigns, Newsletter Broadcasts, Segments, Message Templates, Messages (Deliveries),Exports, Activities, Sender Identities, trigger API Triggered Broadcasts, send Transactional messages.|
|Reporting Webhooks||Data about select events in real time. For example, email clicks, email opens etc.|
|CSV export||Data for People, Segments, Campaign Metrics and Delivery Logs.|
|Workflow Webhook Actions||Data that is sent by your Campaign Workflow or Broadcast.|
|Data Warehouse Sync||Export bulk historical and real-time data from Customer.io to your data warehouse.|
App APIOur App API allows you to selectively pull data from your Customer.io account. It is a collection of endpoints that includes customer and message data such as attributes, segments, campaigns, collections, experts, messages (sent, delivered, bounced, etc).
Learn more by viewing our App API documentation.
CSV ExportYou 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.
We can optionally send real-time data about a select set of activities 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.
Workflow Webhook ActionsWe can optionally send real-time data about a select set of activities 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 Webhook Actions documentation.
Data Warehouse SyncRound out your internal reporting with the most complete set of Customer.io data using Data Warehouse Sync. Every 15 minutes you’ll receive rich data about messages, people, metrics, and more in your Amazon Web Services (AWS) or Google Cloud Project (GCP) cloud storage bucket. From there, you can load the data into the data store of your choice for in-depth analysis.
Learn more by viewing our Data Warehouse Sync documentation.