track.* registra una señal y el SDK la manda solo. Nunca tira ni
espera la red: llamalo sin await, desde el handler del clic.
Los métodos
Todos reciben la recomendación (en la API,Decision: la lista de productos recomendados para ese momento)
o su decision_id. Salvo la impresión y el checkout, también el resultado (o su item_id).
Cada método devuelve el id de la señal, o
undefined si no se pudo armar
(onSignalError dice por qué). Aceptan signalId, un id propio y estable;
cartId, que pisa el de la instancia; y occurredAt, por defecto ahora.
La compra no es una señal
Que una venta se cerró lo dice la orden de tu tienda, no el navegador. Para que CrossUp la ate a la recomendación, pasale el id del carrito una vez, al crear la instancia; viaja solo en cada pedido y cada señal:checkoutStarted y cartId todavía no están en la versión publicada en npm
(0.1.0), que trae un track.purchase que el contrato ya no acepta. Hasta
la próxima versión, mandá checkout_started y cart_id por la
API.Escuchar los resultados
Si no lo ves
Señales y atribución
Cuándo mandar cada señal y qué mide CrossUp con ellas.
Registrar señales por API
La operación, con playground.