> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getcargo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Customer.io

> Connect Customer.io to manage customer messaging, segments, and event tracking in your workflows.

## How to set up Customer.io

### Authentication

Customer.io requires multiple API credentials:

1. Log in to your Customer.io account

2. Navigate to **Settings** → **Account Settings** → **API Credentials**

3. You'll need:
   * **App Region**: Select US or EU based on where your data is stored
   * **App API Key**: For accessing the App API (manage segments, customers)
   * **Site ID**: Your Customer.io site identifier
   * **Site API Key**: For the Tracking API (send events, update customers)

4. Enter all credentials in Cargo when connecting

## Customer.io actions

### Upsert customer

Create a new customer or update an existing one in Customer.io.

**Required fields:**

* **Matching Value**: The value to identify the customer
* **Matching Field Name**: Choose how to match (External ID, Email, or CIO ID)

**Optional fields:**

* **Mappings**: Additional attributes to set on the customer profile

**Use cases:**

* Sync customer data from your CRM to Customer.io
* Update customer attributes when enrichment data is available
* Create customers when they sign up or convert

### Delete customer

Remove a customer from Customer.io.

**Required fields:**

* **Matching Value**: The value to identify the customer
* **Matching Field Name**: Choose how to match (External ID, Email, or CIO ID)

**Use case:** Remove customers who have been deleted from your system or requested data deletion.

### Add customer to segment

Add a customer to a manual segment in Customer.io.

**Required fields:**

* **Matching Value**: The value to identify the customer
* **Matching Field Name**: Choose how to match (External ID, Email, or CIO ID)
* **Segment**: Select the segment to add them to

**Use cases:**

* Add customers to a segment for a targeted campaign
* Segment customers based on external data or scores
* Build audiences for personalized messaging

### Remove customer from segment

Remove a customer from a manual segment.

**Required fields:**

* **Matching Value**: The value to identify the customer
* **Matching Field Name**: Choose how to match (External ID, Email, or CIO ID)
* **Segment**: Select the segment to remove them from

### Track event

Send a custom event for a customer.

**Required fields:**

* **Name**: Event name
* **Customer ID**: The customer identifier

**Optional fields:**

* **Mappings**: Event properties/attributes

**Use cases:**

* Track product usage events from your backend
* Send conversion events for campaign attribution
* Trigger automated campaigns based on custom events

### Track page

Record a page view for a customer.

**Required fields:**

* **Customer ID**: The customer identifier
* **Page URL**: The URL of the page viewed

## Best practices

* Use consistent customer identifiers across systems
* Include relevant attributes when upserting customers to power personalization
* Use descriptive event names that align with your Customer.io campaigns
* Leverage segments for campaign targeting rather than individual customer updates
