There are 5 events for the checkout and there is a ton of data about the line items being checked out that are repeated (and don’t change during this process).
What do you think is the best way to handle this to save database space?
Should I store the checkout data in a seperate table once the checkout_started event is fired and just reference it with foreign key checkoutID all the way through checkout_completed?
Is there any risk to this? Would I miss anything? I guess it would be if there are any checkout extensions installed that add upsells to the line items.
Hey @envisionweb - I would say that your method would depend on the end use case you have for the data. If you do need the line item info though, storing the data you pull from the checkout_started event and then only storing minimal info from subsequent checkout events like the time stamp, etc would be a fairly solid approach.
If you didn’t need to track certain data that’s being sent out by the respective events though (for example, maybe you don’t need transaction or billing address info (from the PixelEventsCheckoutShippingInfoSubmittedData property for example), you could just not store that data long-term in your DB.
You are right though, if you’re working with an extension that works with upsells based on line item info, there could be risks if you’re not tracking all the data.
Hope this helps a bit - let me know if I can clarify anything on our end here.