> This page is part of the [Customer.io documentation](https://docs-customerio.netlify.app). For the complete index, see [llms.txt](https://docs-customerio.netlify.app/llms.txt).
> Last updated: April 29, 2026

# Cordial Destination

## About this integration

Cordial is a comprehensive marketing platform that helps businesses collect, normalize, and activate real-time data from anywhere within their technology stack. With this information, businesses can create and deliver tailored messages that flex and adapt to changing customer signals, improving engagement and satisfaction. This destination utilizes source data to add contacts and track cart activity, so you can message people with relevant data to maximize customer engagement and drive growth.

[Mode How we forward source data to the destination: through Customer.io's servers or directly from our JavaScript client.](/cdp/destinations/getting-started/#connection-mode)

[Web sources Indicates whether or not this integration supports our the JavaScript client.](/cdp/sources/getting-started/#types-of-sources)

[API sources Indicates whether or not this integration supports our server libraries (Go, NodeJS, Python), API, Mobile SDK, and other data sources.](/cdp/sources/getting-started/#types-of-sources)

[Supported calls The API methods this integration supports.](/cdp/sources/source-spec/source-events/)

[Integration name The name of this integration if you want to enable or disable it in the `integrations` object.](/cdp/sources/source-spec/common-fields/#the-integrations-object)

Standard

[track](/api/cdp/#operation/track), [identify](/api/cdp/#operation/identify), [group](/api/cdp/#operation/group), and [alias](/api/cdp/#operation/alias)

Cordial (Actions)

## Use cases[](#use-cases)

*   **Keep Cordial contacts in sync** with your Customer.io data. When someone signs up or updates their profile, their contact record in Cordial updates automatically.
*   **Track customer activity in Cordial** for use in Cordial’s automation and segmentation tools. Send events like page views, purchases, or feature usage so Cordial can trigger campaigns based on behavior.
*   **Manage Cordial marketing lists** by automatically adding or removing contacts based on audience membership, subscription status, or other criteria.
*   **Sync e-commerce data** including cart contents and order details, enabling abandoned cart campaigns and post-purchase follow-ups in Cordial.

## Getting started[](#getting-started)

1.  Go to **[Data & Integrations > Integrations](https://fly.customer.io/workspaces/last/journeys/integrations/all/directory)** and select the **Cordial** entry in the *Directory* tab.
    
2.  (Optional) Select the data sources that you want to connect to your outbound integration. You can always connect data sources later. We’ll only show you data sources that work with your integration.
    
3.  Configure your integration.
    
    1.  **Api Key**: Your Cordial API Key
        
    2.  **Endpoint**: Cordial API endpoint. Leave default, unless you've been provided with another one. [See more details](https://support.cordial.com/hc/en-us/sections/200553578-REST-API-Introduction-and-Overview)
        
    3.  **Segment Id Key**: Cordial string unique attribute key to store Segment User ID in (e.g. `segment_id`)
        
4.  Click **Enable Destination**.
    

## Actions[](#actions)

When you’re done setting things up, you can go to the *Actions* tab to see how we map incoming data to your integration.

You may need to add actions for this integration

While we often have default triggers for actions, we don't always add those actions as defaults. You may need to add actions to make sure that you're sending all the data that you want to send to your integration. See our [actions](/integrations/data-out/actions/) page for help setting up actions.

Action

Default Trigger

Description

Create Contactactivity

`type = “track”` or  
`type = “page”`

Create a new contact activity.

Upsert Contact

`type = “identify”`

Create or update a contact in Cordial.

Add Contact to List

`type = “group”`

Add contact to a list. If the list does not exist in Cordial it will be created.

Remove Contact from List

Remove Contact from Cordial List

Add Product to Cart

`type = “track”` and  
`event = “Product Added”`

Add product to Cordial contact cart

Remove Product from Cart

`type = “track”` and  
`event = “Product Removed”`

Removes product from Cordial contact cart

Upsert Order

`event = “Order Completed”` or  
`event = “Order Updated”` or  
`event = “Order Refunded”` or  
`event = “Order Cancelled”`

Upserts order to Cordial

Merge Contacts

`type = “alias”`

Merge contacts in Cordial.

Cordial’s destination supports several actions that map to different parts of the Cordial platform:

### Contact management[](#contact-management)

*   **Upsert Contact**: Creates or updates a contact in Cordial. Maps to `identify` calls by default—when you identify someone, their contact record in Cordial gets created or updated with the traits you send. Cordial matches contacts by email or a configurable unique identifier.
*   **Merge Contacts**: Merges two contact records in Cordial. Use this when you need to combine duplicate contacts—for example, when an anonymous visitor later identifies themselves with an email address.

### List management[](#list-management)

*   **Add Contact to List**: Adds a contact to a Cordial list. Useful for managing marketing segments and subscription groups.
*   **Remove Contact from List**: Removes a contact from a Cordial list.

### Activity tracking[](#activity-tracking)

*   **Create Contact Activity**: Records a custom activity (event) on a contact in Cordial. Maps to `track` calls by default. These activities can trigger automations in Cordial’s messaging platform.

### E-commerce[](#e-commerce)

*   **Add Product to Cart**: Adds a product to a contact’s cart in Cordial. Use this for abandoned cart tracking and recovery campaigns.
*   **Remove Product from Cart**: Removes a product from a contact’s cart.
*   **Upsert Order**: Creates or updates an order record in Cordial. Use this for post-purchase campaigns and order status tracking.

### Data mapping[](#data-mapping)

#### Contact identifiers[](#contact-identifiers)

Cordial identifies contacts primarily by **email address**. When you send `identify` calls, the integration uses the email trait to match existing contacts or create new ones.

If you’ve configured a **Segment ID Key** in your destination settings, the integration also stores your Customer.io user ID as a custom attribute on the contact. This gives you a secondary identifier for matching contacts across systems.

#### Passing custom attributes[](#passing-custom-attributes)

You can send any traits from your `identify` calls as custom attributes on Cordial contacts. Define attributes in your Cordial account first—Cordial silently ignores attributes it doesn’t recognize.

## Things to know[](#things-to-know)

*   **Define attributes in Cordial before sending data.** Cordial silently drops unrecognized attributes rather than creating them automatically. Define your custom attributes in Cordial’s platform before configuring your data mappings.
*   **The API endpoint varies by data center.** Cordial operates multiple data centers. Make sure you use the endpoint matching your Cordial account’s data center. The default is `https://integrations-ingest-svc.usw1.cordial.com`.
*   **Activity tracking powers Cordial automations.** Events you send via the *Create Contact Activity* action can trigger Cordial campaigns and automations—think of them like Customer.io events but inside Cordial’s ecosystem.
*   **E-commerce actions enable cart and order tracking.** If you use Cordial for abandoned cart emails or post-purchase sequences, the cart and order actions keep Cordial’s e-commerce data in sync with your source.