Event schema
Mobile commerce event tracking, written so another team can inherit it.
This page is the studio’s public reference for app analytics on storefronts — not a vendor spec, and not a promise that one dictionary fits every marketplace. Use it to brief engineering, then take the argument into a programme if you need critique.
The atoms we insist on naming
Most broken dashboards are not missing “AI insights.” They are missing agreement on six moments: view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info, purchase. If your app jumps from PDP to payment, write the skip. Inventing begin_checkout after the fact only trains the next hire to distrust the stream.
Search, wishlist, and recommendation impressions are useful, but they are not commerce atoms. Keep them in a separate family so promotional reporting does not swallow PDP intent.
Parameter contracts
Every atom carries currency, value, and an item array with stable ids. Thai baht is sent as a decimal string or a typed number — pick one, document it, and stop converting in the warehouse three different ways. Coupon codes belong on purchase and begin_checkout, not on view_item.
Guest carts need a documented rule for user_id: omit it, or send a session-scoped anonymous id that is never a phone number. Mixing those rules across iOS and Android is how duplicate purchasers appear after a campaign.