Watson.

Google Analytics Detective.

Catch hidden issues in your GA4 before others even notice, fix ‘em all, and save the day!

  • Instant Audit Results
  • 52+ Critical Checks (And Growing!)
  • Plug-n-Play Looker Studio Report

Watson dives into your GA4 data, investigates hidden errors, and uncovers insights that help you save the day while keeping your GA4 running smoothly. Let’s solve your data mysteries, one audit at a time!

Choose your plan

Watson Free
Free

A quick and easy way to get started with GA4 audits—perfect for individuals or small businesses seeking an initial data health overview.


✓ +55 Critical Checks
✓ Best-in-Class Audit Template
✓ Instant Access
✓ Limited to Last 7 Days
✓ Limited Checks
Watson White Label
$497.00
One time

Ideal for agencies and consultancies looking to fully customize the platform for their brand and clients.


✓ All Features in Pro
✓ Full Edit Access (themes, criteria, colors, fonts, logos)
✓ Exportable Data for Offline Use or Client Reporting

FAQ

  • To use Watson to audit your GA4 property, you can simply access this Looker Studio report and select your GA4 property from the drop-down menu.

  • Absolutely! Each user who will access the Looker Studio report (e.g. you) will only see the list of GA4 properties that they have access to in the data control drop-down menu. Other users, including us, can’t see the list of your GA4 properties or access your data in any way. For more information, please refer to this official documentation page.

  • Yes. You can purchase a copy of this dashboard and fully customize it to reflect your own brand or those of your clients.

  • Please refresh the report or come back later. Depending on how may times a specific GA4 property is getting accessed via GA4 API per day, per hour, or simultaneously, it might hit one of the GA4 API quota limits. For more information, please refer this official documentation page on GA4 API Quotas.

  • Please use the Feedback button available on the dashboard to report any issues or errors. We’re here to help resolve them quickly and improve your experience.

  • Absolutely! Your input is valuable. Simply click on the Feedback button in the dashboard and share your suggestions. We’re constantly improving Watson based on user feedback.

Watson’s GA4 Audit Handbook

Watson’s GA4 Audit Handbook

Page Views with Suspected PII

Issue Explanation

Transmitting Personal Identifiable Information (e.g., user email, phone number, or any unique personal data) in GA4 hits breaches Google’s terms and can lead to property termination. GA4 does not allow direct storage or processing of PII, as it poses regulatory and privacy risks. This typically happens when query parameters or event parameters capture form inputs without sanitization or hashing.

Audit Criteria

  • 🥳: 0 instances of PII

  • 😰: Any instance of PII

How to Fix

  • Implement client-side or server-side logic to scrub or hash sensitive fields (e.g., encode emails before sending).

  • Configure data filters in GA4 to remove parameters that might reveal personal data.

Supporting Documentation

Page Views with 404 Error

Issue Explanation

When GA4 records page titles containing “404” or “Not Found,” it indicates the user encountered a broken link or missing page. Excessive 404s degrade SEO performance by creating dead ends for search engines. Users also have a poor experience and may leave the site, reducing engagement metrics.

Audit Criteria

  • 🥳: <0.1% of total page views

  • 🧐: 0.1% – 0.3%

  • 😰: >0.3%

How to Fix

  • Run a site-wide crawler (e.g., Screaming Frog) or parse server logs to identify broken links.

  • Implement 301 redirects for pages that are permanently moved; use 410 or custom messaging for truly removed content.

  • Ensure internal linking structures and sitemaps point to valid URLs to prevent accidental 404 hits.

Supporting Documentation

Missing Landing Pages

Issue Explanation

Some sessions may lack a “landing_page” dimension if the initial page_view event fails to record. This can happen when the GA4 snippet fires late, when a user navigates away too quickly, or if session parameters aren’t being passed correctly. Gaps in landing page data disrupt funnel analysis and skew acquisition reporting.

