track.* records a signal and the SDK sends it for you. It never
throws or waits for the network: call it without await, from the click
handler.
The methods
All of them take the recommendation (in the API,Decision: the list of products recommended for that moment)
or its decision_id. Except for the impression, they also take the result (or its item_id).
Each method returns the signal id, or
undefined if it couldn’t be built
(onSignalError says why). They accept signalId, your own stable id, and
occurredAt, now by default.
Every signal carries the visitor and the context on its own, with no personal
data: Visitor and context.
Listen to the results
If you don’t see it
Signals and attribution
When to send each signal and what CrossUp measures with them.
Record signals via the API
The operation, with a playground.