Mapping HubSpot data to Customer.io

BetaThis feature is new and we're actively working to improve it. Contact us if you'd like to try it out. Updated

In most cases when you map a type of HubSpot data to Customer.io, you should use our default settings and focus only on the Fields that you want to bring into Customer.io. But if the default settings don’t quite work for your use case, you can update mappings in a few different ways:

  1. The primary identifiers for the data you bring into Customer.io (its id in HubSpot, email address for contacts, or another field).
  2. The fields you want to sync to Customer.io for your HubSpot data type—these are the attributesA key-value pair that you associate with a person or an object—like a person’s name, the date they were created in your workspace, or a company’s billing date etc. Use attributes to target people and personalize messages. that you’ll use, like a contact’s name or a company’s address.
  3. The “Data Pipelines format” for your data in Customer.io: whether your data represents people, events, or custom objectsAn object is a non-person entity that you can associate with one or more people—like a company, account, or online course..
A hubspot sync setup with the sync settings highlighted—identifier, fields to sync, and data pipelines format
A hubspot sync setup with the sync settings highlighted—identifier, fields to sync, and data pipelines format

Mapping fields to Customer.io

For any kind of data you send from HubSpot to Customer.io, you’ll need to select the Fields you want to accompany your data. For custom objectsAn object is a non-person entity that you can associate with one or more people—like a company, account, or online course. and people, these are called attributesA key-value pair that you associate with a person or an object—like a person’s name, the date they were created in your workspace, or a company’s billing date etc. Use attributes to target people and personalize messages.. For events, these are event properties.

By default, we only map the record ID to Customer.io. You need to pick the fields you want to sync to Customer.io.

The fields to sync for a hubspot sync
The fields to sync for a hubspot sync

For each field, you’ll see properties.fieldName. We automatically rename these fields without the properties. prefix. But, beyond that, you can rename the fields to fit your schema in Customer.io.

For example, HubSpot may have a properties.mobile_phone field. If you send SMS messages, you might want to rename this field to phone; that’s the field we typically use for phone numbers when sending SMS messages.

Data Pipelines format: how we represent HubSpot data in Customer.io

HubSpot has highly structured data: your contacts, companies, and other things are all separate. Customer.io has generic concepts like People and custom objectsAn object is a non-person entity that you can associate with one or more people—like a company, account, or online course. and you’ll map your HubSpot data to the right format for Customer.io.

We do our best to automatically map your HubSpot data to the right format for Customer.io when possible. These are usually cases where the data format is obvious: your HubSpot contacts are people, and your companies are custom objects that are related to people.

But you know your data best. You might need to set or change these mappings to fit your needs and use cases!

HubSpot recordTypical Data Pipelines format
ContactsPeople
Companies, DealsCustom Objects
Tasks, OrdersEvents

 Don’t worry about the Relationship type

Some platforms (like Customer.io) treat relationships between people and groups (like companies) as their own information type. HubSpot doesn’t. You can relate companies to contacts, but there’s no separate data for the relationship, so you can safely ignore this option when you set up your syncs.

Map a HubSpot record to a custom object

In most cases, we set object names automatically for you. The Custom Object Name is a value we set in Customer.io that tells us what kind of HubSpot data your object originates from. If you create a new sync and the custom objectAn object is a non-person entity that you can associate with one or more people—like a company, account, or online course. doesn’t exist yet, don’t worry: you’ll create it in the Destination step when you set up your sync.

the related record ID field in a custom object sync
the related record ID field in a custom object sync

Custom Object ID

When you set up a sync using the Custom Object format, you’ll select the HubSpot value that represents a unique object in Customer.io. In most cases you shouldn’t change this setting from the default id value.

You should only change this value if you store a unique value in HubSpot that represents a record in a source of truth outside of HubSpot—like a backend database ID.

When you set up a sync using the Custom Object format, you’ll select a value for the people related to the HubSpot object you want to sync to Customer.io. In most cases, this is the contacts data type—because contacts represent people in HubSpot.

How do I know if data is a person, event, or an object?

We’ve created a little decision tree to help you map data accordingly, but in short:

If you want to send messages to it, or you want to log events it performs, it’s a person.

In Customer.io, you’re concerned with individual people. People can receive messages and perform events. Objects themselves can’t receive messages or perform events. Think of it this way: you’ll never send a message directly to a deal logged in HubSpot; a company can’t visit a page on your website. Those are things people do!

If something is related to people and the data has a lasting impact, it’s an object.

Custom objects are things that people are related to—like an account they belong to, a company they work for, or an opportunity they represent. They’re like people, in that they have attributesA key-value pair that you associate with a person or an object—like a person’s name, the date they were created in your workspace, or a company’s billing date etc. Use attributes to target people and personalize messages. and, unlike events, they’re important long after they initially appear in your workspace.

If something represents people’s activities, it’s an event.

Events are things that people do, like when a user visits a page on your website, adds an item to their shopping cart, or watches a video. Events are really useful for responding to people’s activities in an automated way, like sending a calend.ly link to people who want to hear from you about your product.

flowchart LR a{Will you send it messages?} a--->|yes|b(It's a person) a-.->|maybe|c{Can it perform events?} c--->|yes|b a-.->|no|d{Is it related to more
than one person?} d-->|yes|e(It's an object) c-.->|no|d d-.->|no|f(It's either an event
or you don't need it)

Mapping HubSpot Activities to events

HubSpot has a concept of Activities—interactions associated with contacts, companies, deals, and other records. In Customer.io, we call these events, and they can only be performed by people.

Activities (and similar data) in HubSpot represent the things people do: like having a call with a representative or placing an order. When you send this data to Customer.io, you can trigger campaigns to automate communications with your HubSpot contacts based on their activities.

 You can’t map events to custom objects

In HubSpot, non-people records like companies and deals can perform activities. But in Customer.io, only people can perform events.

Setting identifiers

In general, you don’t need to touch the identifier setting. We recommend that you use the default HubSpot ID as the identifier for the data you bring into Customer.io.

In HubSpot, each entity has a unique id value. By default, this is the value we use to represent your people or custom objectsAn object is a non-person entity that you can associate with one or more people—like a company, account, or online course.. As long as you don’t change this value, you can easily send data back and forth between HubSpot and Customer.io using our HubSpot data-out integration.

If you use a different identifier for the data you bring into Customer.io, you’ll need to store the HubSpot id as an attribute in Customer.io. This is the only way we can reliably send data back to HubSpot from Customer.io.

Copied to clipboard!
  Contents
Is this page helpful?