GA4 + Google Search Console Implementation Checklist
Most analytics setups are not wrong, they are incomplete — and the gaps are all defaults nobody changed. This is the sequence we work through, with the specific settings that cost you data if left alone.
Source documentation checked on . Meta and Google revise these pages; verify anything you are budgeting or building against before you rely on it.
1. Create the GA4 property correctly
You need a Google account, the Editor role at account level to create an account, and Editor at property level to add properties and data streams.[1]
- Create the account, then the property, setting the reporting time zone and currency.[1] Get these right now — for an Indian business that is IST and INR. Changing the time zone later does not restate historical data, so your before-and-after comparisons break at the point you changed it.
- Add a Web data stream with the primary site URL.[1]
- Decide on enhanced measurement deliberately.[1] It collects scrolls, outbound clicks, site search and file downloads automatically, which is usually what you want — but it also means some events exist without anyone having specified them, so know it is on.
- Copy the Measurement ID (it starts with
G-) from Stream details.[1]
2. Install the tag where it actually belongs
Google’s instruction is specific: the Google tag is the whole block beginning <!-- Google tag (gtag.js) --> and ending </script>, placed immediately after the opening <head> tag on each page.[1]
- Tag present on every template, not just the homepage.
- Exactly one instance per page. A tag installed both directly and through a tag manager double-counts everything.
- Confirm collection has started — Google says data appears within about 30 minutes of installation.[1]
Single-page applications need checking, not assuming
3. Change the data retention setting on day one
This is the single most commonly missed step, and it is the one that cannot be fully undone.
GA4 offers 2 or 14 months of user-level and event-level retention on the standard tier (26, 38 and 50 months are Analytics 360 only).[2] The setting governs data tied to cookies and user identifiers, and it affects explorations and funnel reports — not standard aggregated reports, which are unaffected.[2]
- Set retention to the longest your policy permits, immediately after creating the property.
- Note that increasing retention is applied to data you have already collected.[2] Reductions take effect at the next monthly process, with a 24-hour window to revert without data loss.[2]
- Be aware that age, gender and interest data always use 2-month retention regardless of this setting.[2]
4. Define key events — and define few
A key event measures an action that matters to the business.[3] It is the mechanism that replaced the older “conversions” language in GA4, and key events are what you build Google Ads conversions from.[3]
- Mark only genuine outcomes — a submitted enquiry, a completed purchase, a booked call. Marking scroll depth or page views as key events makes every report say everything is working.
- Make sure the event fires on success, not on button click. A click event counts failed submissions as wins, which is the most common reason analytics and CRM numbers disagree.
- Create the matching Google Ads conversion from the key event, so bidding optimises against the same definition.[3]
5. Choose the right Search Console property type
This decision is made once and is annoying to unwind.
A Domain property captures the root domain and all subdomains and protocols — http, https, www, m. and every subpath.[5] A URL-prefix property includes only URLs matching that exact prefix, protocol included; other protocols or subdomains need their own properties.[5]
- Prefer a Domain property. A URL-prefix property splits your data across variants and quietly under-reports — you look at one property and conclude traffic is lower than it is.
- Know the trade-off: Domain properties are verified by DNS record only, unless the site is on a Google product such as Blogger or Sites.[5] If you cannot edit DNS, sort that out before you start rather than falling back to URL-prefix by default.
- Add a URL-prefix property as well if you genuinely need to segment a subdomain or path.[5]
6. Finish the Search Console setup
- Verify ownership, then submit the XML sitemap. Check the URL count Search Console reports back against the number you expect — a mismatch is the earliest warning that generation is broken.
- Confirm the sitemap contains only canonical, indexable URLs returning 200, and that each URL’s canonical tag points at itself.
- Read the Page indexing report and understand the exclusion reasons. “Discovered – currently not indexed” and “Crawled – currently not indexed” mean different things and have different fixes.
- Use URL Inspection on a handful of important pages to confirm Google sees the rendered content, not an empty shell — particularly on a JavaScript-rendered site.
- Add every colleague who needs access as a user now, not later.
7. Link the two — then publish the reports
Linking requires the Editor role on the GA4 property and verified owner status on the Search Console property, and both must cover the same set of pages.[4] In GA4, go to Admin → Search Console Links, link the property, then select the web data stream and submit.[4]
The step almost everyone stops one click short of
Once published you get two reports: Google Organic Search Queries, and Google Organic Search Traffic, which pairs landing pages with both Search Console and GA4 metrics and can be filtered by country and device.[4]
8. Record a baseline before you change anything
The setup is not finished when data arrives. It is finished when you have written down what the numbers were.
- Export a dated baseline: clicks, impressions, average position and indexed page count from Search Console; sessions and key events from GA4.
- Record the date of every significant site change alongside it. Without that, you cannot separate the effect of your work from seasonality, and every later argument about what worked is unresolvable.
- Expect Search Console and GA4 to disagree. They measure different things over different windows and attribute differently; the gap is normal and is not a sign either is broken.
Sources
Every factual claim above about Meta’s or Google’s behaviour comes from their own documentation, listed here so you can check it.
Related services
Measurement setup and reporting is part of our business and technology consulting work. Where the question is what the data should be used for rather than how to collect it, that sits with performance marketing. If the Search Console side is showing indexing problems rather than reporting ones, that is SEO services.