Sign inBook a Call
Insights

GA4 Setup for D2C Ecommerce Tracking in India: A Practical Guide

The settings, store connection and India-specific fixes that make GA4 match your orders, so you can trust the numbers before you spend on ads.

By the Monastic Media teamUpdated 31 Oct 20267 min read

What GA4 is for in a D2C setup

GA4 does not replace your store admin, Meta Ads Manager or Google Ads. Your store admin is the record of orders. Meta and Google Ads tell you what each platform thinks it drove. GA4 sits in the middle. It is the one place where every channel is measured by the same rules, on the same website sessions.

So use GA4 to answer questions the ad platforms cannot answer fairly: which landing pages convert, where people drop between cart and payment, how organic, email and paid traffic compare, and what happens on mobile versus desktop. If GA4 is set up badly, all of those answers are wrong. Most of the mistakes we see in Indian stores come down to a few settings and the way the checkout is built.

Get the property settings right first

Create a GA4 property and a Web data stream for your store domain. Before you connect anything, fix these settings. Changing them later does not repair old data.

SettingWhere in GA4What to choose and why
Time zoneAdmin > Property detailsIndia (GMT+05:30). If it is left on US time, daily totals will never match your store's day.
CurrencyAdmin > Property detailsIndian Rupee, matching the store currency, so revenue is not converted.
Data retentionAdmin > Data collection and modification > Data retentionChange it from the default 2 months to 14 months, or year-on-year festive comparisons in Explorations become impossible.
Internal trafficData stream > Configure tag settings > Define internal trafficAdd your office and warehouse IPs, then switch the data filter from Testing to Active.
Unwanted referralsData stream > Configure tag settings > List unwanted referralsAdd every payment gateway and checkout domain you use (covered below).
Enhanced measurementData stream settingsKeep it on for scrolls, outbound clicks and site search. Turn off form interactions if they create noise.

Connect your store the right way

Most store platforms offer an official Google sales channel app or a built-in Google integration. For a standard hosted checkout this is usually the cleanest route. Connect your GA4 property there. It sends the main ecommerce events (view_item, add_to_cart, begin_checkout, purchase) and works with modern hosted checkouts, which mostly no longer allow custom scripts on the thank-you page.

Check whether your platform's integration also sends the purchase event from its server. If it does, a purchase is recorded even when the buyer's browser blocks scripts or the buyer never reaches the thank-you page. Browsing events like view_item and add_to_cart still fire from the browser, so some top-of-funnel loss remains. GA4 removes duplicate purchases when the same transaction ID arrives twice.

The most common mistake is running two setups at once: the official app, plus an old gtag snippet in the theme, plus a custom pixel or a Tag Manager container someone added years ago. Each one fires its own purchase. Pick one method and remove the rest. If you need custom events, add them through Tag Manager or a custom pixel, but never a second purchase tag.

The India-specific problems: gateways, one-click checkouts and COD

Payment gateway redirects. When a buyer pays by UPI or card, many gateways send them to their own domain and then back to your store. Without a fix, GA4 can start a new session on the way back and credit the sale to the gateway as a referral. Your Meta or Google campaign loses the credit. Add each gateway domain to the unwanted referrals list, then check Traffic acquisition for gateway names showing up as sources.

Third-party one-click checkouts. Many Indian stores replace the default checkout with an app that runs the address, OTP and payment steps on its own. In that case the purchase happens outside your platform's checkout, so the official Google app may not see begin_checkout or purchase. Ask the checkout provider exactly how they send events to GA4, whether they pass a transaction_id that matches your store order number, and whether you must turn off another purchase tag to avoid double counting.

Cash on delivery. GA4 records a COD purchase the moment the order is placed. If the parcel is refused or returned, GA4 still shows that revenue. GA4 is not your RTO report. Keep delivered revenue in your store admin or logistics dashboard, and read GA4 for behaviour and conversion trends. Our guide on high COD return rates covers how to handle this on the ads side.

Tag every Meta ad with UTMs

