SGBP
ANALYTICS

GA4 for Singapore ecommerce: Shopify + WooCommerce setup, PDPA, attribution

GA4 ecommerce setup for Singapore Shopify and WooCommerce stores: dataLayer events, Consent Mode v2 PDPA compliance, UTM hygiene, server-side GTM, attribution model fixes.

Google Analytics 4 is the only Google Analytics in 2026. Universal Analytics sunset in July 2024; everyone is on GA4 now. But “on GA4” and “GA4 set up properly” are different states. Most Singapore Shopify stores have GA4 installed with the default events firing — and that’s about it. Conversion attribution is wrong, channel grouping is generic, and the attribution model is data-driven without anyone understanding what that means.

This is the GA4 setup guide for Singapore Shopify and WooCommerce operators. We cover proper ecommerce event tracking, Consent Mode v2 for PDPA compliance, UTM hygiene that doesn’t break, server-side GTM (when it’s worth it), and the attribution-model adjustments that actually matter.

OPERATOR'S TL;DR For Shopify operators: install the Google channel app, enable Consent Mode in Shopify's Customer Privacy settings, mark purchase as a conversion in GA4, and verify the standard 9 ecommerce events fire (view_item, add_to_cart, begin_checkout, purchase, etc.). For WooCommerce: install GA4 by Theme My Login or similar plugin. Skip server-side GTM until you cross S$200K annual revenue — the maintenance overhead doesn't pay off below that. The attribution-model swap (data-driven vs last-click) typically reveals 20–40% more channel-attributed conversions you didn't see in Pixel-only setups.

The 9 ecommerce events GA4 needs

GA4’s ecommerce schema standardizes nine events. Get all of them firing correctly with the required parameters and you have a working ecommerce analytics setup:

EventWhen it firesRequired parameters
view_item_listCustomer views a collection pageitems array
view_itemCustomer views a product detail pageitems, value, currency
select_itemCustomer clicks a product from a listitems
add_to_cartItem added to cartitems, value, currency
remove_from_cartItem removeditems
begin_checkoutCustomer starts checkoutitems, value, currency
add_payment_infoPayment method selectedpayment_type, value, currency
add_shipping_infoShipping option selectedshipping_tier, value, currency
purchaseOrder completedtransaction_id, items, value, currency, tax, shipping
refundOrder refundedtransaction_id, items, value

For Singapore stores: the currency: "SGD" parameter on every value-bearing event is non-negotiable. GA4 reports all revenue in your account default currency; mismatched currency tagging produces nonsense conversion values.

Shopify GA4 setup (proper version)

The Google channel app does most of the work, but three things need verification:

  1. Currency = SGD in Shopify admin → Settings → General. Verify GA4 receives SGD-denominated values, not USD.
  2. Consent Mode enabled in Shopify Customer Privacy settings (PDPA compliance for SG buyers).
  3. Standard events firing — check in GA4 DebugView or Realtime view by adding products to cart on a real device.

The common Shopify GA4 issue: purchase events fire with the wrong currency or missing tax/shipping breakdowns. Fix in the Google channel app’s settings, or use a server-side GTM container if Shopify’s native config doesn’t expose what you need.

WooCommerce GA4 setup

WooCommerce doesn’t have a Google-blessed integration like Shopify does. The best paths in order of complexity:

Easy: GA4 by Theme My Login or similar plugin. Drop in your GA4 measurement ID, enable enhanced ecommerce, done. Handles 80% of cases.

Medium: GTM with WooCommerce dataLayer. Install GTM via Site Kit, add WooCommerce dataLayer plugin, configure GA4 tags. More flexibility, more configuration.

Advanced: Server-side GTM with WooCommerce server-side events. Required only at scale (S$500K+ annual) where iOS17 ATT data loss matters more than implementation cost.

Singapore’s Personal Data Protection Act (PDPA) requires explicit consent before processing personal data. For analytics:

  1. Cookie banner must offer real opt-in/opt-out, not pre-checked boxes
  2. Default consent state = denied before user makes a choice
  3. Update consent state when user accepts/rejects
  4. Send appropriate signals to GA4 via Consent Mode v2

Implementation in 2026 is mostly handled by:

The technical signal that matters: gtag('consent', 'update', { analytics_storage: 'granted' }) after user opts in. Without this, GA4 receives partial pings (Consent Mode “modeled conversions”) which are estimates, not measured data.

UTM hygiene: the discipline that prevents 80% of attribution chaos

Most Singapore stores have UTM tagging that’s inconsistent across teams, channels, and campaigns. The fix is a documented standard:

ParameterWhat it capturesStandard values
utm_sourcePlatformmeta, google, tiktok, email, whatsapp
utm_mediumChannel typepaid_social, cpc, email, organic_social
utm_campaignCampaign namesnake_case, descriptive (spring_launch_2026)
utm_contentCreative variantcreative_a, b1_first_order_econ
utm_termAudience or keywordas1_ecom_ai, shopify_singapore_kw

Use Google’s UTM builder to construct URLs cleanly: ga-dev-tools.google/campaign-url-builder/.

