{"id":20319,"date":"2026-09-24T10:54:05","date_gmt":"2026-09-24T08:54:05","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=20319"},"modified":"2026-10-25T21:48:23","modified_gmt":"2026-10-25T20:48:23","slug":"hostname-filters-in-ga4-defining-and-checking-approved-website-addresses","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/","title":{"rendered":"Hostname Filters in GA4: Defining and Checking Approved Website Addresses"},"content":{"rendered":"<p>Since 21 September 2026, Google Analytics 4 has offered <em>Include only<\/em> for hostname filtering: only matching hostnames pass this filter. A hostname is the domain part of a page address, such as <code>shop.example.com<\/code>. Previously, only <em>Exclude<\/em> had been available since 11 June 2026 to remove matching hostnames. The following rules concern active filters; Measurement Protocol events are exempt from the hostname Include filter.<\/p>\n<p>An approved-hostname list can require less upkeep than a continually growing blocklist. Approved partner sites also belong on the list if the same measurement runs there. A forgotten shop domain can nevertheless cost real purchase events. Data discarded by an active data filter cannot later be restored in GA4 or its BigQuery export.<\/p>\n<figure class=\"lw-diagram\">\n<img alt=\"Four cases for an active hostname Include filter: matching host allowed, other or empty host discarded, Measurement Protocol exempt. Further processing is not guaranteed.\" decoding=\"async\" height=\"580\" loading=\"lazy\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/hostname-reviewed-20319-en-20261025.png\" width=\"1120\"\/>\n<figcaption>Effect of the active hostname Include filter. Other filters and processing rules can still apply.<\/figcaption>\n<\/figure>\n<h2>What the release note defines<\/h2>\n<p>The Google announcement and current guide distinguish the following rules and filter states:<\/p>\n<ul><li><strong>Include.<\/strong> Only events with a matching hostname pass this active filter.<\/li><li><strong>Empty hostname.<\/strong> Blocked by Include; the Measurement Protocol exemption still applies.<\/li><li><strong>Measurement Protocol.<\/strong> This delivery route is exempt from the hostname Include filter. Other requirements for valid data still apply.<\/li><li><strong>Order.<\/strong> Active Include filters apply together first: one matching Include rule is enough. Active Exclude filters can still remove events afterwards.<\/li><li><strong>State.<\/strong> Testing labels matching data but discards nothing through this filter. Active discards permanently; Inactive performs no evaluation. Historical data remains unchanged.<\/li><\/ul>\n<h2>What this means in practice<\/h2>\n<p><strong>An allowlist does not prove authenticity.<\/strong> The filter checks the hostname supplied with the event. This does not guarantee that a visit to that website actually occurred. The official GA4 Measurement Protocol is an interface for sending events directly, for example from an order system. It requires a private <code>api_secret<\/code> in addition to the publicly visible measurement ID. Reading the ID alone is therefore insufficient for that endpoint. Exemption from the Include filter also does not guarantee that arbitrary data will be processed.<\/p>\n<p><strong>Every intended measurement location needs consideration.<\/strong> Besides the main domain, this might include <code>shop.example.com<\/code>, a booking site or an external checkout. The question is whether that location sends wanted events to this GA4 property, meaning this collection of analytics data. A link or a redirect back from a payment provider alone is not enough.<\/p>\n<p><strong>An empty hostname needs investigation.<\/strong> The browser tag uses the current page address as the default <code>page_location<\/code>. The unclear gtag.js parenthesis in the release note therefore does not establish that ordinary gtag.js page views generally arrive without a hostname. Missing or overridden page addresses and custom delivery paths need checking in the actual setup.<\/p>\n\n\n<!-- lw-flux-illu 20319-a2 -->\n<figure class=\"lw-illu\"><img src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/illustrationen\/flux-20319-a2.webp\" width=\"1120\" height=\"630\" loading=\"lazy\" decoding=\"async\" alt=\"A carved decoy duck floats among real mallards and passes as one at first glance. Likewise, a hostname on the allowed list does not prove that a hit is really genuine.\"><figcaption>A carved decoy duck floats among real mallards and passes as one at first glance. Likewise, a hostname on the allowed list does not prove that a hit is really genuine.<\/figcaption><\/figure>\n\n\n<h2>How hostname matching works<\/h2>\n<p>The current guide explicitly defines the text comparisons. For a small set of known hosts, exact matching is usually easier to check than a broad substring rule.<\/p>\n<ul><li><strong>Exactly matches.<\/strong> The whole hostname must match. An entry for <code>example.com<\/code> therefore does not automatically allow <code>www.example.com<\/code>.<\/li><li><strong>Contains, begins with, ends with.<\/strong> These comparisons check a substring, prefix or suffix. <code>contains example.com<\/code> also matches <code>example.com.other.example<\/code>. Such rules need checking with both wanted and unwanted examples.<\/li><li><strong>Multiple rules and app data.<\/strong> Combining Include filters as a union is documented. An additional Include rule must not quietly widen the intended restriction. A web-hostname rule should not be assumed to filter native app events without verification.<\/li><\/ul>\n<h2>Check the filter before activation<\/h2>\n<figure style=\"--cbb-digits:2\" class=\"cbb cbb--wrap cbb--numbers wp-block-code-beautifier-block-code\" data-lang=\"plain\"><figcaption class=\"cbb-head\"><span class=\"cbb-lang\">Text<\/span><span class=\"cbb-actions\"><button type=\"button\" class=\"cbb-button cbb-button--wrap\" data-cbb-action=\"wrap\" aria-pressed=\"true\" title=\"Wrap long lines\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M2 4h12M2 8h9.5a2.5 2.5 0 0 1 0 5H8m0 0 1.5-1.5M8 13l1.5 1.5M2 12h3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span class=\"cbb-sr\">Wrap long lines<\/span><\/button><button type=\"button\" class=\"cbb-button cbb-button--copy\" data-cbb-action=\"copy\" data-cbb-done=\"Copied\" data-cbb-failed=\"Press Ctrl+C to copy\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><rect x=\"5.5\" y=\"5.5\" width=\"8\" height=\"8.5\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><path d=\"M10.5 3.5V3A1.5 1.5 0 0 0 9 1.5H4A1.5 1.5 0 0 0 2.5 3v6.5A1.5 1.5 0 0 0 4 11h.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><span class=\"cbb-button-label\" aria-live=\"polite\">Copy<\/span><\/button><\/span><\/figcaption><pre class=\"cbb-pre\" tabindex=\"0\"><code class=\"cbb-code language-plain\" style=\"counter-reset:cbb-line 0;\"><span class=\"cbb-line\">Include filter: before activation\n<\/span><span class=\"cbb-line\">\n<\/span><span class=\"cbb-line\">1. Collect hostnames from existing reports and the current list\n<\/span><span class=\"cbb-line\">   of websites\/partners; add planned domains.\n<\/span><span class=\"cbb-line\">2. Separate intended measurement sites from test and foreign hosts.\n<\/span><span class=\"cbb-line\">3. Choose exact matching or a deliberately checked text rule.\n<\/span><span class=\"cbb-line\">4. Create in Testing state. Check after 24\u201336 hours; also test\n<\/span><span class=\"cbb-line\">   infrequent purchases and booking paths deliberately.\n<\/span><span class=\"cbb-line\">5. Free-form exploration: Hostname, Test data filter name, Event\n<\/span><span class=\"cbb-line\">   name and Event count. Compare marked AND unmarked data.\n<\/span><span class=\"cbb-line\">6. Check allowed hosts, foreign hosts, empty values and important\n<\/span><span class=\"cbb-line\">   purchases against the selected rule.\n<\/span><span class=\"cbb-line\">7. Switch to Active only after discrepancies are resolved. Record\n<\/span><span class=\"cbb-line\">   the time; activation can also take 24\u201336 hours.\n<\/span><span class=\"cbb-line\">\n<\/span><span class=\"cbb-line\">A testing label is not automatically a deletion list.\n<\/span><span class=\"cbb-line\">A purchase event alone does not prove that a domain is missing.<\/span><\/code><\/pre><\/figure>\n<h2>Include or Exclude<\/h2>\n<table><tr><th>Aspect<\/th><th>Exclude<\/th><th>Include<\/th><\/tr><tr><td>List meaning<\/td><td>discard matching hostnames<\/td><td>allow only matching hostnames<\/td><\/tr><tr><td>New foreign or own domain<\/td><td>passes unless an Exclude rule matches<\/td><td>discarded unless an Include rule matches<\/td><\/tr><tr><td>Empty hostname<\/td><td>no general rule asserted here<\/td><td>blocked; MP exemption still applies<\/td><\/tr><tr><td>Measurement Protocol (MP)<\/td><td>Include exemption cannot simply be assumed<\/td><td>exempt from this filter<\/td><\/tr><tr><td>Incorrect rule<\/td><td>can permanently discard real data too<\/td><td>can permanently discard real data<\/td><\/tr><tr><td>Testing state<\/td><td>this filter discards nothing<\/td><td>this filter discards nothing<\/td><\/tr><\/table>\n<h2>Assessment<\/h2>\n<p>For a few stable websites, maintaining an allowlist can be part of launching a new domain: check the filter before a new shop or campaign site starts. With many changing partner sites, a named team needs to own this task. The filter does not replace checking event sources and protecting private Measurement Protocol credentials.<\/p>\n<p>The information was checked against Google documentation on 25 October 2026. No filter was activated in a real property. The examples explain the documented rules; actual delivery paths and testing labels need verification in the relevant setup before activation.<\/p>\n<div class=\"lw-faq\">\n<h2>Questions and answers<\/h2>\n<h3>Does a server container&#8217;s subdomain need to go on the list of approved hostnames?<\/h3>\n<p>A receiving address such as <code>sgtm.example.com<\/code> does not belong on the list merely because it receives requests. For an event from <code>www.example.com<\/code>, <code>page_location<\/code> remains the relevant page address if the server container passes that value on unchanged. A server container receives measurement data and forwards processed events; the receiving host and the visited website are separate pieces of information.<\/p>\n<p>For purchases sent by an order system, the complete path needs checking: from the order system through the server container to Google. Google states that the documented Measurement Protocol client in the server container sends events through the same mechanism as other server-container events, not to the Measurement Protocol endpoint. An incoming Measurement Protocol format therefore does not guarantee exemption from the hostname filter.<\/p>\n<p>An actual page address associated with the event can be passed as <code>page_location<\/code>. Inventing a confirmation-page address would not be a sound repair. An empty hostname on a purchase first indicates missing or differently processed context; it does not identify the exact cause. The preview and outbound request need to show where the value is missing.<\/p>\n<h3>Does the list of unwanted referrals replace a hostname filter?<\/h3>\n<p>No. The unwanted referrals list controls source attribution without discarding events through that mechanism. For example, a payment provider should not become a new marketing source when a customer returns to the shop. An active hostname filter instead determines whether events may be processed based on their own hostname.<\/p>\n<p>A payment domain is a candidate for unwanted-referral settings if returns from that domain would misattribute the source. It belongs on the hostname allowlist only when wanted events for the same property actually originate there. The two lists therefore perform different tasks.<\/p>\n<h3>Are hits from local development and test systems dropped as well?<\/h3>\n<p>For events subject to the active Include filter, unapproved test hosts, including <code>localhost<\/code>, are discarded. The Measurement Protocol exemption still applies. A separate property and measurement ID are advisable for development measurement; otherwise test purchases can alter the real figures.<\/p>\n<\/div>\n<div class=\"lw-quellen\">\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/support.google.com\/analytics\/answer\/9164320\" rel=\"noopener noreferrer\" target=\"_blank\">What&#8217;s new in Google Analytics &#8211; Analytics Help<\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/analytics\/answer\/13296761\" rel=\"noopener noreferrer\" target=\"_blank\">Data filters &#8211; Analytics Help<\/a><\/li>\n<li><a href=\"https:\/\/www.searchenginejournal.com\/google-analytics-include-hostname-filters\/590336\/\" rel=\"noopener noreferrer\" target=\"_blank\">Google Analytics Adds Include Filters For Hostnames &#8211; Search Engine Journal<\/a><\/li>\n<li><a href=\"https:\/\/ppc.land\/google-analytics-filter-blocks-data-from-domains-not-on-an-approved-list\/\" rel=\"noopener noreferrer\" target=\"_blank\">Google Analytics filter blocks data from domains not on an approved list &#8211; PPC Land<\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/analytics\/answer\/16608575\" rel=\"noopener noreferrer\" target=\"_blank\">Google: Filter web hostname traffic<\/a><\/li><li><a href=\"https:\/\/developers.google.com\/analytics\/devguides\/collection\/protocol\/ga4\/reference\" rel=\"noopener noreferrer\" target=\"_blank\">Google: Measurement Protocol reference<\/a><\/li><li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/server-side\/send-data\" rel=\"noopener noreferrer\" target=\"_blank\">Google: Send data to server-side Tag Manager<\/a><\/li><li><a href=\"https:\/\/developers.google.com\/analytics\/devguides\/collection\/ga4\/reference\/config#page_location\" rel=\"noopener noreferrer\" target=\"_blank\">Google: page_location configuration<\/a><\/li><li><a href=\"https:\/\/support.google.com\/analytics\/answer\/10327750\" rel=\"noopener noreferrer\" target=\"_blank\">Google: Identify unwanted referrals<\/a><\/li><\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>GA4 hostname Include filters allow matching hosts and exempt Measurement Protocol events. Testing does not discard data; active filtering is permanent. Matching rules, delivery paths and purchase events need checking before activation.<\/p>\n","protected":false},"author":1,"featured_media":31383,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[91297,91258,91252],"class_list":["post-20319","post","type-post","status-publish","format-standard","hentry","category-digital-analytics","tag-data-quality","tag-google-analytics-4","tag-web-analytics"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hostname Filters in GA4: Defining and Checking Approved Website Addresses | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"GA4 hostname Include filter since 21 September 2026: allowlist of domains, empty hostnames blocked, Measurement Protocol exempt, and how to test it first.\" \/>\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.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hostname Filters in GA4: Defining and Checking Approved Website Addresses | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"GA4 hostname Include filter since 21 September 2026: allowlist of domains, empty hostnames blocked, Measurement Protocol exempt, and how to test it first.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-24T08:54:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-25T20:48:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-20319.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Hostname Filters in GA4: Defining and Checking Approved Website Addresses\",\"datePublished\":\"2026-09-24T08:54:05+00:00\",\"dateModified\":\"2026-10-25T20:48:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/\"},\"wordCount\":1158,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-20319.png\",\"keywords\":[\"Data Quality\",\"Google Analytics 4\",\"Web Analytics\"],\"articleSection\":[\"Digital Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/\",\"name\":\"Hostname Filters in GA4: Defining and Checking Approved Website Addresses | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-20319.png\",\"datePublished\":\"2026-09-24T08:54:05+00:00\",\"dateModified\":\"2026-10-25T20:48:23+00:00\",\"description\":\"GA4 hostname Include filter since 21 September 2026: allowlist of domains, empty hostnames blocked, Measurement Protocol exempt, and how to test it first.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-20319.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-20319.png\",\"width\":1200,\"height\":630,\"caption\":\"Hostname Filters in GA4: Defining and Checking Approved Website Addresses\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hostname Filters in GA4: Defining and Checking Approved Website Addresses\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hostname Filters in GA4: Defining and Checking Approved Website Addresses | Lukas Wojcik","description":"GA4 hostname Include filter since 21 September 2026: allowlist of domains, empty hostnames blocked, Measurement Protocol exempt, and how to test it first.","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.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/","og_locale":"en_US","og_type":"article","og_title":"Hostname Filters in GA4: Defining and Checking Approved Website Addresses | Lukas Wojcik","og_description":"GA4 hostname Include filter since 21 September 2026: allowlist of domains, empty hostnames blocked, Measurement Protocol exempt, and how to test it first.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-24T08:54:05+00:00","article_modified_time":"2026-10-25T20:48:23+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-20319.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Hostname Filters in GA4: Defining and Checking Approved Website Addresses","datePublished":"2026-09-24T08:54:05+00:00","dateModified":"2026-10-25T20:48:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/"},"wordCount":1158,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-20319.png","keywords":["Data Quality","Google Analytics 4","Web Analytics"],"articleSection":["Digital Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/","name":"Hostname Filters in GA4: Defining and Checking Approved Website Addresses | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-20319.png","datePublished":"2026-09-24T08:54:05+00:00","dateModified":"2026-10-25T20:48:23+00:00","description":"GA4 hostname Include filter since 21 September 2026: allowlist of domains, empty hostnames blocked, Measurement Protocol exempt, and how to test it first.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-20319.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-20319.png","width":1200,"height":630,"caption":"Hostname Filters in GA4: Defining and Checking Approved Website Addresses"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/hostname-filters-in-ga4-defining-and-checking-approved-website-addresses\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Hostname Filters in GA4: Defining and Checking Approved Website Addresses"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/20319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=20319"}],"version-history":[{"count":3,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/20319\/revisions"}],"predecessor-version":[{"id":25759,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/20319\/revisions\/25759"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/31383"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=20319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=20319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=20319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}