Audit Criteria

  • 🥳: <3% of total sessions

  • 🧐: 3% – 5%

  • 😰: >5%

How to Fix

  • Confirm the GA4 tag loads as early as possible (e.g., in the <head> or via a server-side approach).

  • Check that the page_view event is not suppressed or filtered by any property settings or custom code.

  • Validate session-scoped parameters in DebugView to ensure the first page hit is properly recognized.

Supporting Documentation

Pages with High Bounce Rate

Issue Explanation

A high bounce rate (>70%) for pages with sufficient traffic signals (>100 views during date range) can indicate potential issues like misaligned content, slow loading times, or single-page sessions with no further interaction. GA4 can help analyze these factors. GA4 calculates bounce rate differently than UA (it’s based on engaged sessions), but extremely high bounce indicates users don’t progress to other site areas or generate additional events.

Audit Criteria

  • 🥳: <1% of pages have >70% bounce rate

  • 🧐: 1% – 3%

  • 😰: >3%

How to Fix

  • Improve page speed (optimize images, minify JS/CSS, enable caching) and test on mobile networks.

  • Create additional interaction events (scrolls, button clicks) to measure engagement more accurately.

  • Align metadata (title, description) to actual page content so users are not misled by search results.

Supporting Documentation

Content Grouping

Issue Explanation

Content grouping allows you to categorize pages or screens into logical “groups” for easier analysis (e.g., product pages, blog posts). Without it, analyzing performance by content type is cumbersome. GA4 supports content grouping via custom parameters, but if these parameters aren’t set, you lose a valuable segmentation tool.

Audit Criteria

  • 🥳: Content grouping data is collected

  • 😰: No Content grouping data

How to Fix

  • Define content groups in GA4 Admin, specifying how to map pages or events to each group.

  • Update your data layer or GTM to pass a content_group parameter whenever a page_view or screen_view occurs.

  • Confirm that custom dimensions (or automatically collected parameters) align with your defined groups.

Supporting Documentation

Site Search

Issue Explanation

Capturing internal search data provides insight into user intent, content gaps, and potential enhancements. If GA4 isn’t configured to recognize your query parameter (e.g., q or s), you lose valuable data about how visitors navigate and what information they seek internally.

Audit Criteria

  • 🥳: Internal search data is tracked

  • 😰: No site search data

How to Fix

  • Identify the search query parameter on your site (e.g., ?s= or ?q=) and configure GA4 to treat this as a search event.

Supporting Documentation

Excessively Long Mediums

Issue Explanation

If your UTM medium exceeds 20 characters, it may not match GA4’s default channel groupings or cause data to be truncated or mismatched. Mediums complicate reporting and can result in multiple mediums for the same traffic source (e.g., socialmediaorganicpromotions vs social).

Audit Criteria

  • 🥳: 0 mediums exceed 20 characters

  • 😰: Any mediums exceed 20 characters

How to Fix

  • Adopt concise naming conventions: email, social, affiliate, cpc, etc.

  • Use consistent UTMs across all campaigns so GA4 recognizes the traffic source accurately.

  • Run a UTM audit using a spreadsheet or script to catch incorrectly formatted tags.

Direct Traffic Validation

Issue Explanation

A high percentage of direct traffic can mean users genuinely typed in your URL, but it can also indicate untagged marketing links, broken or missing UTMs, or overwritten referral data (e.g., from redirects). The result is incomplete attribution and unclear marketing ROI.

Audit Criteria

  • 🥳: <20% of total sessions

  • 🧐: 20% – 30%

  • 😰: >30%

How to Fix

  • Ensure all outbound campaign links (email blasts, social ads, affiliates) include proper UTMs.

  • Validate that your site’s redirects preserve UTM parameters in the query string.

  • Filter spam and bot traffic that could inflate direct sessions with no identifiable source.

Supporting Documentation

URLs with Uppercase

Issue Explanation

