{"id":2579,"date":"2018-08-18T10:17:14","date_gmt":"2018-08-18T10:17:14","guid":{"rendered":"https:\/\/www.rebelytics.com\/?p=1265"},"modified":"2026-02-02T13:24:59","modified_gmt":"2026-02-02T13:24:59","slug":"404-errors-google-analytics","status":"publish","type":"post","link":"https:\/\/www.searchviu.com\/en\/404-errors-google-analytics\/","title":{"rendered":"Monitor &#038; Fix 404 Errors with Google Analytics 4"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2579\" class=\"elementor elementor-2579\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-52398a9e e-flex e-con-boxed e-con e-parent\" data-id=\"52398a9e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e7405ba elementor-widget elementor-widget-html\" data-id=\"e7405ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n        \/* ==========================================\n           searchVIU Brand Design System\n           ========================================== *\/\n        :root {\n            \/* Primary Colors *\/\n            --color-primary: #131A2D;\n            --color-secondary: #0B9D96;\n            --color-accent: #FFE62A;\n            \n            \/* Text Colors *\/\n            --color-text: #8A8A8A;\n            --color-heading: #414141;\n            \n            \/* Background Colors *\/\n            --color-white: #FFFFFF;\n            --color-light-gray: #F4F4F4;\n            --color-custom-blue: #467487;\n            --color-soft-yellow: #F4E979;\n            \n            \/* Shadows & Effects *\/\n            --shadow-sm: 0 1px 3px rgba(19, 26, 45, 0.08);\n            --shadow-md: 0 4px 12px rgba(19, 26, 45, 0.1);\n            --shadow-lg: 0 8px 24px rgba(19, 26, 45, 0.12);\n            \n            \/* Spacing & Radius *\/\n            --radius: 8px;\n            --radius-lg: 12px;\n        }\n\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        \n\n        \/* ==========================================\n           Main Content Container\n           ========================================== *\/\n        .container {\n            max-width: 800px;\n            margin: 0 auto;\n            padding: 0 24px;\n        }\n\n        main {\n            margin-top: -40px;\n            position: relative;\n            z-index: 2;\n            padding-bottom: 80px;\n        }\n\n        .content-card {\n            background: var(--color-white);\n            border-radius: var(--radius-lg);\n            box-shadow: var(--shadow-lg);\n            padding: 48px;\n            margin-bottom: 24px;\n        }\n\n        @media (max-width: 640px) {\n            .content-card {\n                padding: 24px 20px;\n                border-radius: var(--radius);\n            }\n            .hero {\n                padding: 48px 20px 70px;\n            }\n        }\n\n        \/* ==========================================\n           Typography\n           ========================================== *\/\n        h2 {\n            font-size: 1.5rem;\n            font-weight: 700;\n            color: var(--color-heading);\n            margin: 48px 0 16px;\n            padding-bottom: 12px;\n            border-bottom: 2px solid var(--color-light-gray);\n        }\n\n        h2:first-child {\n            margin-top: 0;\n        }\n\n        h3 {\n            font-size: 1.2rem;\n            font-weight: 600;\n            color: var(--color-heading);\n            margin: 32px 0 12px;\n        }\n\n        h4 {\n            font-size: 1rem;\n            font-weight: 600;\n            color: var(--color-heading);\n            margin: 24px 0 10px;\n        }\n\n        p {\n            margin-bottom: 16px;\n            color: var(--color-text);\n        }\n\n        strong {\n            color: var(--color-heading);\n            font-weight: 600;\n        }\n\n        a {\n            color: var(--color-secondary);\n            text-decoration: none;\n            font-weight: 500;\n            transition: all 0.2s ease;\n        }\n\n        a:hover {\n            color: var(--color-primary);\n            text-decoration: underline;\n        }\n\n        \/* ==========================================\n           Lists\n           ========================================== *\/\n        ul, ol {\n            margin: 16px 0 24px 24px;\n            color: var(--color-text);\n        }\n\n        li {\n            margin-bottom: 10px;\n        }\n\n        li::marker {\n            color: var(--color-secondary);\n        }\n\n        \/* ==========================================\n           Callout Boxes\n           ========================================== *\/\n        .callout {\n            padding: 20px 24px;\n            border-radius: var(--radius);\n            margin: 24px 0;\n            border-left: 4px solid;\n        }\n\n        .callout-info {\n            background: rgba(11, 157, 150, 0.08);\n            border-color: var(--color-secondary);\n        }\n\n        .callout-warning {\n            background: var(--color-soft-yellow);\n            border-color: var(--color-accent);\n        }\n\n        .callout-success {\n            background: rgba(11, 157, 150, 0.08);\n            border-color: var(--color-secondary);\n        }\n\n        .callout-title {\n            font-weight: 600;\n            margin-bottom: 8px;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n            color: var(--color-heading);\n        }\n\n        .callout-info .callout-title { color: var(--color-secondary); }\n        .callout-warning .callout-title { color: var(--color-heading); }\n        .callout-success .callout-title { color: var(--color-secondary); }\n\n        .callout p:last-child {\n            margin-bottom: 0;\n        }\n\n        \/* ==========================================\n           Code Blocks\n           ========================================== *\/\n        pre {\n            background: var(--color-primary);\n            border-radius: var(--radius);\n            padding: 20px 24px;\n            overflow-x: auto;\n            margin: 20px 0;\n            box-shadow: var(--shadow-md);\n        }\n\n        code {\n            font-family: 'Consolas', 'Monaco', 'Courier New', monospace;\n            font-size: 14px;\n        }\n\n        pre code {\n            color: rgba(255, 255, 255, 0.9);\n            line-height: 1.6;\n        }\n\n        :not(pre) > code {\n            background: var(--color-light-gray);\n            padding: 2px 8px;\n            border-radius: 4px;\n            font-size: 14px;\n            color: var(--color-primary);\n        }\n\n        \/* ==========================================\n           Steps Component\n           ========================================== *\/\n        .steps {\n            counter-reset: step-counter;\n            list-style: none;\n            margin-left: 0;\n            padding-left: 0;\n        }\n\n        .steps li {\n            counter-increment: step-counter;\n            position: relative;\n            padding-left: 56px;\n            padding-bottom: 24px;\n            border-left: 2px solid var(--color-light-gray);\n            margin-left: 16px;\n        }\n\n        .steps li:last-child {\n            border-left-color: transparent;\n            padding-bottom: 0;\n        }\n\n        .steps li::before {\n            content: counter(step-counter);\n            position: absolute;\n            left: -17px;\n            top: 0;\n            width: 32px;\n            height: 32px;\n            background: var(--color-secondary);\n            color: var(--color-white);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-weight: 700;\n            font-size: 14px;\n        }\n\n        .step-title {\n            font-weight: 600;\n            color: var(--color-heading);\n            margin-bottom: 8px;\n        }\n\n        \/* ==========================================\n           Tables\n           ========================================== *\/\n        .table-wrapper {\n            overflow-x: auto;\n            margin: 24px 0;\n            border-radius: var(--radius);\n            border: 1px solid rgba(19, 26, 45, 0.1);\n        }\n\n        table {\n            width: 100%;\n            border-collapse: collapse;\n            font-size: 15px;\n        }\n\n        th {\n            background: var(--color-primary);\n            color: var(--color-white);\n            padding: 14px 16px;\n            text-align: left;\n            font-weight: 600;\n        }\n\n        th:first-child {\n            border-radius: var(--radius) 0 0 0;\n        }\n\n        th:last-child {\n            border-radius: 0 var(--radius) 0 0;\n        }\n\n        td {\n            padding: 14px 16px;\n            border-bottom: 1px solid var(--color-light-gray);\n            color: var(--color-text);\n        }\n\n        tr:last-child td {\n            border-bottom: none;\n        }\n\n        tr:hover td {\n            background: var(--color-light-gray);\n        }\n\n        \/* ==========================================\n           Comparison Boxes\n           ========================================== *\/\n        .comparison-header {\n            display: grid;\n            grid-template-columns: 1fr 1fr;\n            gap: 16px;\n            margin: 24px 0;\n        }\n\n        .comparison-box {\n            padding: 20px;\n            border-radius: var(--radius);\n            text-align: center;\n        }\n\n        .comparison-box.old {\n            background: var(--color-light-gray);\n            border: 2px solid var(--color-text);\n        }\n\n        .comparison-box.new {\n            background: rgba(11, 157, 150, 0.1);\n            border: 2px solid var(--color-secondary);\n        }\n\n        .comparison-box h4 {\n            margin: 0 0 4px;\n            font-size: 12px;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n\n        .comparison-box.old h4 { color: var(--color-text); }\n        .comparison-box.new h4 { color: var(--color-secondary); }\n\n        .comparison-box p {\n            margin: 0;\n            font-weight: 700;\n            font-size: 1.1rem;\n            color: var(--color-heading);\n        }\n\n        \/* ==========================================\n           Table of Contents\n           ========================================== *\/\n        .toc {\n            background: var(--color-light-gray);\n            border-radius: var(--radius);\n            padding: 24px;\n            margin: 32px 0;\n            border-left: 4px solid var(--color-secondary);\n        }\n\n        .toc-title {\n            font-weight: 700;\n            margin-bottom: 16px;\n            color: var(--color-heading);\n            font-size: 1rem;\n        }\n\n        .toc ul {\n            margin: 0;\n            padding-left: 20px;\n        }\n\n        .toc li {\n            margin-bottom: 8px;\n        }\n\n        .toc a {\n            color: var(--color-text);\n            font-weight: 400;\n        }\n\n        .toc a:hover {\n            color: var(--color-secondary);\n        }\n\n        \/* ==========================================\n           Divider\n           ========================================== *\/\n        .divider {\n            height: 1px;\n            background: var(--color-light-gray);\n            margin: 48px 0;\n        }\n\n        \/* ==========================================\n           CTA Button\n           ========================================== *\/\n        .cta-section {\n            background: var(--color-primary);\n            border-radius: var(--radius);\n            padding: 32px;\n            text-align: center;\n            margin: 40px 0;\n        }\n\n        .cta-section h3 {\n            color: var(--color-white);\n            margin: 0 0 12px;\n        }\n\n        .cta-section p {\n            color: rgba(255, 255, 255, 0.8);\n            margin-bottom: 20px;\n        }\n\n        .btn-primary {\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n            background: var(--color-accent);\n            color: var(--color-primary);\n            padding: 14px 28px;\n            border-radius: 100px;\n            font-weight: 700;\n            font-size: 15px;\n            text-decoration: none;\n            transition: all 0.2s ease;\n            box-shadow: 0 4px 12px rgba(255, 230, 42, 0.3);\n        }\n\n        .btn-primary:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 6px 16px rgba(255, 230, 42, 0.4);\n            text-decoration: none;\n            color: var(--color-primary);\n        }\n\n        \/* ==========================================\n           Footer\n           ========================================== *\/\n        footer {\n            background: var(--color-primary);\n            color: rgba(255, 255, 255, 0.7);\n            padding: 40px 24px;\n            text-align: center;\n        }\n\n        footer p {\n            color: rgba(255, 255, 255, 0.7);\n            font-size: 14px;\n            margin-bottom: 8px;\n        }\n\n        footer a {\n            color: var(--color-secondary);\n        }\n\n        .footer-brand {\n            font-weight: 700;\n            color: var(--color-white);\n        }\n\n        .footer-brand span {\n            color: var(--color-secondary);\n        }\n\n        \/* ==========================================\n           Syntax Highlighting\n           ========================================== *\/\n        .token-comment { color: var(--color-custom-blue); }\n        .token-property { color: var(--color-accent); }\n        .token-string { color: var(--color-secondary); }\n        .token-keyword { color: #c4b5fd; }\n        .token-function { color: var(--color-accent); }\n        .token-number { color: var(--color-secondary); }\n\n        \/* ==========================================\n           Animations\n           ========================================== *\/\n        @keyframes fadeInUp {\n            from {\n                opacity: 0;\n                transform: translateY(20px);\n            }\n            to {\n                opacity: 1;\n                transform: translateY(0);\n            }\n        }\n\n        .content-card {\n            animation: fadeInUp 0.5s ease-out;\n        }\n    <\/style>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-731b26c6 elementor-widget elementor-widget-text-editor\" data-id=\"731b26c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<div class=\"container\"><p>The guide shows you how to monitor 404 errors on your website using <strong>Google Analytics 4 (GA4)<\/strong>. If your 404 error page is set up correctly and tracked by GA4, you can create powerful reports to identify broken links \u2014 both from internal navigation and external referrers.<\/p><div class=\"callout callout-info\"><div class=\"callout-title\">GA4 vs Universal Analytics<\/div><p>This guide has been fully updated for Google Analytics 4. The old Universal Analytics (UA) was sunset in July 2023. If you&#8217;re following an older guide that mentions &#8220;Custom Reports&#8221; or &#8220;Views,&#8221; you&#8217;ll need the GA4 equivalents we cover here.<\/p><\/div><div class=\"comparison-header\"><div class=\"comparison-box old\"><h4>Universal Analytics<\/h4><p>Custom Reports<\/p><\/div><div class=\"comparison-box new\"><h4>Google Analytics 4<\/h4><p>Explorations<\/p><\/div><\/div><nav class=\"toc\"><div class=\"toc-title\">\ud83d\udccb What&#8217;s in this guide<\/div><ul><li><a href=\"#setup\">How to Set Up Your 404 Page Correctly<\/a><\/li><li><a href=\"#method1\">Method 1: Track 404s Using Page Title (Recommended)<\/a><\/li><li><a href=\"#method2\">Method 2: Track 404s Using Custom Events (Alternative)<\/a><\/li><li><a href=\"#internal\">Create an Exploration for Internal 404 Errors<\/a><\/li><li><a href=\"#external\">Create an Exploration for External 404 Errors<\/a><\/li><li><a href=\"#fix\">How to Fix 404 Errors<\/a><\/li><\/ul><\/nav><div class=\"divider\">\u00a0<\/div><h2 id=\"setup\">How to Set Up Your 404 Page Correctly<\/h2><p>Before you can track 404 errors effectively, you&#8217;ll need to make sure your 404 page is configured properly \u2014 both for SEO and analytics purposes:<\/p><ul><li><strong>Keep the URL intact:<\/strong> The 404 page should load on the exact URL that was requested (e.g., <code>\/non-existent-page<\/code>), NOT redirect to a dedicated URL like <code>\/404\/<\/code> or <code>\/error\/<\/code>.<\/li><li><strong>Return a proper 404 HTTP status code:<\/strong> The server must return a <code>404<\/code> status code, not a <code>200 OK<\/code> or <code>301\/302<\/code> redirect.<\/li><li><strong>Include the GA4 tracking code:<\/strong> Your 404 page template must have the Google Analytics tracking snippet installed.<\/li><li><strong>Use an identifiable page title:<\/strong> The <code>&lt;title&gt;<\/code> tag should contain &#8220;404&#8221;, &#8220;Page Not Found&#8221;, or another unique identifier you can filter on.<\/li><\/ul><div class=\"callout callout-warning\"><div class=\"callout-title\">Common Mistake<\/div><p>Many websites redirect 404 errors to a page like <code>\/404.html<\/code> or <code>\/error\/<\/code>. This prevents you from seeing which actual URLs triggered the error. Always serve the 404 page on the original requested URL!<\/p><\/div><div class=\"divider\">\u00a0<\/div><h2 id=\"method1\">Method 1: Track 404s Using Page Title (Recommended)<\/h2><p>The simplest and most reliable way to track 404 errors in GA4 is by filtering for the page title. If your 404 page has a title like &#8220;Page Not Found &#8211; YourSite&#8221; or &#8220;404 Error&#8221;, you can filter your reports to show only those pages.<\/p><h3>Requirements<\/h3><ul><li>GA4 tracking code must be on your 404 page<\/li><li>Your 404 page title must contain a unique identifier (e.g., &#8220;404&#8221; or &#8220;not found&#8221;)<\/li><\/ul><p>This method works out of the box with standard GA4 page_view events. Jump to the <a href=\"#internal\">Exploration setup section<\/a> to learn how to build the reports.<\/p><div class=\"divider\">\u00a0<\/div><h2 id=\"method2\">Method 2: Track 404s Using Custom Events (Alternative)<\/h2><p>If your 404 page doesn&#8217;t have a unique page title that you can filter on \u2014 or if you can&#8217;t change the title tag \u2014 you can send a custom event whenever a 404 page loads instead. This approach requires a bit more setup but gives you flexibility.<\/p><h3>Option A: Using Google Tag Manager<\/h3><p>If you use GTM, you can fire a custom event when the 404 page loads:<\/p><ol class=\"steps\"><li><div class=\"step-title\">Create a Trigger<\/div><p>Go to <strong>Triggers \u2192 New<\/strong> and create a trigger that identifies your 404 page. You have two options:<\/p><ul><li><strong>Option A \u2014 DataLayer variable:<\/strong> If your CMS pushes 404 status to the dataLayer (e.g., <code>pageType: '404'<\/code>), create a Custom Event or Page View trigger that matches this variable.<\/li><li><strong>Option B \u2014 DOM element matching:<\/strong> Create a DOM Element variable that captures specific text only visible on your 404 page (like &#8220;Page not found&#8221; or &#8220;This page doesn&#8217;t exist&#8221;), then use this as a trigger condition.<\/li><\/ul><\/li><li><div class=\"step-title\">Create a GA4 Event Tag<\/div><p>Go to <strong>Tags \u2192 New \u2192 GA4 Event<\/strong>. Configure it with the event name <code>page_not_found<\/code> (or <code>404_error<\/code>).<\/p><\/li><li><div class=\"step-title\">Add Event Parameters<\/div><p>Include helpful parameters like <code>page_location<\/code>, <code>page_referrer<\/code>, and <code>page_title<\/code> to capture context about the error.<\/p><\/li><\/ol><h4>GTM Tag Configuration<\/h4><div class=\"table-wrapper\"><table><thead><tr><th>Setting<\/th><th>Value<\/th><\/tr><\/thead><tbody><tr><td>Tag Type<\/td><td>Google Analytics: GA4 Event<\/td><\/tr><tr><td>Configuration Tag<\/td><td>Your GA4 Configuration Tag<\/td><\/tr><tr><td>Event Name<\/td><td><code>page_not_found<\/code><\/td><\/tr><tr><td>Event Parameters<\/td><td><code>page_location<\/code>: {{Page URL}}<br \/><code>page_referrer<\/code>: {{Referrer}}<br \/><code>requested_path<\/code>: {{Page Path}}<\/td><\/tr><\/tbody><\/table><\/div><h3>Option B: Direct gtag.js Implementation<\/h3><p>If you&#8217;re not using GTM, add this code directly to your 404 page template:<\/p><pre><code><span class=\"token-comment\">\/\/ Add this to your site's main script or GTM Custom HTML tag<\/span>\n<span class=\"token-comment\">\/\/ Option 1: Check for a specific element that only exists on 404 pages<\/span>\n<span class=\"token-keyword\">if<\/span> (document.querySelector(<span class=\"token-string\">'.error-404'<\/span>) || \n    document.body.classList.contains(<span class=\"token-string\">'page-404'<\/span>)) {\n  <span class=\"token-function\">gtag<\/span>(<span class=\"token-string\">'event'<\/span>, <span class=\"token-string\">'page_not_found'<\/span>, {\n    <span class=\"token-property\">'page_location'<\/span>: window.location.href,\n    <span class=\"token-property\">'page_referrer'<\/span>: document.referrer\n  });\n}\n\n<span class=\"token-comment\">\/\/ Option 2: Check for specific text content on the page<\/span>\n<span class=\"token-keyword\">if<\/span> (document.body.innerText.includes(<span class=\"token-string\">'Page not found'<\/span>)) {\n  <span class=\"token-function\">gtag<\/span>(<span class=\"token-string\">'event'<\/span>, <span class=\"token-string\">'page_not_found'<\/span>, {\n    <span class=\"token-property\">'page_location'<\/span>: window.location.href,\n    <span class=\"token-property\">'page_referrer'<\/span>: document.referrer\n  });\n}\n\n<span class=\"token-comment\">\/\/ Option 3: Check dataLayer (if your CMS sets it)<\/span>\n<span class=\"token-keyword\">if<\/span> (window.dataLayer &amp;&amp; window.dataLayer.some(<span class=\"token-keyword\">function<\/span>(obj) { \n    <span class=\"token-keyword\">return<\/span> obj.pageType === <span class=\"token-string\">'404'<\/span>; \n})) {\n  <span class=\"token-function\">gtag<\/span>(<span class=\"token-string\">'event'<\/span>, <span class=\"token-string\">'page_not_found'<\/span>, {\n    <span class=\"token-property\">'page_location'<\/span>: window.location.href,\n    <span class=\"token-property\">'page_referrer'<\/span>: document.referrer\n  });\n}<\/code><\/pre><p>Choose the option that matches how your 404 page is structured. You&#8217;ll need to adjust the selector, class name, or text to match your specific setup.<\/p><div class=\"callout callout-success\"><div class=\"callout-title\">Register Custom Dimensions<\/div><p>If you want to use custom parameters like <code>requested_path<\/code> in your reports, you&#8217;ll need to register them as custom dimensions in GA4: Go to <strong>Admin \u2192 Custom definitions \u2192 Create custom dimension<\/strong>.<\/p><\/div><div class=\"divider\">\u00a0<\/div><h2 id=\"internal\">Create an Exploration for Internal 404 Errors<\/h2><p>This report helps you find 404 errors caused by <strong>internal links<\/strong> \u2014 links within your own website that point to non-existent pages. These are entirely within your control and should be fixed promptly.<\/p><h3>If you use Method 1 (Page Title)<\/h3><ol class=\"steps\"><li><div class=\"step-title\">Open Explorations<\/div><p>In GA4, go to <strong>Explore<\/strong> (left sidebar) and click <strong>Blank<\/strong> to create a new exploration.<\/p><\/li><li><div class=\"step-title\">Add Dimensions<\/div><p>Click the <strong>+<\/strong> next to Dimensions and add:<\/p><ul><li><code>Page path and screen class<\/code> (the 404 URL)<\/li><li><code>Page referrer<\/code> (the page that linked to it)<\/li><li><code>Page title<\/code> (to confirm it&#8217;s a 404 page)<\/li><\/ul><\/li><li><div class=\"step-title\">Add Metrics<\/div><p>Click the <strong>+<\/strong> next to Metrics and add:<\/p><ul><li><code>Sessions<\/code> or <code>Views<\/code><\/li><\/ul><\/li><li><div class=\"step-title\">Configure the Report<\/div><p>Drag your dimensions to <strong>Rows<\/strong> and metrics to <strong>Values<\/strong>.<\/p><\/li><li><div class=\"step-title\">Add Filters<\/div><p>Add two filters:<\/p><ul><li><strong>Page title<\/strong> contains <code>404<\/code> (or &#8220;not found&#8221;)<\/li><li><strong>Page referrer<\/strong> contains your domain (e.g., <code>yourdomain.com<\/code>) \u2014 this ensures you only see internal referrers<\/li><\/ul><\/li><\/ol><h3>If you use Method 2 (Custom Event)<\/h3><ol class=\"steps\"><li><div class=\"step-title\">Open Explorations<\/div><p>In GA4, go to <strong>Explore<\/strong> (left sidebar) and click <strong>Blank<\/strong> to create a new exploration.<\/p><\/li><li><div class=\"step-title\">Add Dimensions<\/div><p>Click the <strong>+<\/strong> next to Dimensions and add:<\/p><ul><li><code>Event name<\/code><\/li><li><code>Page location<\/code> (the 404 URL)<\/li><li><code>Page referrer<\/code> (the page that linked to it)<\/li><\/ul><\/li><li><div class=\"step-title\">Add Metrics<\/div><p>Click the <strong>+<\/strong> next to Metrics and add:<\/p><ul><li><code>Event count<\/code><\/li><\/ul><\/li><li><div class=\"step-title\">Configure the Report<\/div><p>Drag your dimensions to <strong>Rows<\/strong> and metrics to <strong>Values<\/strong>.<\/p><\/li><li><div class=\"step-title\">Add Filters<\/div><p>Add two filters:<\/p><ul><li><strong>Event name<\/strong> exactly matches <code>page_not_found<\/code><\/li><li><strong>Page referrer<\/strong> contains your domain (e.g., <code>yourdomain.com<\/code>) \u2014 this ensures you only see internal referrers<\/li><\/ul><\/li><\/ol><div class=\"table-wrapper\"><table><thead><tr><th>Exploration Setting<\/th><th>Method 1 (Page Title)<\/th><th>Method 2 (Custom Event)<\/th><\/tr><\/thead><tbody><tr><td>Technique<\/td><td>Free form<\/td><td>Free form<\/td><\/tr><tr><td>Rows<\/td><td>Page path, Page referrer, Page title<\/td><td>Page location, Page referrer<\/td><\/tr><tr><td>Values<\/td><td>Sessions<\/td><td>Event count<\/td><\/tr><tr><td>Filters<\/td><td>Page title <em>contains<\/em> &#8220;404&#8221;<br \/>Page referrer <em>contains<\/em> &#8220;yourdomain.com&#8221;<\/td><td>Event name <em>equals<\/em> &#8220;page_not_found&#8221;<br \/>Page referrer <em>contains<\/em> &#8220;yourdomain.com&#8221;<\/td><\/tr><\/tbody><\/table><\/div><h3>Reading the Report<\/h3><ul><li><strong>Page path \/ Page location:<\/strong> The URL that returned a 404 error<\/li><li><strong>Page referrer:<\/strong> The page on your site that contains the broken link<\/li><li><strong>Sessions \/ Event count:<\/strong> How many times this error occurred<\/li><\/ul><div class=\"divider\">\u00a0<\/div><h2 id=\"external\">Create an Exploration for External 404 Errors<\/h2><p>This report shows 404 errors caused by <strong>external links<\/strong> \u2014 links from other websites pointing to pages that don&#8217;t exist on your site. You can&#8217;t directly fix these links, but you should set up redirects to capture this traffic.<\/p><h3>If you use Method 1 (Page Title)<\/h3><ol class=\"steps\"><li><div class=\"step-title\">Create a New Exploration<\/div><p>Go to <strong>Explore \u2192 Blank<\/strong> to start fresh.<\/p><\/li><li><div class=\"step-title\">Add Dimensions<\/div><p>Add the same dimensions as before:<\/p><ul><li><code>Page path and screen class<\/code><\/li><li><code>Page referrer<\/code><\/li><li><code>Page title<\/code><\/li><li><code>Session source \/ medium<\/code> (optional, for more context)<\/li><\/ul><\/li><li><div class=\"step-title\">Add Metrics<\/div><p>Add <code>Sessions<\/code> or <code>Views<\/code>.<\/p><\/li><li><div class=\"step-title\">Configure Filters<\/div><p>Add these filters:<\/p><ul><li><strong>Page title<\/strong> contains <code>404<\/code><\/li><li><strong>Page referrer<\/strong> does NOT contain your domain \u2014 this ensures you only see external referrers<\/li><\/ul><\/li><\/ol><h3>If you use Method 2 (Custom Event)<\/h3><ol class=\"steps\"><li><div class=\"step-title\">Create a New Exploration<\/div><p>Go to <strong>Explore \u2192 Blank<\/strong> to start fresh.<\/p><\/li><li><div class=\"step-title\">Add Dimensions<\/div><p>Add the following dimensions:<\/p><ul><li><code>Event name<\/code><\/li><li><code>Page location<\/code><\/li><li><code>Page referrer<\/code><\/li><li><code>Session source \/ medium<\/code> (optional, for more context)<\/li><\/ul><\/li><li><div class=\"step-title\">Add Metrics<\/div><p>Add <code>Event count<\/code>.<\/p><\/li><li><div class=\"step-title\">Configure Filters<\/div><p>Add these filters:<\/p><ul><li><strong>Event name<\/strong> exactly matches <code>page_not_found<\/code><\/li><li><strong>Page referrer<\/strong> does NOT contain your domain \u2014 this ensures you only see external referrers<\/li><\/ul><\/li><\/ol><div class=\"table-wrapper\"><table><thead><tr><th>Exploration Setting<\/th><th>Method 1 (Page Title)<\/th><th>Method 2 (Custom Event)<\/th><\/tr><\/thead><tbody><tr><td>Technique<\/td><td>Free form<\/td><td>Free form<\/td><\/tr><tr><td>Rows<\/td><td>Page path, Page referrer, Page title<\/td><td>Page location, Page referrer<\/td><\/tr><tr><td>Values<\/td><td>Sessions<\/td><td>Event count<\/td><\/tr><tr><td>Filters<\/td><td>Page title <em>contains<\/em> &#8220;404&#8221;<br \/>Page referrer <em>does not contain<\/em> &#8220;yourdomain.com&#8221;<\/td><td>Event name <em>equals<\/em> &#8220;page_not_found&#8221;<br \/>Page referrer <em>does not contain<\/em> &#8220;yourdomain.com&#8221;<\/td><\/tr><\/tbody><\/table><\/div><div class=\"callout callout-info\"><div class=\"callout-title\">A Note About Referrers<\/div><p>Not all referrers are passed correctly. Many will show as &#8220;(direct)&#8221; or just the domain name without the full URL path. Search engines like Google typically only pass the domain. Focus on referrers that show actual page URLs \u2014 these are the ones you might be able to contact for a link update.<\/p><\/div><div class=\"divider\">\u00a0<\/div><h2 id=\"fix\">How to Fix 404 Errors<\/h2><h3>For Internal Link Errors<\/h3><ol><li><strong>Set up a 301 redirect<\/strong> from the broken URL to the correct page. This immediately fixes the user experience.<\/li><li><strong>Find and fix the broken link<\/strong> on the referring page. Use the &#8220;Page referrer&#8221; column to identify which page has the broken link, then update the HTML to point to the correct URL.<\/li><li><strong>Don&#8217;t leave 301s as a permanent solution<\/strong> \u2014 internal links pointing to redirects waste crawl budget and add latency. Always update the actual links.<\/li><\/ol><h3>For External Link Errors<\/h3><ol><li><strong>Set up a 301 redirect<\/strong> from the broken URL to the most relevant existing page. This captures the traffic and link equity.<\/li><li><strong>Consider contacting the linking site<\/strong> if it&#8217;s a high-value link from an identifiable source. Politely ask them to update the link.<\/li><li><strong>Check Google Search Console<\/strong> for additional 404 errors that may not appear in GA4 (since GA4 only tracks errors that users actually encounter).<\/li><\/ol><div class=\"callout callout-success\"><div class=\"callout-title\">Pro Tip: Find all your broken links automatically<\/div><p>With searchVIU, you can continuously monitor your website and get alerted when new important 404 errors appear \u2014 including daily redirect recommendations to fix them. Plus, you&#8217;ll discover other SEO problems like broken links, redirect chains, and more before they impact your rankings.<\/p><p style=\"margin-top: 16px; margin-bottom: 0;\"><a class=\"btn-primary\" style=\"display: inline-flex;\" href=\"https:\/\/www.searchviu.com\/en\/get-in-contact-increase-traffic-sales\/\"><br \/>Get Started with searchVIU<\/a><\/p><\/div><div class=\"divider\">\u00a0<\/div><h2>Quick Reference: GA4 Dimensions for 404 Tracking<\/h2><div class=\"table-wrapper\"><table><thead><tr><th>What You Need<\/th><th>GA4 Dimension<\/th><th>Method<\/th><\/tr><\/thead><tbody><tr><td>The 404 URL<\/td><td><code>Page path and screen class<\/code><\/td><td>Method 1<\/td><\/tr><tr><td>The 404 URL (full)<\/td><td><code>Page location<\/code><\/td><td>Method 2<\/td><\/tr><tr><td>Where the user came from<\/td><td><code>Page referrer<\/code><\/td><td>Both<\/td><\/tr><tr><td>Page title (to filter 404s)<\/td><td><code>Page title<\/code><\/td><td>Method 1<\/td><\/tr><tr><td>Event name (to filter 404s)<\/td><td><code>Event name<\/code><\/td><td>Method 2<\/td><\/tr><tr><td>Traffic source<\/td><td><code>Session source \/ medium<\/code><\/td><td>Both<\/td><\/tr><tr><td>Hostname (for multi-domain)<\/td><td><code>Hostname<\/code><\/td><td>Both<\/td><\/tr><\/tbody><\/table><\/div><div class=\"divider\">\u00a0<\/div><h2>Summary<\/h2><p>Tracking 404 errors in GA4 requires using <strong>Explorations<\/strong> instead of the old Universal Analytics Custom Reports. Here&#8217;s what you need to do:<\/p><ol><li>Ensure your 404 page is properly configured (correct HTTP status, GA4 tracking installed, identifiable page title)<\/li><li>Use the page title method to filter 404s \u2014 or send a custom <code>page_not_found<\/code> event if your page title doesn&#8217;t work<\/li><li>Create separate Explorations for internal vs. external 404 errors using filters on the Page referrer dimension<\/li><li>Fix errors by setting up 301 redirects AND updating broken links at the source<\/li><\/ol><p>Monitoring and fixing 404 errors improves user experience, preserves link equity, and helps search engines crawl your site more efficiently. If you have any questions, feel free to reach out \u2014 we&#8217;re always happy to help!<\/p><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b7c86e0 e-flex e-con-boxed e-con e-parent\" data-id=\"b7c86e0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f20840e elementor-widget elementor-widget-spacer\" data-id=\"f20840e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1b28775 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"1b28775\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4475953 elementor-widget elementor-widget-spacer\" data-id=\"4475953\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8a08201 e-flex e-con-boxed e-con e-parent\" data-id=\"8a08201\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3657118 e-con-full e-flex e-con e-child\" data-id=\"3657118\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-86f36db elementor-widget elementor-widget-elementskit-heading\" data-id=\"86f36db\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"elementskit-heading.default\">\n\t\t\t\t\t<div class=\"ekit-wid-con\" ><div class=\"ekit-heading elementskit-section-title-wraper text_left   ekit_heading_tablet-   ekit_heading_mobile-\"><h2 class=\"ekit-heading--title elementskit-section-title \">Summary of 96 Comments (before the 2026 update)<\/h2><div class=\"ekit_heading_separetor_wraper ekit_heading_elementskit-border-divider elementskit-style-long\"><div class=\"elementskit-border-divider elementskit-style-long\"><\/div><\/div><h3 class=\"ekit-heading--subtitle elementskit-section-subtitle  \">\n\t\t\t\t\t\tTop Insights from the Discussion\n\t\t\t\t\t<\/h3><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b6e0500 elementor-widget elementor-widget-text-editor\" data-id=\"b6e0500\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h5 class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong>1. 404 Error Tracking: A Big Need<\/strong><\/h5><ul><li>Many readers thanked the author for demystifying how to track 404 errors using Google Analytics custom reports. Several commented on the lack of default reporting for 404s in GA\u2014\u201cStill amazes me that this isn\u2019t a default report in GA?\u201d<\/li><li>A recurring issue was people missing out on data because their 404 pages didn\u2019t have GA tracking installed:<br \/><blockquote><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\">\u201cYour 404 page does not contain the Google Analytics tracking code, so it is not being tracked in GA currently.\u201d<\/p><\/blockquote><\/li><\/ul><h5 class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong>2. Dealing with 404 Errors: Redirects, Removals, and Indexing<\/strong><\/h5><ul><li>The importance of proper 301 redirects came up repeatedly, especially after site migrations or URL changes:<br \/><blockquote><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\">\u201cYou should set up 301 redirects from your old URLs to their new equivalents as soon as possible.\u201d<\/p><\/blockquote><\/li><li>Readers were relieved to hear that 404 errors don\u2019t directly hurt rankings but were encouraged to clean them up for a better user and crawler experience.<\/li><li>Several readers faced persistent 404s from old or external links. The author advised a mix of redirecting, using removal tools, or investigating plugin issues (e.g., AddThis generating bad URLs).<\/li><\/ul><h5 class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong><br \/>3. Internal vs. External Broken Links<\/strong><\/h5><ul><li>Internal links hitting 404s require attention\u2014often the best fix is to crawl the entire site (using tools like Screaming Frog), then manually repair or redirect as needed.<\/li><li>External links leading to 404s will only show up in GA if someone actually lands on the error page\u2014prompting some confusion when Search Console and GA data didn\u2019t match.<\/li><\/ul><h5 class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong><br \/>4. Customization and Advanced Tracking<\/strong><\/h5><ul><li>Tracking were often customized using Google Tag Manager for things like:<ul><li>Monitoring which suggestion links are clicked on 404 pages (tracked as GA events).<\/li><li>Sending custom elements\/content to GA when there wasn\u2019t a clear page title.<\/li><li>Filtering for specific repeated text to identify 404 pages.<\/li><\/ul><\/li><\/ul><h5 class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong><br \/>5. Interpreting and Troubleshooting GA Reports<\/strong><\/h5><ul><li>Frequent confusion arose around missing data or dimensions. Many questions were solved with quick checks\u2014like making sure the 404 page had the right tracking code, or adjusting filters (\u201cpage title\u201d or similar).<\/li><li>Users moving between Blogger and WordPress, or using plugins, often created lots of broken links and needed advice tailored to their platform (plugins for redirects, editing templates for tracking code, etc.).<\/li><li>Some users discovered that what looked like mysterious 404s were actually caused by bots, spam, or misconfigurations.<\/li><\/ul><h4>Most Common (and Interesting!) Questions<\/h4><ul><li><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong>How do I handle 404s after a site migration?<\/strong><\/p><blockquote><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\">\u201cYou should set up 301 redirects from your old URLs to their new equivalents\u2026 Even if it\u2019s been a long time since migration, you can still set up these redirects.\u201d<\/p><\/blockquote><\/li><li><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong>Why doesn\u2019t my 404 report show any data?<\/strong><\/p><blockquote><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\">\u201cYour 404 page does not contain the Google Analytics tracking code\u2026 And even then, the report will only show URLs that have been accessed by users, so they won\u2019t mirror what you see in the crawl error reports in GSC.\u201d<\/p><\/blockquote><\/li><li><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong>How can I find out which links on my 404 page get clicked?<\/strong><\/p><blockquote><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\">\u201cUse Google Tag Manager to track the clicks on those links as events in Google Analytics. If you need any help with this, just let me know.\u201d<\/p><\/blockquote><\/li><li><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong>Is it possible to track broken outbound (external) links with GTM?<\/strong><\/p><blockquote><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\">\u201cI cannot think of a way to track broken outbound links with GTM that really makes sense, as this would involve requesting the link target and checking its status code&#8230; It would make more sense to set up a scheduled crawl for your outbound links.\u201d<\/p><\/blockquote><\/li><li><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong>Why do valid URLs sometimes show up in 404 reports?<\/strong><\/p><blockquote><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\">\u201cSometimes URLs might give back a 404 error temporarily and then start working again&#8230; If you send more details, I can look into it.\u201d<\/p><\/blockquote><\/li><li><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\"><strong>How can I force Google to drop a lingering 404 from its index?<\/strong><\/p><blockquote><p class=\"MuiTypography-root MuiTypography-body1 css-1n3cajb\">\u201cGo to Crawl &gt; Fetch as Google&#8230; and request indexing for the old URL after it\u2019s redirected. This will speed up removal from the index.\u201d<\/p><\/blockquote><\/li><\/ul><h4>Recurring Themes<\/h4><ul><li><strong>Redirects are your friend:<\/strong> When in doubt, redirect carefully\u2014especially after migrations.<\/li><li><strong>Crawl and audit regularly:<\/strong> Don\u2019t just rely on user-reported errors; use crawling tools and Search Console alongside GA.<\/li><li><strong>Setup matters:<\/strong> Custom reports in GA only work if your tracking and filters match your site\u2019s real-world setup.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Learn how to track, find, and fix broken links on your website using GA4 Explorations and Google Tag Manager \u2014 step by step.<\/p>\n","protected":false},"author":3,"featured_media":1100,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[9],"tags":[29],"class_list":["post-2579","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-analytics","tag-engllish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Google Analytics 404 report: Monitor, find &amp; fix 404 errors in GA<\/title>\n<meta name=\"description\" content=\"This article explains two very simple custom reports for Google Analytics that you can use to monitor and fix 404 errors on your website.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.searchviu.com\/en\/404-errors-google-analytics\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Google Analytics 404 report: Monitor, find &amp; fix 404 errors in GA\" \/>\n<meta property=\"og:description\" content=\"This article explains two very simple custom reports for Google Analytics that you can use to monitor and fix 404 errors on your website.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.searchviu.com\/en\/404-errors-google-analytics\/\" \/>\n<meta property=\"og:site_name\" content=\"SEO Data Warehouse And Monitoring\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-18T10:17:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-02T13:24:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/037dd5be-404-errors-google-analytics-400x269-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"269\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Eoghan Henn\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@searchviu\" \/>\n<meta name=\"twitter:site\" content=\"@searchviu\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eoghan Henn\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/\"},\"author\":{\"name\":\"Eoghan Henn\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/person\\\/7a031e5565b9ece3fd77be3c7f19381c\"},\"headline\":\"Monitor &#038; Fix 404 Errors with Google Analytics 4\",\"datePublished\":\"2018-08-18T10:17:14+00:00\",\"dateModified\":\"2026-02-02T13:24:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/\"},\"wordCount\":2266,\"commentCount\":96,\"publisher\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/037dd5be-404-errors-google-analytics-400x269-1.jpg\",\"keywords\":[\"Engllish\"],\"articleSection\":[\"Web Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/\",\"name\":\"Google Analytics 404 report: Monitor, find & fix 404 errors in GA\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/037dd5be-404-errors-google-analytics-400x269-1.jpg\",\"datePublished\":\"2018-08-18T10:17:14+00:00\",\"dateModified\":\"2026-02-02T13:24:59+00:00\",\"description\":\"This article explains two very simple custom reports for Google Analytics that you can use to monitor and fix 404 errors on your website.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/037dd5be-404-errors-google-analytics-400x269-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/037dd5be-404-errors-google-analytics-400x269-1.jpg\",\"width\":400,\"height\":269},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/404-errors-google-analytics\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monitor &#038; Fix 404 Errors with Google Analytics 4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#website\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/\",\"name\":\"SEO Data Warehouse And Monitoring\",\"description\":\"SEO Solutions For Teams And Agencies\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.searchviu.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#organization\",\"name\":\"searchVIU\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/d3babe41-searchviu-logo2x.png\",\"contentUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/d3babe41-searchviu-logo2x.png\",\"width\":340,\"height\":340,\"caption\":\"searchVIU\"},\"image\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/searchviu\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/searchviu\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/person\\\/7a031e5565b9ece3fd77be3c7f19381c\",\"name\":\"Eoghan Henn\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bfa3d44dac21ee6e663defdfe4eb2ecb29ad85001375745329c7526fa74b95b7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bfa3d44dac21ee6e663defdfe4eb2ecb29ad85001375745329c7526fa74b95b7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bfa3d44dac21ee6e663defdfe4eb2ecb29ad85001375745329c7526fa74b95b7?s=96&d=mm&r=g\",\"caption\":\"Eoghan Henn\"},\"url\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/author\\\/eoghan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Google Analytics 404 report: Monitor, find & fix 404 errors in GA","description":"This article explains two very simple custom reports for Google Analytics that you can use to monitor and fix 404 errors on your website.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.searchviu.com\/en\/404-errors-google-analytics\/","og_locale":"en_US","og_type":"article","og_title":"Google Analytics 404 report: Monitor, find & fix 404 errors in GA","og_description":"This article explains two very simple custom reports for Google Analytics that you can use to monitor and fix 404 errors on your website.","og_url":"https:\/\/www.searchviu.com\/en\/404-errors-google-analytics\/","og_site_name":"SEO Data Warehouse And Monitoring","article_published_time":"2018-08-18T10:17:14+00:00","article_modified_time":"2026-02-02T13:24:59+00:00","og_image":[{"width":400,"height":269,"url":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/037dd5be-404-errors-google-analytics-400x269-1.jpg","type":"image\/jpeg"}],"author":"Eoghan Henn","twitter_card":"summary_large_image","twitter_creator":"@searchviu","twitter_site":"@searchviu","twitter_misc":{"Written by":"Eoghan Henn","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/#article","isPartOf":{"@id":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/"},"author":{"name":"Eoghan Henn","@id":"https:\/\/www.searchviu.com\/#\/schema\/person\/7a031e5565b9ece3fd77be3c7f19381c"},"headline":"Monitor &#038; Fix 404 Errors with Google Analytics 4","datePublished":"2018-08-18T10:17:14+00:00","dateModified":"2026-02-02T13:24:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/"},"wordCount":2266,"commentCount":96,"publisher":{"@id":"https:\/\/www.searchviu.com\/#organization"},"image":{"@id":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/#primaryimage"},"thumbnailUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/037dd5be-404-errors-google-analytics-400x269-1.jpg","keywords":["Engllish"],"articleSection":["Web Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.searchviu.com\/404-errors-google-analytics\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/","url":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/","name":"Google Analytics 404 report: Monitor, find & fix 404 errors in GA","isPartOf":{"@id":"https:\/\/www.searchviu.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/#primaryimage"},"image":{"@id":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/#primaryimage"},"thumbnailUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/037dd5be-404-errors-google-analytics-400x269-1.jpg","datePublished":"2018-08-18T10:17:14+00:00","dateModified":"2026-02-02T13:24:59+00:00","description":"This article explains two very simple custom reports for Google Analytics that you can use to monitor and fix 404 errors on your website.","breadcrumb":{"@id":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.searchviu.com\/404-errors-google-analytics\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/#primaryimage","url":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/037dd5be-404-errors-google-analytics-400x269-1.jpg","contentUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/037dd5be-404-errors-google-analytics-400x269-1.jpg","width":400,"height":269},{"@type":"BreadcrumbList","@id":"https:\/\/www.searchviu.com\/404-errors-google-analytics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.searchviu.com\/en\/"},{"@type":"ListItem","position":2,"name":"Monitor &#038; Fix 404 Errors with Google Analytics 4"}]},{"@type":"WebSite","@id":"https:\/\/www.searchviu.com\/#website","url":"https:\/\/www.searchviu.com\/","name":"SEO Data Warehouse And Monitoring","description":"SEO Solutions For Teams And Agencies","publisher":{"@id":"https:\/\/www.searchviu.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.searchviu.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.searchviu.com\/#organization","name":"searchVIU","url":"https:\/\/www.searchviu.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.searchviu.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/d3babe41-searchviu-logo2x.png","contentUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/d3babe41-searchviu-logo2x.png","width":340,"height":340,"caption":"searchVIU"},"image":{"@id":"https:\/\/www.searchviu.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/searchviu","https:\/\/www.linkedin.com\/company\/searchviu\/"]},{"@type":"Person","@id":"https:\/\/www.searchviu.com\/#\/schema\/person\/7a031e5565b9ece3fd77be3c7f19381c","name":"Eoghan Henn","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/bfa3d44dac21ee6e663defdfe4eb2ecb29ad85001375745329c7526fa74b95b7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bfa3d44dac21ee6e663defdfe4eb2ecb29ad85001375745329c7526fa74b95b7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bfa3d44dac21ee6e663defdfe4eb2ecb29ad85001375745329c7526fa74b95b7?s=96&d=mm&r=g","caption":"Eoghan Henn"},"url":"https:\/\/www.searchviu.com\/en\/author\/eoghan\/"}]}},"modified_by":null,"_links":{"self":[{"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/posts\/2579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/comments?post=2579"}],"version-history":[{"count":29,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/posts\/2579\/revisions"}],"predecessor-version":[{"id":8737,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/posts\/2579\/revisions\/8737"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/media\/1100"}],"wp:attachment":[{"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/media?parent=2579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/categories?post=2579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/tags?post=2579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}