I'd like to track user behavior of the following flow:
Add Items to Cart -> Begin Checkout -> Complete X Checkout Steps -> Abort Checkout (for whatever reason)
I know Google Analytics can track where in the process a user exits a specified flow, but what it doesn't provide for me is the knowledge of what was in their cart/order at that time. In Satchmo, an order seems to be updated/removed if a user in the same session (or user ID) exits the checkout flow and then re-enters it at a later time. I want to capture the "partially completed" order for each pass through the checkout process.
I think what I need to do is create a new model that is either an Order or a Cart (effectively a subclass that doesn't add any real functionality, I just want it to be in a new table in the DB). I'm leaning towards Cart, but I would call it "Partial Order" or something like that. When a user starts the checkout process I'd create a DB record in this table. If they complete the checkout, the record is deleted (because we have a record in the Orders table). If the checkout process is abandoned, the record stays put. And, on top of that, if a user bounces in and out of the checkout process (for whatever reason) in the same session or signed in with the same user ID, I want new records for each started checkout, not an update to one already created.
I'm looking for help in where I would need to plug in to the existing Satchmo code in order to accomplish this. There's a lot of stuff in there and sometimes it's a bit hard to sift through it all!
Thanks