Different URLs with only case variations (e.g., /Product vs /product) create duplicate entries in GA4, fragmenting pageview data. Users might also share uppercase URLs, or the CMS might generate case inconsistencies, inflating your unique page counts.

Audit Criteria

  • 🥳: <3% of total URLs

  • 🧐: 3% – 5%

  • 😰: >5%

How to Fix

  • Implement server-side redirects (301) forcing all uppercase paths to lowercase.

  • Configure your CMS or .htaccess to normalize URL case.

  • Use GA4 filters or transformations to standardize the path dimension if server-side fixes are not possible.

Email Referral Issues

Issue Explanation

GA4 can label inbound clicks from email services (e.g., mail.google.com) as referrals instead of email if UTMs are missing. The increase in referral sessions distorts the true performance of email campaigns, making it difficult to accurately attribute results to the correct marketing channels.

Audit Criteria

  • 🥳: <1% of total referral sessions

  • 🧐: 1% – 3%

  • 😰: >3%

How to Fix

  • Use utm_medium=email and utm_source=newsletter (or similar) on all email links.

  • Check if your email provider modifies links; sometimes link trackers add their own referral subdomains.

  • Update GA4’s default channel grouping to catch any mail-related referrers if UTMs fail.

Payment Referral Sessions

Issue Explanation

When payment gateway domains (e.g., PayPal, Stripe) appear as referral sources, GA4 incorrectly attributes conversions to these middleman sites. Properly excluding these gateways ensures that the true traffic source is credited for the transaction and that funnel reports are not interrupted.

Audit Criteria

  • 🥳: 0 sessions mistakenly attributed to payment domains

  • 😰: Any misattributed sessions

How to Fix

  • In GA4 Admin, list payment domains under “List unwanted referrals” or “ignore_referrer” settings.

  • Confirm the post-payment “return” or “thank you” page triggers a purchase event with the original session attribution.

  • Test the checkout flow to verify that the session does not reset when redirecting to/from the gateway.

Supporting Documentation

AI-Generated Sessions

Issue Explanation

Traffic from AI chatbots or platforms like ChatGPT may show up if your site permits it in robots.txt. Tracking this traffic can be relevant for content strategy (e.g., understanding how AI references your content). Missing or zero AI traffic could mean your site is inadvertently blocking relevant crawlers or the AI platforms aren’t referencing your domain.

Audit Criteria

  • 🥳: >0.1% of total sessions from AI sources (if you want AI referencing)

  • 🧐: Some uncertain or anomalous spikes

  • 😰: 0, if the goal is to appear in AI-driven suggestions

How to Fix

  • Check your robots.txt and meta directives to ensure AI crawler user-agents are not disallowed.

  • Ensure correct canonical tags so that generative AI tools properly associate your content with your domain.

Unassigned Users

Issue Explanation

Users flagged as unassigned lack a recognized acquisition source, meaning GA4 cannot link them to any marketing channel. Results may stem from incomplete UTM usage, cookie consent issues, missing user identity frameworks, or technical problems with GA4.

Audit Criteria

  • 🥳: <3% of total users

  • 🧐: 3% – 5%

  • 😰: >5%

How to Fix

  • Validate your UTMs on each external campaign link (source, medium, campaign).

  • Check if your site’s landing page or redirect structure drops campaign parameters before GA4 can process them.

Supporting Documentation

Unassigned Sessions

Issue Explanation

Similar to unassigned users, these are session-level failures to detect a channel source. A typical cause is stripped query parameters (UTMs) due to JavaScript redirects, or referrer data not being passed along. This leads to incomplete channel data inaccurate funnel attribution.

Audit Criteria

  • 🥳: <3% of total sessions

  • 🧐: 3% – 5%

  • 😰: >5%

How to Fix

  • Inspect your site’s routing logic to ensure that UTMs aren’t lost during page loads or language/country redirects.

  • Use consistent naming in your campaigns so that GA4’s default channel grouping can classify them properly.

  • Review environment-based issues, like iOS apps opening links in internal browsers that strip referrer data.

