Send Your Data into Customer.io with Zapier

by Maja Majewski on Nov 28 2017

Zapier helps teams get more done, all without developer help. Being able to move data between different platforms is a huge time-saver, and like many teams, we simply wouldn’t function as efficiently without Zapier’s automated app workflows.

Using Zapier to connect Customer.io with other tools has become an integral part of our growth stack — and we hope it will become part of yours, too. Read on to learn about some potential use cases and helpful tips we’ve learned while using the integration ourselves.

Use Cases

Zapier automations, or “zaps”, are created with a trigger and at least one action. Currently, Customer.io can only serve as an action (not a trigger):

Create/Update Customer

Create Event.

If you’re already using Customer.io, you know it’s super flexible and doesn’t force you into a restrictive data model. The use cases are varied—but here are a few you might find helpful out of the box.

Create/Update a Customer Profile

Why: If you maintain a Workspace specific to marketing activities in Customer.io, and you are looking to add new leads to that Workspace.

How: Using a trigger from one of the many point solutions that connects to Zapier (Unbounce, Leadpages, Livestorm, FormKeep, Sumo, etc.), you can use email as ID to update the lead record in Customer.io.

Send FormKeep Data to Customer.io

Why: If you’re like us, you’re looking to create rinse-and-repeat-type setups that allow you to quickly get a new promotion up and running. We use Formkeep across OptinMonster, Sumo, and various forms on our Middleman and Jekyll static sites. With Zapier, you also have access to low-overhead tools for normalizing data as it comes in.

How: With FormKeep, you get a form endpoint and you prepare your form HTML in a way that suits your specific needs. Face it, we all have unique needs for data we want to pass from service to service. In Zapier, you simply select your new FormKeep form as the trigger, and start adding actions to handle normalization (Formatter action), and then add the Customer.io Add/Update Customer action.

Sync Unsubscribes from Mailchimp to Customer.io

Why: This one is pretty straightforward. If you’re migrating away from Mailchimp, or you’re maintaining a separate marketing list there, you can use Zapier to keep your subscribers and unsubscribers in sync.

How: Create a new Zap with Mailchimp trigger “New Unsubscriber”, then simply add a new Customer.io action to Create/Update Customer. Keep in mind that you’ll want to be sure to send the Customer ID if you’re sending data to your product Workspace. Otherwise, sending email as ID is usually fine for sending data to a dedicated Marketing workspace.

Pro-tip! Be sure to normalize those email addresses as they come in. Try downcasing using Zapier’s Formatter.

Load Leads from Facebook Lead Ads into Customer.io

Why: Running Lead Ads on Facebook and looking to follow up?

How: You can set up a trigger to look for new Lead Ad submissions. Send those new leads into a dedicated marketing Workspace in Customer.io and follow up and nurture your new leads.

Customer.io Zap Setup Tips

Here are a few helpful tips to consider as you begin using the integration:

Customer.io’s API is write-only, which means it’s a BYO-ID situation. Customer.io features Workspaces, that allow you to keep app and marketing data separate. For marketing workspaces, we recommend using email as ID, and for app data workspaces, your engineers will be your guide on what ID to use.

If you’re using created_at as a timestamp designating when a person signed up for your app, consider using zap_created_at as an attribute when sending customer data to Customer.io. You can create a corresponding Segment Triggered campaign in Customer.io to updatecreated_at if the created_at attribute is blank.

The Customer.io marketing team uses a standard event name (marketing_activity) along with standardized event attributes for events coming from every channel. The schema looks something like this:

Marketing_activity

Asset_name (what’s the name of the ebook, webinar, etc)

Asset_type (what type of asset is it, create a standard list)

Campaign_name (do you have an internal campaign name)

Event_date (when did the user take this action)

Form_source (what’s the URL of the page where the form sits)

Utm_source

Utm_campaign

Utm_medium

Utm_content

Name (the user’s name – might seem redundant but can be helpful when reporting from a list of events)