GA4 ecommerce tracking records events such as view_item, add_to_cart, begin_checkout and purchase, so you can see where shoppers drop off. Google notes these events are not sent automatically; your platform or developer adds them. For cash on delivery stores, also record refused parcels with the refund event, so revenue figures stay honest.
Key Takeaways
- Ecommerce events must be added to your store; GA4 does not collect them automatically.
- The core funnel is view_item, add_to_cart, begin_checkout, add_payment_info and purchase.
- Record payment method so you can compare cash on delivery with prepaid orders.
- Use the refund event for refused or returned COD orders, otherwise revenue looks better than it is.
- Watch a handful of numbers weekly rather than every report GA4 offers.
What Is GA4 Ecommerce Tracking?
Google Analytics 4 can show how shoppers move through your store, from viewing a product to paying, and where they give up. GA4 ecommerce tracking works by sending named events with product and order details. Google's Analytics Help states that ecommerce events are not sent automatically: they must be added to your website, app or Tag Manager set-up, although some platforms, including Shopify through its pixel, send some of them for you. Reports can take up to 24 hours to fill, and DebugView shows events in real time while testing.
Tracking matters most once the basics in our store start-up guide are in place.
Which Events Should a Store Track?
Google's developer documentation lists recommended ecommerce events. The ones most stores need:
| Event | When it fires | What it tells you |
|---|---|---|
| view_item_list | A category or search results page is shown | Which lists get attention |
| view_item | A product page is viewed | Product interest |
| add_to_cart | A product is added to the cart | Which products convert interest to intent |
| begin_checkout | Checkout starts | Cart-to-checkout drop-off |
| add_shipping_info | Delivery details entered | Whether delivery costs stop people |
| add_payment_info | Payment method chosen | COD vs prepaid choice |
| purchase | Order placed | Orders and revenue |
| refund | Order refunded fully or partly | Lost revenue from refusals and refunds |
Each event carries an items array with product details. Google's example purchase event includes a transaction ID, value and currency, and it recommends setting currency whenever you send a value. Use PKR consistently.
How Should Cash on Delivery Orders Be Tracked?
In a COD store, a purchase event fires when the order is placed, but some parcels are refused at the door. If you do nothing, GA4 counts that revenue forever. Two practical steps help:
- Record the payment method (COD, card, wallet, bank transfer) as a parameter on add_payment_info and purchase, so reports can separate them.
- Send a refund event when a COD order is refused, cancelled or returned, with the same transaction ID and the items involved. Google's help page says each refunded item should be included in the items array, for full or partial refunds.
Sending refunds usually needs a small server-side integration or a manual import, because the refusal happens days later at the courier. Our COD guide covers reducing refusals in the first place.
Which Numbers Are Worth Watching?
| Number | How to read it |
|---|---|
| Sessions to purchase rate | Overall store performance; compare month to month |
| Add-to-cart rate by product | Low rates suggest price, photos or description problems |
| Checkout completion rate | Low rates point to delivery costs or form problems |
| Revenue after refunds | The honest revenue figure |
| COD refusal rate | Share of COD orders later refunded |
| Revenue by traffic source | Which channels bring buyers, not just visitors |
Our abandoned cart guide explains what to do about checkout drop-off.
What Commonly Goes Wrong?
- Purchase events firing twice when the thank-you page is refreshed; use the transaction ID and test.
- Values sent without currency, or in mixed currencies.
- Apps and the platform both sending the same events.
- Test orders left in the live data.
- Nobody checking DebugView after theme or app changes.
What About Privacy and Consent?
Never send names, phone numbers, emails or addresses to GA4; Google's policies prohibit personal information in Analytics. Use order IDs instead. If you have visitors from the UK or EU, cookie consent rules apply, and Google's consent mode can adjust tracking based on choices. Mention analytics in your privacy policy.
Getting It Set Up
Our stores, from Rs 157,500, include GA4 ecommerce events and payment-method tracking, tested in DebugView before launch. See e-commerce development.
See also Ecommerce SEO in Pakistan.
Frequently Asked Questions
- Google Analytics Help — Measure ecommerce
- Google Analytics developers — Measure ecommerce (GA4)
- Google Analytics Help — Best practices to avoid sending PII
- ICO — UK GDPR guidance and resources
How we researched this: Event names, the not-automatic note, Shopify pixel mention, 24-hour delay, DebugView, refund items rule and the currency recommendation come from Google Analytics Help and developer pages checked 30 October 2026. The KPI table and COD approach are editorial. Our prices come from the published list.
Not sure your sales data is right?
Message us on WhatsApp for a fixed quote, or see our published pricing first.