Track Anonymous Event

customer_io.track_anonymous_event
ActionCRM & salesconnection required

Calls the Customer.io API with the connection's credentials.

Send an event that is not yet attached to a person. Give it an anonymous id and the event is attributed to whichever profile later claims that same value.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Customer.io
Secret shape
{"site_id": "…", "api_key": "…", "app_api_key": "…"} — the Site ID and Track API key for the Track nodes, the App API key for the rest
Config it needs
region, workspace_id
Resolved by
config.connection_id, else node.connection_id

Configuration

6 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
anonymous_id
A stable identifier for the unknown visitor, such as a cookie value. It must be unique and cannot be reused for a second person.
stringNo———
name
The event name, as it will be referenced in automations and segments.
stringYes——purchase_completed
data
Event properties, as a JSON object. These are available to Liquid in any message the event triggers.
objectNo———
event_type
The kind of event. Anything other than a page view or a mobile screen view is a plain 'event', which is also the default.
stringNo—one of "event", "page", "screen"—
timestamp
When the event happened, as a Unix timestamp in seconds. Customer.io uses the time of receipt when this is blank, and only events from the last 72 hours can start an automation.
numberNo—≥ 0—
event_id
An optional ULID Customer.io uses to drop a repeated event; sending the same value twice records the event once.
stringNo———

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "name": "purchase_completed"
}

Output

One shape.

result

FieldTypeExample
accepted
True when Customer.io queued the write. Track writes are applied asynchronously, so this reports acceptance, not that the change is live.
boolean—
name
The event name that was sent.
string—
anonymous_id
The anonymous id the event carried, if any.
string—
type
The event type Customer.io recorded it as.
string—
{
  "accepted": false,
  "anonymous_id": "",
  "name": "",
  "type": ""
}

See Track Anonymous Event run in a workflow.

In a technical demo we add the Customer.io connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.