Send event data from PostHog into Customer.io. User emails will also be sent if available and customers will be created in Customer.io.

Requirements

This requires either PostHog Cloud with the data pipeline add-on, or a self-hosted PostHog instance running version 1.30.0 or later.

Not running 1.30.0? Find out how to update your self-hosted PostHog deployment!

You'll also need access to the relevant Customer.io account.

Installation

  1. In PostHog, click the "Data pipeline" tab in the left sidebar.
  2. Search for 'Customer.io' and select the app, press Install.
  3. Add your Customer.io site ID and token at the configuration step.
  4. Enable the app and watch your 'People' list get populated in Customer.io!

Configuration

OptionDescription
Customer.io Site ID
Type: string
Required: True
Provided during Customer.io setup.
Customer.io API Key
Type: string
Required: True
Provided during Customer.io setup.
Tracking Endpoint
Type: choice
Required: False
Use the EU variant if your Customer.io account is based in the EU region.
Identify by email
Type: choice
Required: False
If enabled, the plugin will identify users by email instead of ID, whenever an email is available.
Filtering of Anonymous Users
Type: choice
Required: False
Customer.io pricing is based on the number of customers. This is an option to only send events from users that have been identified. Take into consideration that merging after identification won't work (as those previously anonymous events won't be there).
PostHog Event Allowlist
Type: string
Required: False
If this is set, only the specified events (comma-separated) will be sent to Customer.io.

How do I match persons in PostHog with customers in Customer.io?

We assume that you use the same ID to identify users in Customer.io as you use as distinct_id or in posthog.identify().

How do I set properties on a Customer.io customer via PostHog?

PostHog will send any property inside the $set: {} property to customer.io. In the example below, email and userProperty will be set on the customer

JavaScript
posthog.capture(
'some_event',
{
event_property: 'this will not get sent',
$set: {
email: 'test@example.com',
userProperty: 'value'
}
}
)

FAQ

Is the source code for this destination available?

PostHog is open-source and so are all the destination on the platform. The source code is available on GitHub.

Who created this destination?

We'd like to thank PostHog team members Yakko Majuri and Marius Andra, Michael Matloka and community members Angela Purcell, Conrad Kurth and Alberto S for creating this.

Who maintains this destination?

This destination is maintained by PostHog. If you have issues with the destination not functioning as intended, please let us know!

What if I have feedback on this destination?

We love feature requests and feedback! Please tell us what you think! to tell us what you think.

What if my question isn't answered above?

We love answering questions. Ask us anything via our community forum, or drop us a message.

Questions?

Was this page useful?

Next article

Engage

Connect PostHog to Engage , a marketing automation platform, and sends data to Engage for use in segmentation, targeting and automation. Specifically, it only exports your Custom and $identify events to Engage. Extra event properties and metadata are also processed and sent to Engage. The example above, using the PostHog browser JS SDK, appends extra properties to the identify event. These extra properties are also sent to Engage. Requirements This requires either PostHog Cloud with the…

Read next article