Supporting Documentation

Self-Referrals

Issue Explanation

Self-referrals happen when GA4 sees your own domain as a referring source. This restarts a session, breaking user flows and assigning conversions incorrectly. Potential causes include missing cross-domain tracking, multiple subdomains not recognized as one property, or incorrectly configured referral exclusions.

Audit Criteria

  • 🥳: <0.1% of total sessions from self-referrals

  • 🧐: 0.1% – 0.3%

  • 😰: >0.3%

How to Fix

  • Add your domain(s) to the referral exclusion list in GA4 (Admin → Data Streams → Configure tag settings).

  • Check cross-domain tracking scripts for subdomain transitions (e.g., shop.example.com → example.com).

  • Use DebugView to ensure the _ga or _ga_<measurement_id> cookie is consistently recognized across subdomains.

Supporting Documentation

Internal UTM Tagging

Issue Explanation

Using UTMs on internal site links triggers new sessions in GA4 and can misrepresent traffic sources. It exaggerates certain channels, like email and social media, disrupts the funnel flow, and hides the actual source of visitors.

Audit Criteria

  • 🥳: <1% of total page views

  • 🧐: 1% – 3%

  • 😰: >3%

How to Fix

  • Remove UTMs for internal promotions

  • Use a custom dimension or event to track internal campaigns if you need to measure them.

Truncated Events

Issue Explanation

GA4 enforces a 40-character limit on event names. Anything beyond that gets truncated, causing partial or indistinguishable event names. This leads to confusion when analyzing event performance or setting up conversions.

Audit Criteria

  • 🥳: 0 truncated event names

  • 😰: At least one event name exceeding 40 characters

How to Fix

  • Audit all custom events in your code or GTM for length.

  • Adopt a standardized naming pattern (e.g., category_action_label) ensuring each part remains short.

Supporting Documentation

Manually Collected Events

Issue Explanation

GA4 offers up to 500 distinct custom events per property. If you exceed this or fail to define any custom events at all, you either lose event data or underuse GA4’s flexibility. An excessive number of events often arises from duplication, test data, or overly granular naming.

Audit Criteria

  • 🥳: 1–399 custom events

  • 🧐: 400–500

  • 😰: Over 500 or 0

How to Fix

  • Remove or consolidate redundant events (e.g., combine multiple events with similar meanings into a single one).

  • Ensure you at least track key interactions if you’re at 0.

  • Regularly review your event schema so that only meaningful actions are logged.

Supporting Documentation

Non-Snake Case Events

Issue Explanation

Using naming conventions like addToCart or User-Login complicates queries, filters, and debugging. GA4 recommends snake_case for custom events to keep a consistent pattern, ease search/discovery, and prevent name mismatch issues in advanced reporting.

Audit Criteria

  • 🥳: All custom events follow snake_case (e.g., add_to_cart)

  • 😰: One or more events use another pattern (e.g., camelCase, kebab-case)

How to Fix

  • Communicate naming standards to developers and marketers to maintain long-term consistency.

Custom Audiences

Issue Explanation

GA4 custom audiences let you group users based on specific behaviors, events, or attributes. If none are configured, you miss opportunities for remarketing, personalization, and targeted analyses (e.g., re-engaging cart abandoners or frequent buyers).

Audit Criteria

  • 🥳: At least one custom audience configured

  • 😰: No custom audiences

How to Fix

  • In GA4 Admin, create audiences using relevant event conditions (e.g., “Add to Cart” but no “Purchase”).

  • Validate that these audiences populate in real-time or short-latency aggregated data.

  • Link to Google Ads if you plan to use these audiences for retargeting.

Supporting Documentation

Demographic Data Collection

Issue Explanation

