Close Menu
GeekBlog

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    Apple’s Home Camera Will Not Record Video. It Will Still Recognize Your Face.

    October 11, 2026

    Garmin Confirms the Fenix 8 Brightness Bug, and the Fix Has No Date Yet

    October 11, 2026

    Amazon’s Delivery Glasses Photograph Your Doorstep. There Is No Way to Opt Out.

    October 11, 2026
    Facebook
    GeekBlog
    • Home
    • Mobile
    • Tech News
    • Blog
    • Gaming
    • Smartwatch
    • How-To Guides
    • AI & Software
    Facebook
    GeekBlog
    Home»Blog»How to Track Two Websites With Google Analytics 4 (One Property or Two?)
    Blog

    How to Track Two Websites With Google Analytics 4 (One Property or Two?)

    Marcus BennettBy Marcus BennettSeptember 9, 202611 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Email Copy Link
    Laptop showing website analytics graphs for tracking traffic
    Share
    Facebook Twitter LinkedIn Pinterest Email Copy Link

    To track two websites with Google Analytics 4, you either put both sites in one GA4 property as two web data streams, or you create a separate property for each site. One property is right when the two sites belong to the same business and you want combined totals; separate properties are right when the sites serve different audiences, teams or clients. If users move between the two sites during a single visit, you also need cross domain measurement so GA4 does not count the same person twice.

    Quick answer: In GA4 go to Admin, then Data streams, and add a second web stream for the second site inside the same property, installing that stream’s tag on the second site. Then open the first stream, choose Configure tag settings, then Configure your domains, and list both domains so sessions carry across. Use the Hostname dimension in reports to split traffic by site. If the sites are unrelated, create a second property instead and use a roll up view in Looker Studio when you need combined numbers.

    This guide explains how GA4 organizes accounts, properties and streams, when to choose each setup, how to configure cross domain tracking and subdomains, how to filter reports by hostname, and what to do when you need a single roll up across many sites. The steps use the GA4 interface as it appears in the Admin panel in 2026, plus the equivalent gtag.js and Google Tag Manager settings.

    How GA4 organizes multiple sites

    Google Analytics has three layers. An account is the top level container, usually one per company. A property is where data lives and where reports are built. A data stream is a source of data feeding a property: a website, an iOS app or an Android app. One property can hold several web streams, and each web stream gets its own measurement ID that starts with G-.

    In GA4 a single property can collect from as many websites as you want, and every event carries a hostname, so you can slice a combined property back into per site views at report time.

    Option 1: one property, two data streams

    This is the setup Google recommends when the sites are part of the same user journey or the same business, for example a marketing site and a separate checkout domain, or a main brand site and a support site.

    Add the second stream

    1. Open Google Analytics and click Admin (the gear icon at bottom left).
    2. Under the Property column, click Data streams.
    3. Click Add stream, then Web.
    4. Enter the second site’s URL and a stream name, leave Enhanced measurement on, and click Create stream.
    5. Copy the new measurement ID and install it on the second site.

    If you paste the tag by hand, the snippet for the second site looks like this. Replace the ID with the one from the new stream.

    <!-- Google tag (gtag.js) -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'G-XXXXXXXXXX');
    </script>

    On WordPress you can drop the snippet into a header injection plugin or use a dedicated analytics plugin. Our guide to adding Google Analytics to WordPress covers the options.

    Set up cross domain measurement

    When a visitor clicks from site A to site B, the browser treats them as different origins, so the GA4 client ID cookie set on A is not readable on B. Without help, GA4 starts a new session and a new user on B, and the referral source becomes site A instead of the campaign that actually brought the visitor. Cross domain measurement fixes this by appending a linker parameter (_gl) to links between the domains.

    1. In Admin, then Data streams, click the first web stream.
    2. Scroll to Google tag and click Configure tag settings.
    3. Click Configure your domains.
    4. Under Include domains that match ANY of the following conditions, add each domain. Use the Contains match type with a value like example.com so subdomains are included too.
    5. Click Save.

    Recommended for you:

    How to Use Regular Expressions in Jinja2
    Blog·Sep 9, 2026

    How to Use Regular Expressions in Jinja2

    Because the setting lives on the Google tag rather than on the stream, it applies to every stream that shares that tag. Google’s cross domain measurement documentation lists the exact conditions and notes that both domains must use the same Google tag, or tags in the same property, for the linker to work.

    If you manage tags with gtag.js by hand, the equivalent configuration is the linker parameter:

    gtag('config', 'G-XXXXXXXXXX', {
      'linker': {
        'domains': ['example.com', 'example-store.com']
      }
    });

    In Google Tag Manager, open the Google tag, expand Configuration settings, and add linker with the domains.

    Add both domains to the referral exclusion list

    Even with the linker in place, tell GA4 not to treat traffic between the two sites as a referral. In the same Configure tag settings screen, click Show more, then List unwanted referrals, and add both domains.

    Option 2: separate properties

    Create a second property when the sites are genuinely separate: different clients, different business units with their own budgets, or a site whose data should not be visible to people who administer the other one. Property level permissions are the cleanest way to enforce that separation.

    1. In Admin, click Create, then Property.
    2. Name it, set the time zone and currency, and click Next.
    3. Complete the business details, then create a web data stream for the second site.
    4. Install that stream’s measurement ID on the second site.

    Separate properties give each site its own limits, key events, audiences and Google Ads links. The cost is that there is no native combined report across properties in standard GA4; the roll up options are below.

    Which setup should you choose?

    SituationOne property, two streamsTwo properties
    Users move between the sitesYes, with cross domain measurementNo, users are counted twice
    Same business, combined totals wantedYesOnly via Looker Studio or exports
    Different clients or strict access separationNo, everyone sees everythingYes, property level permissions
    Different currencies or time zonesNo, one setting per propertyYes
    Per site conversions and audiencesShared limits, filter by hostnameIndependent
    Subdomains of one siteOne stream is enoughOverkill

    Subdomains are simpler than separate domains

    If the second “website” is really blog.example.com next to www.example.com, you do not need a second stream and you do not need cross domain measurement. GA4 sets its cookie on the root domain by default (cookie_domain is auto), so the same client ID is readable on every subdomain. Install the same measurement ID on both and the sessions stitch together automatically. You only need Configure your domains when the sites sit on different registered domains.

    Splitting reports by site inside one property

    With both sites in one property, every standard report shows combined totals. To see one site at a time, use the Hostname dimension.

    • Quick filter: In any report, click Add filter at the top, choose the Hostname dimension, and select the host you want. The filter applies until you leave the report.
    • Comparison: Click Add comparison, build one comparison per hostname, and the report shows both sites side by side.
    • Explorations: In Explore, add Hostname as a row dimension to break any metric down by site in a single table.
    • Custom reports for one site: In the Library, save a report with a Hostname filter baked in, then add it to a collection so non technical users land on the right numbers.

    Hostname is also available as a condition when you create key events and audiences, so a purchase on the store domain can be its own key event even though it lives in a shared property. If you need to confirm which hostname a tag is sending, the Google Analytics debugger and GA4’s DebugView show the page_location on every event.

    Tip: Create a custom dimension called Site with a short value such as “main” or “store” and set it in the tag config on each site. It is easier to read in reports than raw hostnames, and it keeps working if you later move a site to a new domain.

    Roll up options for separate properties

    If you went with separate properties and still need combined numbers, you have three practical routes.

    1. Looker Studio. Add each GA4 property as a data source, then use Blend data or simply place two scorecards side by side. This is free and handles most executive dashboards.
    2. BigQuery export. Every GA4 property can export raw events to BigQuery at no charge for the standard tier. Point both exports at the same project and write a UNION ALL query across the two event tables for a true combined dataset.
    3. Roll up properties. GA4 has a native roll up property type, but it is limited to Analytics 360 accounts. If you are on the paid tier, a roll up property aggregates several source properties automatically.

    Search Console linking is per property too, so if you use the search query reports in Google Analytics, link each Search Console property to its matching GA4 property.

    Troubleshooting

    The second site shows as a referral source

    Cross domain measurement is not active or the domain list does not match. Open a link from site A to site B and check that the URL on B contains _gl=. If it does not, recheck Configure your domains and make sure both sites load the same Google tag. If it does, add both domains under List unwanted referrals.

    Users double after adding the second stream

    This is expected when users visit both sites and cross domain measurement is off, because each domain generates its own client ID. Enable the linker. Also confirm that you have not installed both measurement IDs on the same page, which sends every event twice.

    Hostname shows (not set) or an unexpected host

    Events sent from a staging environment, a tag preview or a scraper carry whatever hostname the page had. Add a filter under Admin, then Data settings, then Data filters, to exclude internal and developer traffic, and check your tag is not firing on localhost or a staging domain.

    Looker Studio totals do not match the GA4 interface

    Recommended for you:

    How to Implement Facebook Comment Integration on My Website (And Why You No Longer Can)
    Blog·Sep 9, 2026

    How to Implement Facebook Comment Integration on My Website (And Why You No Longer Can)

    Looker Studio applies its own sampling and date handling, and user counts cannot be summed across properties because the same person appears in both. Treat blended user counts as approximate and rely on sessions or events for cross property totals.

    Frequently asked questions

    Can I use the same GA4 measurement ID on two different websites?

    Yes. GA4 records the hostname on every event, so one measurement ID on two domains produces a combined property you can split by Hostname. You still need cross domain measurement if users travel between the sites, and a second stream is cleaner if you want separate Enhanced measurement settings for each site.

    Is there a limit to how many data streams a property can have?

    A GA4 property can hold up to 50 data streams, with a cap of 30 app streams among them, which leaves plenty of room for two websites. The more important limits are per property: custom dimensions, key events and audiences are shared by every stream, so very large multi site setups sometimes split into several properties.

    Do I need cross domain tracking for subdomains?

    No. GA4 sets its cookie at the top level domain, so shop.example.com and www.example.com share a client ID without any configuration. Cross domain measurement is only for different registered domains, such as example.com and example-store.com, where browsers block the cookie from being shared.

    What happens to historical data if I merge two properties later?

    Nothing moves. GA4 has no tool to merge or migrate historical data between properties. If you start with separate properties and later switch to one shared property, the old data stays in the old properties and only new events land in the shared one. Decide on the structure early for that reason.

    The bottom line

    Tracking two websites in GA4 is mostly a structural decision. Put related sites in one property with a stream per site, turn on cross domain measurement under Configure your domains, exclude the domains from referrals, and use Hostname filters to split reports. Give unrelated sites their own properties and lean on Looker Studio or BigQuery when you need a combined view.

    Whichever route you pick, verify it the same way: click from one site to the other, confirm the _gl parameter appears, and watch the session continue in DebugView. Five minutes of testing on day one saves months of arguing about why your user counts do not add up.

    About this article: GeekBlog covers U.S. technology news, AI, phones, smartwatches and gaming. Every story is written and checked under our Editorial Policy. Spotted a mistake or have a story tip? Contact our editors.

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Telegram Email Copy Link
    Previous ArticleHow to Use the Google Analytics Debugger to Verify GA4 Events
    Next Article How to Run OpenCart on HostGator
    Marcus Bennett

      Marcus Bennett is GeekBlog's Android expert, covering everything from Google's Pixel line and Samsung Galaxy flagships to OnePlus, Nothing, Xiaomi and the broader Android ecosystem. He follows each Android OS release, One UI and Pixel Feature Drop, custom ROMs and the foldable wave, translating spec sheets and beta builds into hands-on guidance for readers choosing their next Android phone, tablet or wearable.

      Related Posts

      10 Mins Read

      Google Ads Keyword Planner: How It Shows the Most Relevant Keywords

      11 Mins Read

      How to Use Remarketing Techniques for Better Conversions

      11 Mins Read

      How to Conduct A/B Testing for Marketing Campaigns

      10 Mins Read

      AMP for WP Plugin Vulnerability: What Was Fixed and What to Do

      11 Mins Read

      How to Create a Facebook Business Page in 2026

      11 Mins Read

      How to Convert GMT Time to Other Time Zones in C++

      Top Posts

      Every iPhone Camera Ranked in 2026 (Best to Worst)

      July 6, 2026279 Views

      Best Stores for Buying MP3 and Digital Music You Can Keep Forever (2026)

      August 2, 2025201 Views

      Why Is RedGifs Not Working? Causes & Fixes (2026)

      July 8, 2026124 Views
      Stay In Touch
      • Facebook

      Subscribe to Updates

      Get the latest tech news from FooBar about tech, design and biz.

      Most Popular

      iPhone Battery Replacement Cost: Every Model, Apple vs Repair Shop

      October 6, 202678 Views

      Best Offline Music App in 2026: Free and Paid Picks

      October 7, 202656 Views

      One UI 9 Watch Beta Now Covers Three Galaxy Watch Generations: What You Get and How to Join

      October 4, 202654 Views
      Our Picks

      Apple’s Home Camera Will Not Record Video. It Will Still Recognize Your Face.

      October 11, 2026

      Garmin Confirms the Fenix 8 Brightness Bug, and the Fix Has No Date Yet

      October 11, 2026

      Amazon’s Delivery Glasses Photograph Your Doorstep. There Is No Way to Opt Out.

      October 11, 2026

      Subscribe to Updates

      Get the latest creative news from FooBar about art, design and business.

      HEICJPG.online - Convert HEIC to JPG online
      Facebook
      • About Us
      • Contact us
      • Privacy Policy
      • Disclaimer
      • Terms and Conditions
      • Editorial Policy
      • Cookie Policy
      • Your Privacy Choices
      © 2026 GeekBlog

      Type above and press Enter to search. Press Esc to cancel.