Hi all, we are looking into tracking ecommerce transactions.
We have two separate services for this. We have one where we use the js tracker which provides a lot of support in this regard with the ‘addTrans’ and ‘addItem’ methods Tracking Events - Snowplow Docs
The second service we need to use the php tracker Tracking an event - Snowplow Docs
Will these events use the same fields/columns in the data model or will these two validate to the same values so we don’t get duplicates? I was a bit unsure when reading through the documentation as the fields provided are not mapped 1 to 1.
Yes, they are the same columns in the
Not sure I’ve understood correctly this question. They validate against the same schema.
About duplicates, the deduplication is based on the
timestamp so it doesn’t involve other values of the event. If you have duplicates caused by events tracked from client and server side you should build that deduplication on top of your data modelling. But, as said, not sure I understood correctly. Please, let me know if this doesn’t answer your question!
If I understand what you’re asking about duplicates to mean that the same events will be tracked both from the client and the server, then yes, both will be tracked.
I would suggest that this can be handled in your SQL model however, the source of the data can be identified by
app_id, for example (or
v_tracker alternatively), so your SQL can decide which it wants to use. In the tracking you’d just need to ensure that the orderId (or some alternative identifier for the transaction) is the same for both client and server.
Thanks for your reply! Sorry for the late response.
Yes - both will use the same columns in the
atomic.events table (e.g., ti_, tr_ columns).