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 | Attributes, Events, Page Views, Devices |
SQL Sync | Attributes |
CSV Import | Attributes, Events |
JavaScript Snippet | Attributes and Events, Anonymous Events, Page Views |
Connected Forms | Attributes |
Data Campaigns | Attributes, Events, Webhooks |
Third-Party Tools | Census, Zapier, ZOHO, etc. |
Track API
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 -eu
to track_api_url
and app_api_url
variables.
Customer Data Platforms
A Customer Data Platform is a 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 Customer Data Platform, but not always.
Consider using one if you’re sending the same data from your software to multiple services. 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.).
Try out Data Pipelines, Customer.io’s own CDP!
Data Pipelines can simplify your data integrations, letting you:
- Manage your data without leaving Customer.io.
- Toggle between Journeys and Data Pipelines within a single account.
- Integrate a growing number of data sources and destinations, including analytics and CRM tools like Mixpanel, Amplitude, Google Analytics, Salesforce, and HubSpot.
Check out our Data Pipelines docs to get started!
Other Customer Data Platforms that are often used include:
Reverse ETL Integrations
Connecting 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:
CSV Import
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.
JavaScript Snippet
The easiest way to integrate with Customer.io is to install the JavaScript Snippet. You can find the JavaScript snippet in your account’s integration settings. Simply paste the JavaScript snippet 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, including page views from your site.
Learn more by viewing our JavaScript quick start guide.
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.
Tracking Anonymous Activity with the JavaScript Snippet
Additionally, _cio.track()
makes it possible to track events before a user logs in or signs up. Read more about anonymous event tracking.
Connected Forms
Connected 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 JavaScript snippet with your custom form or use an integration with a form provider (Learn More)
- Use the Forms API (generally for backend integrations) (Learn More)
Webhook-triggered campaigns
A 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.
Third-Party Integrations
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 API
Our 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 Export
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.Reporting Webhooks
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 Actions
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 Webhook Actions documentation.
Data Warehouse Sync
Round 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.