We have a scenario where the final transaction is composed of multiple orders, and each order has it's related products.
The customer can choose different payment methods or financing options for each order (based on product category) in a single checkout.
The structure is similar to this:
- Transaction
- transactionId
- totalValue
- ...
- Orders[]
- orderId
- paymentType
- financingMethod
- ...
- Products[]
All that data is captured as an event via Web SDK.
I was wondering how to create a Schema that could represent that format, while at the same time allowing us to send Product events that are not related to an Order (such as ProdView, CartAdd, ...).
The end goal is to allow breakdowns in CJA of Transaction by Order by Products, and allow me to use the same Product dimension associated with all the metrics for the Product funnel (ProdViews, CartAdds, Orders, Transactions) at the same time.
We thought of some options:
- Referencing IDs (like a lookup table using a non-people id) within the same event Dataset
- it did not work: if I send an event with 2 Orders and 2 Products each, CJA associates all products to all orders
- Creating a secondary Product array within the Orders Array, and feeding both of them on Order Confirmation
- Not the best user experience, since the user will have two separate Product dimensions depending on the use-case
- Flattening the orders array in each product somehow
- We would have to compromise some information and breakdown possibility
- Sending Orders to a separate Dataset as a lookup table for Products
- It adds a lot to the complexity of data collection
Anyone stumbled upon this or have any idea on how to approach this problem?