Integration · Messaging and marketing

Send subscription events to Customer.io people for campaigns

RevenueDot sends each subscription event to Customer.io's Track API in two calls: an identify call that updates the person's rc_subscription_status, app_user_id and email, then the event, named like rc_trial_converted_event, with purchase details as event data. The person's id is $customerioId when set, otherwise the app user id.

What teams do with it

  • Start a campaign when rc_trial_started_event or rc_billing_issue_event arrives.
  • Segment people by rc_subscription_status for win-back and upsell emails.
  • Use revenue and product in event data to personalize messages.
  • Keep production and sandbox events in two separate workspaces.

What RevenueDot sends

  • First a PUT /api/v1/customers/{id} identify, which creates the person when missing and sets rc_subscription_status, app_user_id and email (from $email).
  • Then POST /api/v1/customers/{id}/events with the name rc_initial_purchase_event, rc_renewal_event and so on, for 13 steps. Rename them under Event names.
  • Event data includes revenue in US dollars, currency, product_id, platform, store, entitlement_ids, transaction_id, period_type, country_code and rc_subscription_status.
  • The event id is a ULID derived from RevenueDot's event id, so Customer.io drops a retried event instead of recording it twice.
  • The person's id is $customerioId when your app sets it, otherwise the app user id. Data is sent to the US or EU Track API, as you choose.

Setup

How to connect Customer.io to RevenueDot

  1. 01

    Copy Track API credentials

    In Customer.io, open Workspace Settings, API Credentials and copy the Track API Site ID and API key.

  2. 02

    Open the integration

    In RevenueDot, open Integrations in the project sidebar and choose Customer.io.

  3. 03

    Enter the credentials

    Fill Site ID and Track API key. For sandbox events, fill Sandbox site ID and Sandbox Track API key from a second workspace.

  4. 04

    Pick the region

    Choose Region: US (track.customer.io) or EU (track-eu.customer.io). Pick Sales reporting.

  5. 05

    Connect and test

    Click Connect Customer.io, then Send test event and find rc_test_event on the person's activity.

The Customer.io integration page in the RevenueDot dashboard, with its settings form
Captured from the RevenueDot dashboard with demo data.

How RevenueDot delivers events to Customer.io

  • Timeouts, rate limits (HTTP 429) and server errors (5xx) from Customer.io retry on the webhook schedule: after 5, 10, 20, 40 and 80 minutes.
  • Any other 4xx answer fails at once, because sending the same request again cannot work. Fix the setting, then click Replay failed.
  • The delivery log keeps each request with every secret replaced by [redacted], the answer, the time taken and, for skipped events, the reason.
  • Credentials are sealed with AES-256-GCM on the server. After you save a key, the dashboard shows only its last four characters.

FAQ

Customer.io and RevenueDot

Does the Customer.io integration work with the RevenueCat SDK?

Yes. RevenueDot speaks the RevenueCat SDK protocol, so your app keeps the RevenueCat SDK and only the server address changes. Set $customerioId and $email with the SDK's attribute calls if you want events on an existing Customer.io person.

Is it the same as RevenueCat's Customer.io integration?

It sends the same rc_*_event names and rc_subscription_status attribute, and reads the same $customerioId and $email attributes. RevenueCat's version has years of production use behind it. RevenueDot's is newer, so run Send test event and check Customer.io before you rely on it.

Will a retry create a duplicate event?

No. The event id is a ULID derived from RevenueDot's event id, and Customer.io drops a repeated one.

Does it create people that do not exist yet?

Yes. The identify call is a PUT, which creates the person when missing, before the event is recorded.

Sources: Customer.io · Customer.io Track API · RevenueCat Customer.io integration. Customer.io is a trademark of its owner, used to describe compatibility. RevenueDot is not affiliated with or endorsed by it.

Get started

Send Customer.io every subscription event.

Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue. Integrations are included on every plan.

Already have an account? Sign in · Prefer your own servers? Self-host free