The discipline: every paid link uses UTMs. Every email uses UTMs (Klaviyo auto-appends). Every WhatsApp link uses UTMs. Document the schema in a Google Doc your team can reference. One person owns UTM standards for the company.

When server-side GTM is worth it

Server-side Google Tag Manager runs your tracking through your own server before sending data to GA4, Meta, Google Ads, and TikTok. The benefits:

The costs:

Worth it if: annual ecommerce revenue is above S$200K AND a meaningful chunk runs through paid acquisition (Meta, Google, TikTok ads). Below that revenue, the data-loss recovery doesn’t justify the maintenance overhead.

Skip if: you’re under S$200K annual or your traffic is mostly organic/email — client-side GA4 captures organic and email conversions correctly without server-side help.

The attribution-model question

GA4’s default attribution model in 2026 is “data-driven” — Google’s machine learning assigns conversion credit across touchpoints based on observed patterns. The alternatives (last-click, first-click, position-based) are still selectable.

For most Singapore SMEs, data-driven is right — it captures the multi-touch reality of how customers buy (“saw an Instagram ad → searched on Google → clicked an email → bought”). Last-click systematically over-credits the final touchpoint and under-invests in upper-funnel channels.

The exception: if your conversion volume is low (under 50 conversions/month per channel), data-driven attribution is unstable and you should temporarily use position-based or last-click until you have more data.

Common GA4 mistakes that cost Singapore stores money

Top 5 we see during audits:

  1. Currency mismatch. Shopify sends USD; GA4 expects SGD. Reports show $1.30 revenue when actual is S$1.30.
  2. Missing transaction_id. Causes duplicate purchase events when customers refresh confirmation page.
  3. Internal IPs not filtered. Your team’s browsing inflates session count by 5–15%.
  4. Bot traffic not filtered. GA4’s default bot filter is permissive; add custom filters for bot-pattern user agents.
  5. No conversion goals defined. GA4 collects everything but you haven’t told it which events are conversions — reports show traffic, not business outcomes.

Looker Studio dashboards every SG store needs

GA4’s native UI is functional but slow. Three Looker Studio dashboards earn their setup time:

  1. Daily ecommerce summary — sessions, conversion rate, revenue, AOV, top channels
  2. Channel attribution — paid vs organic vs email vs direct, with cost data from Meta/Google overlaid
  3. Cohort retention — first-purchase month vs repeat-purchase, by acquisition channel

Free templates exist; copy and adapt to your store’s specifics.

GA4 in 2026 is genuinely powerful — when set up properly. The Shopify Google channel app and a disciplined UTM standard get you 80% of the value. Server-side GTM and Looker dashboards close the rest at scale. The pages with bad GA4 setup waste real money — paid ads optimize on bad signal, organic looks weaker than it is, and lifecycle decisions miss the data they need. Spend the four hours to get it right.

Frequently asked questions

Is GA4 free for Singapore businesses?
Yes — GA4 (Google Analytics 4) is free for any business at any scale. The paid tier is GA4 360 (~US$50,000/year), only relevant for enterprise data warehouses. Singapore SMEs run entirely on free GA4. The tradeoffs of free GA4: 14-month data retention default, BigQuery export with quotas, sampling on large queries. Most ecommerce stores under S$5M annual never hit these limits.
How do I set up GA4 for Shopify in Singapore?
Three steps. (1) Install the Google channel app from Shopify App Store (free). It auto-configures GA4 + Google Ads + Merchant Center. (2) In Shopify admin, ensure Customer Privacy → Cookies → Consent Mode is enabled (PDPA compliance). (3) In GA4, mark purchase as a conversion and verify ecommerce events appear. Total time: 30–45 minutes. The Google channel handles 90% of the configuration that used to require manual GTM setup.
Does Singapore PDPA require Consent Mode v2 in GA4?
Singapore's PDPA doesn't mandate Consent Mode specifically, but the spirit (explicit consent before tracking personal data) lines up. Consent Mode v2 is mandatory for serving ads in EEA but is best practice elsewhere. For SG-only sellers, a clear cookie banner with consent options + correct GA4 consent signals satisfies PDPA. Klaviyo, Shopify, and most checkout flows now ship Consent Mode v2 ready.
How do I track Meta Ads + Google Ads + organic together in GA4?
Use UTM tagging discipline. For paid traffic: tag every ad with utm_source, utm_medium, utm_campaign at minimum. GA4 attributes correctly across channels using its data-driven attribution model (default in 2026). For server-side reconciliation, set up Meta CAPI alongside Pixel and connect Google Ads via the linked GA4 property. You'll see ~20–40% more conversions in GA4 versus iOS-restricted client-side Pixel.
What's the difference between GA4 and Universal Analytics for ecommerce?
Universal Analytics (UA) was sunset July 2024; GA4 is the only Google Analytics. The big differences: GA4 is event-based (everything is an event), data-driven attribution is default, sessions and users count differently, and ecommerce events have new schema (purchase, add_to_cart, view_item with structured items array). If you're still running on UA, you've lost data — GA4 is the migration target.