track.* registra um sinal e o SDK o manda sozinho. Nunca lança
erro nem espera a rede: chame sem await, no handler do clique.
Os métodos
Todos recebem a recomendação (na API,Decision: a lista de produtos recomendados para aquele momento)
ou seu decision_id. Exceto a impressão e o checkout, também o resultado (ou seu item_id).
Cada método devolve o id do sinal, ou
undefined se não deu para montá-lo
(onSignalError diz por quê). Aceitam signalId, um id próprio e estável;
cartId, que substitui o da instância; e occurredAt, por padrão agora.
A compra não é um sinal
Quem diz que uma venda foi fechada é o pedido da sua loja, não o navegador. Para a CrossUp ligá-lo à recomendação, passe o id do carrinho uma vez, ao criar a instância; ele viaja sozinho em cada pedido e cada sinal:checkoutStarted e cartId ainda não estão na versão publicada no npm
(0.1.0), que traz um track.purchase que o contrato já não aceita. Até a
próxima versão, mande checkout_started e cart_id pela
API.Escutar os resultados
Se você não vê
Sinais e atribuição
Quando mandar cada sinal e o que a CrossUp mede com eles.
Registrar sinais pela API
A operação, com playground.