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.

MethodWhat you can send
Track APIAttributes, Events, Page Views, Devices, Manual Segments, Forms
Customer Data Platforms (CDP)Attributes, Events, Page Views, Devices
SQL SyncAttributes
CSV ImportAttributes, Events
JavaScript SnippetAttributes and Events, Anonymous Events, Page Views
Connected FormsAttributes
Data CampaignsAttributes, Events, Webhooks
Third-Party ToolsCensus, 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:

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:

SQL Sync

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.

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)

Data Campaigns

A campaign triggered by an incoming webhook, in which the data is the subject of the campaign instead of a person. Data campaigns help you integrate with external APIs without writing your own integration or using a middleware product like Zapier. From a data campaign, you can manipulate your incoming data to create people, update people, and trigger events.

Learn more by viewing our Data Campaigns 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 APIVarious data about Customers (People), Campaigns, Newsletter Broadcasts, Segments, Message Templates, Messages (Deliveries),Exports, Activities, Sender Identities, trigger API Triggered Broadcasts, send Transactional messages.
Reporting WebhooksData about select events in real time. For example, email clicks, email opens etc.
CSV exportData for People, Segments, Campaign Metrics and Delivery Logs.
Workflow Webhook ActionsData that is sent by your Campaign Workflow or Broadcast.
Data Warehouse SyncExport 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.

Copied to clipboard!