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.
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:
| Event | When it fires | Required parameters |
|---|---|---|
view_item_list | Customer views a collection page | items array |
view_item | Customer views a product detail page | items, value, currency |
select_item | Customer clicks a product from a list | items |
add_to_cart | Item added to cart | items, value, currency |
remove_from_cart | Item removed | items |
begin_checkout | Customer starts checkout | items, value, currency |
add_payment_info | Payment method selected | payment_type, value, currency |
add_shipping_info | Shipping option selected | shipping_tier, value, currency |
purchase | Order completed | transaction_id, items, value, currency, tax, shipping |
refund | Order refunded | transaction_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:
- Currency = SGD in Shopify admin → Settings → General. Verify GA4 receives SGD-denominated values, not USD.
- Consent Mode enabled in Shopify Customer Privacy settings (PDPA compliance for SG buyers).
- 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.
Consent Mode v2 for PDPA compliance
Singapore’s Personal Data Protection Act (PDPA) requires explicit consent before processing personal data. For analytics:
- Cookie banner must offer real opt-in/opt-out, not pre-checked boxes
- Default consent state = denied before user makes a choice
- Update consent state when user accepts/rejects
- Send appropriate signals to GA4 via Consent Mode v2
Implementation in 2026 is mostly handled by:
- Shopify Customer Privacy (built-in)
- Cookie consent platforms like Cookiebot, OneTrust (paid) or free alternatives like Cookie Yes
- Klaviyo’s built-in consent management for email
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:
| Parameter | What it captures | Standard values |
|---|---|---|
utm_source | Platform | meta, google, tiktok, email, whatsapp |
utm_medium | Channel type | paid_social, cpc, email, organic_social |
utm_campaign | Campaign name | snake_case, descriptive (spring_launch_2026) |
utm_content | Creative variant | creative_a, b1_first_order_econ |
utm_term | Audience or keyword | as1_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:
- Recovers data lost to iOS17 ATT and ad-blockers (typically 20–40% more conversions visible)
- Faster page load (fewer client-side scripts)
- More control over what data leaves your server (privacy-positive)
The costs:
- ~US$30–100/month for hosting (Stape.io is the SG-friendly option)
- 4–8 hours of initial setup
- Ongoing maintenance when source platforms update their schemas
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:
- Currency mismatch. Shopify sends USD; GA4 expects SGD. Reports show $1.30 revenue when actual is S$1.30.
- Missing transaction_id. Causes duplicate purchase events when customers refresh confirmation page.
- Internal IPs not filtered. Your team’s browsing inflates session count by 5–15%.
- Bot traffic not filtered. GA4’s default bot filter is permissive; add custom filters for bot-pattern user agents.
- 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:
- Daily ecommerce summary — sessions, conversion rate, revenue, AOV, top channels
- Channel attribution — paid vs organic vs email vs direct, with cost data from Meta/Google overlaid
- Cohort retention — first-purchase month vs repeat-purchase, by acquisition channel
Free templates exist; copy and adapt to your store’s specifics.
Internal links and further reading
- Shopify Singapore — the platform GA4 is measuring
- AI tools for Singapore SMEs — workflow tools that use GA4 data
- SEO for Singapore ecommerce — measuring organic performance properly
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.