Enabling Google signals lets GA4 collect age, gender, and interest data (subject to user consent). Without it, you miss demographic insights and advanced features like remarketing lists. Many businesses overlook enabling it, resulting in incomplete user profiling.

Audit Criteria

  • 🥳: Demographics and interest reports display data

  • 😰: No demographic data

How to Fix

  • Toggle on Google signals in GA4 Admin → Data Settings → Data Collection.

  • Comply with relevant privacy laws (e.g., GDPR) and ensure user consent is collected if required.

  • Check that your property region or account settings do not block advertising features or data collection.

Supporting Documentation

Key Events Configuration

Issue Explanation

Marking certain events as “key events” improves how GA4 attributes conversions and tracks priority actions. If none are flagged, GA4 lacks focus on your primary goals (like signups or purchases) and might not produce relevant insights for attribution.

Audit Criteria

  • 🥳: One or more events marked as key events.

  • 😰: No key events selected

How to Fix

  • Identify your top-tier events (e.g., add_to_cart, generate_lead, complete_registration) and mark them as key.

  • Confirm these key events align with actual business objectives so you’re measuring what truly matters.

  • Review regularly to see if new or evolving business goals require updating your key events.

Supporting Documentation

User-ID Setup

Issue Explanation

GA4’s User-ID capability merges sessions across devices for logged-in users, giving a holistic view of user behavior. If missing, frequent cross-device usage can inflate user counts and fragment session data, making it difficult to understand lifetime value or multi-device paths.

Audit Criteria

  • 🥳: GA4 receives user_id data

  • 😰: No user_id data

How to Fix

  • Incorporate a unique, persistent user ID (e.g., from your authentication system) and pass it as a parameter with each event.

  • Validate in DebugView to confirm that the user_id is set whenever a user is logged in.

  • Check that cross-domain or mobile app linking is properly configured to align user journeys.

Supporting Documentation

Google Ads Linking

Issue Explanation

Linking GA4 and Google Ads synchronizes cost data, audience lists, and conversion reporting. Without it, you lose direct import of GA4 conversions into Ads and limiting optimization and retargeting tactics.

Audit Criteria

  • 🥳: Linked Ads account

  • 😰: Not linked

How to Fix

  • Go to Admin → Product Links in GA4, add your Ads account, and follow the prompts to authorize.

  • Ensure auto-tagging is enabled in Google Ads, so session parameters are passed automatically.

  • Verify conversions in GA4 can be imported into Ads if you need direct bid optimization.

Supporting Documentation

Data Sampling

Issue Explanation

GA4 may sample data for large datasets or complex queries, producing estimates instead of exact counts. Sampling can impact granular analysis for big traffic sites. If you rely on funnel or user path data, sampling misses certain patterns or anomalies.

Audit Criteria

  • 🥳: No sampling under 10M events in 28 days

  • 😰: Sampling detected

How to Fix

  • Narrow date ranges or filter out unnecessary data to reduce the volume of processed events.

  • Export to BigQuery for unsampled data if you need in-depth analysis at scale.

  • Consider GA4 360 if event volume frequently exceeds standard thresholds.

Supporting Documentation

Cross-Domain Tracking

Issue Explanation

Cross-domain tracking is essential for accurate attribution across multiple domains. While subdomains are automatically included, domains with different country code TLDs or separate domains need manual setup to avoid attribution errors and data fragmentation.

Audit Criteria

  • 🥳: At least one cross-domain path configured (e.g., domains listed in GA4 settings).

  • 😰: No cross-domain paths configured (all domains treated as separate sessions).

How to Fix

  1. Configure domains in GA4 Admin (Admin → Data Streams → Configure tag settings → Configure your domains).

  2. List all domains (e.g., example.comshop.example.de) to ensure GA4 recognizes them as part of the same user journey.

Supporting Documentation

GA4 Cross-Domain Tracking

Funnel Step Order & Coverage

Issue Explanation

