IntegrationsCDPCustomer.io

Customer.io

Automated messaging platform for targeted emails, push notifications, SMS, and in-app messages based on real-time behavioural data.

Prerequisites

Complete these steps in Customer.io before configuring Signal.

Access your Customer.io account

Log in to the Customer.io dashboard at fly.customer.io. If you do not have an account, sign up or contact your Customer.io representative.

Find your Site ID and API Key

Navigate to Settings > API Credentials (under the Account Settings section). You will see your Site ID and API Key on this page. Copy both values.

Find your Tracking API Key

On the same API Credentials page, locate the Tracking API Key. This key is used specifically for the Track API (identifying users and tracking events). It may be listed separately from the general API key. Copy it.

Determine your region

Customer.io operates in two regions. Your region was selected when you created your account:

RegionTrack API EndpointApp URL
UStrack.customer.iofly.customer.io
EUtrack-eu.customer.iofly-eu.customer.io

Check your dashboard URL to determine your region. If your dashboard URL contains fly-eu.customer.io, you are in the EU region.

Configuration

FieldTypeRequiredDescription
site_idstringYesYour Customer.io Site ID. Found in Settings > API Credentials.
api_keysecretYesYour Customer.io API key for the Track API. Found in Settings > API Credentials.
tracking_api_keysecretYesYour Customer.io Tracking API key for identifying users and tracking events.
regionselectYesYour Customer.io data centre region (us or eu). Determines the API endpoint.

Signal Setup

Quick Setup

  1. Navigate to Integrations in the sidebar.
  2. Open the Integration Library tab.
  3. Find Customer.io or filter by CDP.
  4. Click Install, and fill in the required fields with the credentials gathered above.
  5. Click Install Integration to create the integration with a ready-to-use default configuration.

API Setup

curl -X POST http://localhost:8084/v1/admin/integration-catalog/customer_io/install \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Customer.io",
    "variant": "default",
    "config": {
      "site_id": "abc123def456",
      "api_key": "xxxxxxxxxxxxxxxxxxxx",
      "tracking_api_key": "xxxxxxxxxxxxxxxxxxxx",
      "region": "us"
    },
    "delivery_mode": "server_side"
  }'

Event Mapping

Signal events are mapped to Customer.io API calls as follows:

Signal EventCustomer.io ConceptNotes
pagePage eventURL, title, and referrer sent as page event properties via the Track API
trackCustom eventEvent name and properties forwarded as Customer.io events for triggering campaigns
identifyCustomer identify/updateCustomer ID and traits sent via the Track API to create or update customer profiles

Customer.io requires a unique customer identifier for all events. The user_id or email from your Signal events is used as the Customer.io customer ID.

Delivery

Events are delivered server-side from your Datafly Signal infrastructure directly to the Customer.io Track API. No client-side scripts are loaded for this integration.

Testing

  1. After installing the integration, trigger a test event from your website or via the Signal event API.
  2. In Customer.io, navigate to People and search for the test user by ID or email to verify the profile was created.
  3. Click into the customer profile and check the Activity Log to verify events were received.
  4. In Signal, check the Live Events view to confirm the event was delivered with a 200 response status.

Troubleshooting

SymptomPossible CauseResolution
401 UnauthorizedInvalid Site ID or API keyVerify credentials in Customer.io Settings > API Credentials and update the integration config
400 Bad RequestMissing customer identifierEnsure events include a user_id or email property for Customer.io to identify the customer
Events not triggering campaignsCampaign segment mismatchVerify the campaign trigger conditions match the event name being sent from Signal
Wrong regionUS/EU mismatchCheck your dashboard URL and ensure the region config matches (us or eu)

Visit Customer.io documentation for full API reference and campaign setup details.