GA4 cannot read Meta's click IDs the way it reads Google Ads auto-tagging. Without UTMs, a lot of Meta traffic lands under direct or referral, or mixed in with organic Instagram. Add URL parameters at the ad level using Meta's dynamic values so you never type them by hand.

  • utm_source=facebook (or instagram, using the placement value if you want to split them)
  • utm_medium=paid_social, so GA4 groups it as Paid Social and not Organic Social
  • utm_campaign={{campaign.name}} and utm_content={{ad.name}}, so you can see which ads videos drove sessions
  • Use lowercase every time. GA4 treats Facebook and facebook as two different sources.
  • Never put UTMs on internal links inside your own site. They restart the session and wipe out the real source.

Key events and the links that matter

In Admin > Events, mark purchase as a key event. You can also mark begin_checkout and add_payment_info if you want to watch checkout drop-off, but keep purchase as the one that counts as success.

Then link GA4 to Google Ads, Merchant Center and Search Console from Admin > Product links. Linking Google Ads lets you build GA4 audiences for remarketing and see post-click behaviour. For bidding, most D2C stores do better importing purchases from the Google Ads tag than from GA4. The Google Ads conversion tracking guide explains that choice. For Meta, GA4 is not the source of truth for bidding either. That is the job of the pixel and Conversions API.

Test it, then reconcile every week

Open Tag Assistant, connect to your store, and watch DebugView in GA4 while you browse, add to cart and place two real test orders: one prepaid through your gateway and one COD. Each should show a single purchase event with the right value, currency INR and a transaction ID that matches the store order. Cancel the test orders afterwards.

Once live, compare GA4 purchases with store orders for the same week. They will never match exactly, and that is normal. Ad blockers, declined cookies and in-app browsers cause some loss. What matters is that the gap stays steady. A sudden jump in the gap usually means a theme change, a new checkout app or a broken tag. Note that GA4 credits sales using its own attribution settings, so Meta will usually look smaller in GA4 than in Ads Manager. Read why Meta purchases do not match store orders before you cut a campaign on GA4 numbers alone.

Consent and India's data protection rules

India's Digital Personal Data Protection rules are being phased in, and stores will need clear consent for collecting personal data. Most store platforms can show a cookie banner, and Google's tags can respect that choice through Consent Mode. Set this up now so your tracking does not break later. Never send names, phone numbers or emails into GA4 event parameters. Google's policies do not allow it, and it creates legal risk you do not need.

How Monastic Media helps

One in-house team in Surat scripts, shoots and edits the ads videos and runs the Meta and Google campaigns they go into, so the people who see the numbers make the next ad. See our performance marketing

Read next

Questions

Why does GA4 show fewer sales than my store admin?

Some buyers block scripts, decline cookies or shop inside in-app browsers, so some browser events never reach GA4. A server-side purchase event makes the gap smaller, but it will not be zero. Watch that it stays steady week to week.

Why is my payment gateway showing as a traffic source in GA4?

The buyer left your site to pay and came back, and GA4 started a new session with the gateway as the referrer. Add the gateway domain under unwanted referrals in your data stream's tag settings.

Does GA4 remove COD orders that get returned?

No. GA4 records the purchase when the order is placed and does not know about RTO. Use your store admin or shipping dashboard for delivered revenue.

Should I use my store's official Google app or Google Tag Manager?

Use the official app for core ecommerce events on a standard hosted checkout. Add Tag Manager only for extra custom events, and never let it fire a second purchase tag.

Can I use GA4 conversions to optimise Meta ads?

No. Meta optimises on its own pixel and Conversions API data. Use GA4 to compare channels and study site behaviour, not to feed Meta bidding.

Naaptol
“MM helped us scale from 0 to ₹2.6 CR/month in just 6 months with clear communication and industry expertise!”
Rakesh Naidu GM @ Naaptol

Ready to work with one team?

Book a call. If we can help you hit your goals, we will tell you how; if we cannot, we will tell you that too.