In e-commerce and other flow-based scenarios, each step (product view, add to cart, checkout, etc.) must be tracked in sequence. Missing or out-of-order steps produce broken funnel visualizations and inaccurate drop-off points, obscuring bottleneck diagnosis.

Audit Criteria

  • 🥳: All funnel steps tracked in the correct sequence

  • 🧐: Some steps missing or out of order

  • 😰: Most steps missing or incorrectly sequenced

How to Fix

  • Verify each funnel event is triggered with correct naming and event parameters (e.g., view_item, add_to_cart, begin_checkout, purchase).

  • Review event logs in DebugView to confirm the chronological order.

Supporting Documentation

Purchases with Zero/Null Quantity

Issue Explanation

A transaction event showing zero or null quantities indicates a potential bug in the e-commerce data layer or in how items are sent to GA4. Inaccurate tracking of revenue and item views can lead to an underreporting or a failure to account for these metrics, which undermines the accuracy of e-commerce reporting.

Audit Criteria

  • 🥳: 0 transactions with null quantity

  • 🧐: <1% of total transactions

  • 😰: >1%

How to Fix

  • Inspect the data layer push or GTM tags for the purchase event to ensure quantity is populated and not overridden by empty values.

  • Compare GA4’s transaction log with your backend orders to identify patterns of missing quantity.

  • Monitor test transactions or staging environments carefully so they don’t pollute real data.

Transactions with Invalid Transaction ID

Issue Explanation

Transactions listed as “(not set)” or with placeholder IDs restrict e-commerce revenue tracking and cause duplication or loss of purchase data. Typically, the checkout script fails to generate or pass a unique transaction_id when the purchase event fires.

Audit Criteria

  • 🥳: 0 invalid transaction IDs

  • 🧐: <1% of total transactions

  • 😰: >1%

How to Fix

  • Ensure your e-commerce platform generates a unique ID (often the order number) at purchase time.

  • Confirm the purchase event includes transaction_id in the data layer.

  • Test multiple transactions in a staging environment to verify the ID surfaces in GA4.

Supporting Documentation

Transactions with Multiple Assigned Users

Issue Explanation

A single transaction ID appearing under multiple user or client IDs typically results from double-counting or an error in the data layer. For instance, the same order might be fired multiple times or multiple browsers are credited with the same transaction ID, inflating revenue numbers.

Audit Criteria

  • 🥳: 0 transactions mapped to multiple users

  • 🧐: <1% of total transactions

  • 😰: >1%

How to Fix

  • Implement strict controls to ensure the purchase event is only fired once after successful payment.

  • Use server-side tracking if your front-end occasionally duplicates events.

  • Filter out test transactions or sandbox data from your main GA4 property.

Transactions from Self-Referrals

Issue Explanation

Sometimes your own domain shows up as a referral for purchase sessions. This typically indicates a session was broken during checkout (e.g., crossing subdomains or returning from a 3rd-party page without proper cross-domain linking), causing GA4 to credit your domain as the source.

Audit Criteria

  • 🥳: 0 self-referred transactions

  • 😰: Some transactions self-referred

How to Fix

  • Exclude your primary domain from referral sources in GA4.

  • Implement cross-domain linking if the checkout flows to a different subdomain or external site.

  • Validate that the session does not reset mid-checkout by checking the _ga cookie or user/client ID continuity.

Non-Purchase Events with Value

Issue Explanation

Not all value-adding interactions are direct purchases. E-commerce events, as well as actions like leads, registrations, and newsletter signups, can have assigned monetary values to measure micro-conversions and estimate revenue impact. Missing these values makes it hard to evaluate marketing ROI for non-e-commerce milestones.

Audit Criteria

  • 🥳: Some non-purchase events carry assigned value

  • 😰: No events have assigned value

How to Fix

  • Pass that value as a parameter (e.g., value) in the event data layer or GTM.

  • Monitor these events in GA4’s monetization reports to see cumulative impact beyond direct purchases.