Carts: Track Shopping Activity
The Carts section shows you every shopping cart created by your visitors — whether they're actively shopping or have abandoned their cart. This is a goldmine for understanding buyer intent and recovering lost sales.
What Is a Cart?
A cart represents a visitor's selection of products they intend to purchase. Carts are created when visitors add items through your chat widget, WhatsApp, Instagram, or website. Each cart tracks the products, quantities, pricing, and the visitor who created it.
Accessing Carts
- Open your Workspace
- Go to Shop in the sidebar
- Click Carts
Cart Details
Each cart record shows:
| Field | Description |
|---|---|
| Visitor | The person who created this cart |
| Product | The product added to the cart |
| Item | The specific item name |
| Price | Unit price of the item |
| Qty | Quantity added |
| Total | Price × Quantity (with discounts and VAT applied) |
| Source | Where the cart was created: WhatsApp, Instagram, Facebook, or Website |
| Active | Whether the cart is still active |
Filtering
Filter carts by:
- Source — Show carts from a specific channel (WhatsApp, Instagram, Facebook, Website)
- Visitor — Find carts belonging to a specific visitor
- Active — Show only active or inactive carts
Why Carts Matter
- Abandoned cart recovery — Reach out to visitors who added items but didn't complete their purchase
- Buying intent signals — A cart tells you exactly what a visitor is interested in
- Channel insights — See which channels drive the most shopping activity
- Product popularity — Identify which products are being added to carts most often
Best Practices
- Follow up on abandoned carts — Use broadcasts or automated workflows to send a gentle reminder to visitors with inactive carts
- Track cart-to-order conversion — Compare cart activity with completed orders to understand your sales funnel
- Monitor by source — If most carts come from WhatsApp, consider investing more in your WhatsApp presence
Technical Details
Service: app/Modules/Commerce/Services/CartService.php
Model: app/Models/Cart.php
How the Cart Works
- Each WhatsApp visitor has their own cart, identified by phone number + company ID
- Cart items are stored in the
cartstable withis_activeflag - Max 20 items per cart (configurable via
COMMERCE_MAX_CART_ITEMS) - Supports variant pricing via the
optionsJSON column (variant_price,variant_name) - Stock is validated before adding items; decremented on order creation; restored on cancellation
- The
CartUpdatedandCartClearedevents are dispatched for each action
Partial Checkout
The Catalogue Flow supports partial checkout — customers can select specific items to check out while leaving others in the cart. This is handled via selected_cart_ids in the checkout data.
WhatsApp Formatting
CartService::formatForWhatsApp() generates a WhatsApp-friendly cart summary:
🛒 *Your Cart*
1x Product Name — ₦1,500
2x Another Item — ₦3,000
Total: ₦4,500
Test Coverage
tests/Feature/Modules/Commerce/InteractiveMessageHandlerTest.php— Cart button handlerstests/Feature/Modules/Commerce/CommerceTextCommandTest.php— Cart text commands
Related
- Products — Manage your product catalog
- Orders — Track completed sales
- Broadcasts — Send cart recovery messages
- Visitors — Manage your contact pipeline
Keywords
shopping carts, abandoned carts, cart recovery, buyer intent, ecommerce carts, cart tracking, shopping activity