Web Analytics Audit: A Practical Guide to Fixing Your GA4 and GTM Setup in 2026
Your marketing decisions are only as good as the data informing them. If your Google Analytics 4 (GA4) setup is misconfigured, your Google Tag Manager (GTM) container is bloated with broken tags, or your conversion tracking is inaccurate, every report you generate and every decision you make based on that data is compromised. A web analytics audit systematically checks every component of your analytics implementation to identify and fix data accuracy issues before they lead to costly mistakes.
The problem is more common than most marketers realise. Studies consistently show that the majority of GA4 implementations contain at least one significant configuration error—duplicate tags, missing event tracking, incorrect attribution settings, broken goals, inflated traffic from internal visits, or improperly configured cross-domain tracking. For Singapore businesses running campaigns across multiple channels, inaccurate analytics can mean misspending thousands of dollars per month on the wrong channels or misattributing conversions to the wrong sources.
This guide walks you through a complete web analytics audit process: checking your GA4 configuration, auditing your GTM implementation, identifying and fixing data accuracy issues, and knowing when it is time to start fresh with a re-implementation. Whether you manage analytics for a single website or across multiple properties, this audit framework will help you trust your data and make better digital marketing decisions.
Auditing Your GA4 Setup
Start your audit by reviewing the foundational configuration of your GA4 property. Misconfigurations at this level affect all data collected and all reports generated.
Property settings: Verify that your GA4 property’s time zone is set to Singapore Standard Time (GMT+8) and currency is set to SGD—unless your primary market and reporting currency are different. Incorrect time zone settings cause session calculations to split incorrectly at midnight, distorting daily and hourly reports. Incorrect currency settings affect revenue and transaction reporting.
Data streams: Check that you have the correct data streams configured. Most websites need a single web data stream. If you also have iOS and Android apps, verify that separate data streams exist for each. Common errors include having multiple web data streams for the same website (causing duplicate data collection) or missing data streams for mobile apps that should be tracked.
Enhanced measurement: GA4’s enhanced measurement automatically tracks page views, scrolls, outbound clicks, site search, video engagement and file downloads. Verify that enhanced measurement is enabled and that the events it captures are relevant to your business. If you have custom tracking for any of these events via GTM, disable the corresponding enhanced measurement event to avoid duplicates.
Data retention: GA4 defaults to two months of data retention for exploration reports. For businesses that need historical analysis, this should be extended to 14 months (the maximum for standard GA4 properties). Check this setting under Admin, Data Settings, Data Retention. Note that standard reports (which use aggregated data) are not affected by this setting, but exploration reports and segments use event-level data subject to retention limits.
Google Signals: Check whether Google Signals is enabled. Google Signals enhances cross-device tracking and enables demographic and interest reporting, but it can trigger data thresholding—where GA4 withholds data to protect user privacy, resulting in “(other)” rows and missing data in reports. If you experience significant data thresholding, consider disabling Google Signals or creating a separate reporting identity that uses device-based tracking.
Attribution settings: Review your attribution model settings. GA4 defaults to the data-driven attribution model, which uses machine learning to distribute credit across touchpoints. Verify that your reporting attribution model and your conversion attribution model are aligned. Check the lookback window—GA4 defaults to 30 days for acquisition events and 90 days for other conversion events. Ensure these windows match your typical customer journey length.
Linked accounts: Verify that your GA4 property is correctly linked to Google Ads, Google Search Console, Google Merchant Centre and BigQuery (if applicable). Missing links mean missing data—without the Google Ads link, you lose Google Ads campaign data in GA4 reports. Without the Search Console link, you lose organic search query data. Check each link and verify that data is flowing correctly.
GTM Tag Audit
Google Tag Manager containers tend to accumulate tags, triggers and variables over time as different team members, agencies and developers add tracking code. A GTM audit ensures every tag is necessary, correctly configured and firing as intended.
Container inventory: Start by creating a complete inventory of every tag in your GTM container. For each tag, document: tag name, tag type (GA4 event, Google Ads conversion, Meta pixel, etc.), trigger conditions, status (active, paused or broken) and who added it and when. Most GTM containers contain tags that are no longer needed—old tracking pixels from campaigns that ended months ago, duplicate tags, or tags from analytics tools that are no longer used. Identify these and remove them.
Tag firing verification: Use GTM’s Preview mode (Tag Assistant) to verify that every tag fires correctly. Navigate through key pages and user flows on your website—homepage, category pages, product pages, form submissions, checkout process—and verify that the expected tags fire on each page and event. Look for tags that fire on every page when they should only fire on specific pages (wasting resources and potentially distorting data) and tags that do not fire when they should (causing missing data).
Duplicate tag detection: One of the most common GTM issues is duplicate tags—typically duplicate GA4 configuration tags or duplicate conversion tags that inflate page view counts and conversion numbers. Check for multiple GA4 configuration tags (there should be only one per data stream) and multiple instances of the same conversion tag. Also check whether the GA4 tracking code is hardcoded on the website in addition to being deployed via GTM—this is a frequent cause of double-counted page views.
Trigger accuracy: Review every trigger to ensure it fires under the correct conditions. Page view triggers should use the correct URL matching rules. Click triggers should target the correct elements. Form submission triggers should capture the correct forms. Custom event triggers should match the event names exactly. A common error is using “contains” matching when “equals” matching is needed, causing triggers to fire more broadly than intended.
Variable configuration: Check that data layer variables, URL variables and custom JavaScript variables are correctly configured and returning expected values. Use Preview mode to inspect variable values during page loads and events. Misconfigured variables can cause incorrect data to be sent to analytics platforms—for example, a revenue variable that captures the wrong field sends incorrect transaction values to GA4.
Container performance: Large GTM containers with many tags can slow down page load times, affecting both user experience and SEO performance. Check your container’s total size and the number of tags firing on each page. Use tag sequencing and trigger priorities to control firing order. Consider using tag firing priorities to load critical tags first and defer non-essential tags. Remove any unused tags, triggers and variables to reduce container size.
Common Data Accuracy Issues
Even a correctly configured GA4 property with a clean GTM container can suffer from data accuracy issues caused by external factors, tracking gaps and measurement limitations.
Internal traffic inflation: If your team, agency partners and developers are not excluded from analytics data, internal visits inflate traffic numbers and distort behavioural metrics. In GA4, define internal traffic by creating internal traffic rules based on IP addresses under Admin, Data Streams, Configure Tag Settings, Define Internal Traffic. Then create a data filter to exclude or identify internal traffic. For remote teams (common in Singapore’s hybrid work environment), consider using a combination of IP filtering and custom user properties to identify internal users.
Bot and spam traffic: GA4 automatically filters most known bot traffic, but some spam referral traffic and bot visits may still appear in your data. Check your referral traffic sources for suspicious domains with 100% bounce rates or zero-second session durations. Use hostname filters to ensure you only collect data from your legitimate domains.
Cross-domain tracking gaps: If your website spans multiple domains (e.g., a main site on yourdomain.sg and a shop on shop.yourdomain.sg or a third-party payment gateway), cross-domain tracking must be configured to maintain a single user session across domains. Without it, users are counted as new sessions when they cross domains, inflating session counts and breaking conversion attribution. In GA4, configure cross-domain measurement under Admin, Data Streams, Configure Tag Settings, Configure Your Domains.
Consent-related data loss: With cookie consent requirements and increasing browser privacy restrictions, a portion of your traffic is not tracked. Users who decline analytics cookies, browsers that block third-party cookies by default and privacy extensions like uBlock Origin all reduce the completeness of your data. GA4’s consent mode and data modelling attempt to fill these gaps using statistical modelling, but you should understand that your reported numbers represent an estimate rather than an exact count. In Singapore, where PDPA governs data collection, ensuring your consent mechanisms are correctly integrated with GA4 is essential.
Ad blocker impact: A significant portion of users—estimates range from 15% to 30% depending on the audience—use ad blockers that also block Google Analytics and other tracking scripts. This means your GA4 data systematically undercounts total traffic. The undercount is not random—it skews toward more technically savvy users. Be aware of this limitation when making decisions based on absolute traffic numbers.
UTM parameter inconsistency: Inconsistent UTM tagging is one of the most common causes of attribution errors. Variations in capitalisation (utm_source=Facebook vs utm_source=facebook), inconsistent naming conventions (utm_medium=cpc vs utm_medium=ppc vs utm_medium=paid) and missing UTM parameters on campaign links all fragment your data and make channel performance analysis unreliable. Establish a UTM naming convention, document it and enforce it across all team members and agency partners.
Conversion Tracking Audit
Conversion tracking accuracy is the most critical element of your analytics audit because conversion data directly drives budget allocation, campaign optimisation and ROI reporting.
Event completeness: List every important user action on your website—form submissions, purchases, phone calls, chat initiations, file downloads, video plays, key page views—and verify that each is tracked as a GA4 event. Check the Events report in GA4 to see all events being collected. Cross-reference this with your list of important actions. Any action on your list that does not appear as a GA4 event represents a tracking gap.
Conversion marking: In GA4, any event can be marked as a conversion (called a “key event” in 2026’s terminology). Verify that the correct events are marked as key events and that non-conversion events are not incorrectly marked. Common errors include marking page_view as a conversion (which counts every page view as a conversion) or failing to mark form submissions and purchases as conversions.
E-commerce tracking: For e-commerce websites, verify that the full e-commerce data layer is correctly implemented. Check that product views, add-to-cart events, checkout steps and purchase events are all tracked with the correct parameters (item names, prices, quantities, transaction IDs, revenue). Cross-reference GA4 revenue data against your actual sales data from your e-commerce platform (Shopify, WooCommerce, Magento) to verify accuracy. Discrepancies of more than 5% indicate tracking issues.
Google Ads conversion tracking: If you run Google Ads campaigns, verify that conversion tracking is correctly configured in both GA4 and Google Ads. Check whether you are importing GA4 key events into Google Ads or using separate Google Ads conversion tags. If both are active, you may be double-counting conversions. Verify that the conversion counting method (one per click vs every conversion) is appropriate for each conversion type—use “one” for lead forms and “every” for purchases.
Conversion value accuracy: For conversions with dynamic values (e.g., purchase revenue), verify that the correct values are being passed. Common errors include passing values in the wrong currency, passing values that include tax when they should exclude it (or vice versa), passing the item price instead of the total transaction value, or passing zero values due to data layer errors.
Attribution accuracy: Test your conversion attribution by completing conversions through known paths and verifying that GA4 attributes them correctly. For example, click a Google Ads ad, complete a conversion and verify that GA4 attributes it to Google/CPC. Click an email marketing link with UTM parameters, complete a conversion and verify correct attribution. This end-to-end testing reveals attribution gaps that report-level analysis may not catch.
Fixing Common Analytics Problems
Once your audit identifies issues, fixing them systematically is essential. Prioritise fixes based on their impact on data accuracy and your ability to make correct decisions.
Duplicate page view tracking: If your audit reveals that GA4 is counting page views twice (evidenced by inflated page view counts relative to sessions), check for duplicate GA4 configuration tags in GTM, hardcoded GA4 tracking code on the website alongside GTM deployment, or enhanced measurement page view tracking running alongside a custom page view tag. The fix is to ensure a single page view tracking mechanism—remove duplicates and test in Preview mode before publishing.
Missing conversion tracking: For untracked conversions, implement tracking through GTM. Create appropriate triggers (form submission triggers, click triggers, or custom events pushed to the data layer by your developers) and GA4 event tags. Test thoroughly in Preview mode, verify events appear in GA4’s real-time reports, then mark the events as key events once confirmed working.
UTM standardisation: Create a UTM naming convention document that specifies exact values for source, medium, campaign, term and content parameters. Use lowercase for all values. Use a UTM builder spreadsheet or tool that enforces your naming convention. Audit existing campaign links and correct any non-standard UTM parameters. Train all team members and agency partners on the naming convention.
Internal traffic exclusion: Configure internal traffic rules in GA4 using your office IP addresses. For remote workers, consider using a custom dimension or user property to identify internal users (e.g., setting a custom dimension via a browser extension or URL parameter). Apply a data filter to exclude identified internal traffic. Test the filter in “testing” mode before activating it to ensure it excludes the right traffic without accidentally excluding real users.
Cross-domain tracking setup: If your user journey spans multiple domains, configure cross-domain measurement in GA4 by adding all your domains to the cross-domain configuration. Verify that the linker parameter is being passed between domains by checking URLs during cross-domain navigation—you should see a _gl parameter appended to URLs. Test the complete user journey across domains and verify that GA4 maintains a single session.
Data layer fixes: If your e-commerce or event tracking relies on a data layer and the data layer is sending incorrect values, work with your development team to fix the data layer implementation. Document the expected data layer structure for each event, compare it against the actual data layer output (visible in GTM Preview mode) and correct any discrepancies. Data layer fixes require developer involvement and should be tested in a staging environment before deploying to production.
Complete Web Analytics Audit Checklist
Use this checklist to conduct a systematic analytics audit. Work through each item and document your findings.
GA4 property configuration:
- Time zone set to GMT+8 (Singapore)
- Currency set to SGD (or appropriate reporting currency)
- Data retention set to 14 months
- Google Signals configured appropriately
- Attribution model reviewed and appropriate for your business
- Google Ads account linked and verified
- Google Search Console linked and verified
- BigQuery export configured (if applicable)
- Enhanced measurement events reviewed for relevance and duplication
- Unwanted referral domains excluded
GTM container audit:
- Complete tag inventory documented
- Unused tags removed
- No duplicate GA4 configuration tags
- No hardcoded GA4 code alongside GTM deployment
- All tags verified firing correctly in Preview mode
- All triggers using correct matching conditions
- All variables returning expected values
- Container size and performance reviewed
Data accuracy checks:
- Internal traffic rules configured and filter active
- No significant bot or spam traffic in reports
- Cross-domain tracking configured and tested (if applicable)
- Consent mode properly integrated
- UTM naming convention documented and enforced
- Hostname filter in place to exclude ghost traffic
Conversion tracking verification:
- All key user actions tracked as events
- Correct events marked as key events (conversions)
- E-commerce tracking verified against actual sales data
- Google Ads conversion tracking verified, no double-counting
- Conversion values passing correctly
- End-to-end attribution testing completed
Reporting and integration:
- Custom reports and dashboards verified for accuracy
- Audiences configured for remarketing
- Custom dimensions and metrics documented
- Data import configured correctly (if applicable)
- Third-party tool integrations verified (CRM, email marketing platform, etc.)
When to Re-Implement Analytics
Sometimes the most efficient path forward is not fixing individual issues but re-implementing analytics from scratch. Re-implementation is a significant undertaking, but in certain situations it saves more time and delivers better results than patching a fundamentally broken setup.
Signs that re-implementation is warranted: Your GTM container has hundreds of tags with unclear ownership and no documentation. Multiple agencies or team members have made conflicting changes over years. Conversion data is so inaccurate that you cannot determine which channels drive actual business results. You migrated from Universal Analytics to GA4 but the migration was incomplete or incorrect. Your data layer is structurally flawed and requires a complete rebuild. You are redesigning your website and the tracking architecture needs to match the new site structure.
Re-implementation planning: Before starting, document your current tracking requirements: what events need to be tracked, what conversions matter, what integrations are needed and what reports stakeholders require. Use your analytics audit findings to identify what was working correctly (and should be replicated) and what was broken (and should be rebuilt). Create a measurement plan that defines every event, parameter, conversion and integration before writing a single line of configuration.
Phased approach: Re-implement in phases rather than all at once. Phase 1: Deploy a clean GA4 property and GTM container with core page view tracking and verify data accuracy. Phase 2: Implement conversion tracking for all key events and verify against actual business data. Phase 3: Configure advanced features—audiences, custom dimensions, data imports and third-party integrations. Phase 4: Build or migrate reports and dashboards. This phased approach allows you to verify accuracy at each stage.
Parallel tracking: Run your new implementation in parallel with the old one for at least two weeks. Compare data between the old and new setups to identify and resolve discrepancies before decommissioning the old implementation. Parallel tracking provides a safety net—if the new implementation has issues, you still have the old data as a reference.
Documentation: Document everything in your new implementation—every tag, every trigger, every variable, every conversion, every integration. Create a measurement plan document that serves as the single source of truth for your analytics setup. This documentation prevents the gradual degradation that necessitated the re-implementation in the first place.
A clean, accurate analytics implementation is the foundation of effective content marketing, paid media and SEO strategy. Invest the time to audit regularly—at minimum annually, and ideally quarterly for high-traffic, high-spend websites—to ensure your data remains trustworthy and your decisions remain well-informed.
Frequently Asked Questions
How often should I audit my web analytics setup?
Conduct a comprehensive analytics audit at least once a year. For websites with significant traffic (more than 100,000 monthly sessions), frequent changes or high advertising spend, conduct a quarterly audit. Additionally, perform a focused audit whenever you make significant website changes (redesign, new pages, new forms), change agencies or team members, launch new marketing channels or notice unexpected changes in your data.
How do I know if my GA4 data is accurate?
Cross-reference GA4 data against other data sources. Compare GA4 revenue against your e-commerce platform’s actual revenue—they should match within 5%. Compare GA4 form submission events against actual form submissions received. Compare GA4 session counts against server logs (if available). Check for common accuracy indicators: the ratio of sessions to page views should typically be between 1:2 and 1:5, your bounce rate should rarely be below 20% (which may indicate duplicate page view tracking), and your internal team’s visits should not appear in the data if filters are correctly configured.
Can I fix analytics issues without affecting historical data?
Changes to GA4 configuration are prospective—they affect data from the point of change forward but do not alter historical data. This means that if you fix a duplicate tracking issue, your historical data will still show inflated numbers but your data from the fix date forward will be accurate. You cannot retroactively correct historical GA4 data. For reporting purposes, add annotations to note when fixes were applied so that stakeholders understand data discontinuities.
What is the most common analytics mistake you see?
The most common mistake is duplicate page view tracking—where GA4 counts every page view twice because the tracking code is deployed both through GTM and hardcoded on the website, or because there are multiple GA4 configuration tags in GTM. This inflates page view counts, deflates bounce rates and distorts session calculations. It is often undetected for months because the data looks plausible (more page views appear positive), and it typically occurs during website migrations or agency transitions when new tracking is added without removing the old implementation.
Do I need a developer to fix analytics issues?
Many analytics issues can be fixed by a competent marketer using GTM—tag configuration, trigger adjustments, internal traffic filters and conversion setup. However, data layer issues, e-commerce tracking implementation, cross-domain tracking setup and consent mode integration typically require developer involvement. For a full re-implementation, working with both a developer and an analytics specialist is recommended to ensure the technical implementation and the measurement strategy are both correct.
How do I handle the gap in data when re-implementing analytics?
Run your new implementation in parallel with the old one for a minimum of two weeks, ideally a full month. This overlap period lets you compare data between implementations and verify accuracy before decommissioning the old setup. Export key historical data from the old implementation for reference. In your reports, clearly document the transition date and explain any data discontinuities. Stakeholders appreciate transparency about data transitions more than they appreciate artificially smooth trend lines that mask underlying measurement changes.



