Before a site launches, check five things in GA4: the property settings, one tag that fires once per page, filters for internal and unwanted traffic, a tested lead or purchase event marked as a key event, and the links to Google Ads, Search Console and BigQuery. This is the checklist we run before every site launch, including our own site relaunch in October 2026.
Why it matters: GA4 doesn't backfill data it missed. A launch week with a broken lead event leaves a gap in your history you can't recover, and every report and paid media bid built on that data inherits it.
How do I set up GA4 property settings?
- Reporting time zone and currency. Match both to your Google Ads account in Admin > Property settings > Property details. Time zone changes aren't retroactive.
- Data retention at 14 months. New properties default to 2 months. Raise it in Admin > Data collection and modification > Data retention. Otherwise, explorations can't look back past two months.
- Google signals, on or off on purpose. The switch is in Admin > Data collection and modification > Data collection. It adds demographic data for visitors signed in to Google. Decide whether you need it, and make sure your privacy policy covers it.
- The right users and roles. In Admin > Property settings > Property access management, make sure at least two people at your company are Administrators, not only the agency or developer who built the site.
How do I check that my GA4 tag is installed correctly?
You want one GA4 tag, the Google tag with your G- measurement ID, loaded through Google Tag Manager and firing once on every page.
How to check: open Tag Manager's Preview mode and click through the homepage, a product or service page, a form and the thank-you page. The Google tag should fire once per page, with one page_view. Then view the page source and search for gtag/js. Tag Manager adds its tags after the page loads, so any match is a hard-coded snippet from a plugin, theme or old install, and it doubles everything it tracks. Remove it, as we describe in our Meta Pixel audit.
Keep staging and test sites out. Add a Tag Manager condition so the tag fires only on your live hostname, or point staging at a separate test property. The Hostname dimension in any report will show leaks.
How do I exclude internal and unwanted traffic in GA4?
Internal traffic takes two steps, and people miss the second.
- Define the rule. In Admin > Data collection and modification > Data streams, open your web stream and go to Configure tag settings > Show more > Define internal traffic. Add your office IP addresses.
- Switch the filter to Active. In Admin > Data collection and modification > Data filters, open the Internal Traffic filter. GA4 creates it in Testing, which only labels the data. Nothing is excluded until it's Active, and exclusion is permanent, so check the results in Testing first.
Unwanted referrals. When a customer leaves to pay or book and comes back, GA4 can credit the sale to that tool instead of the ad or tagged campaign that brought them. List those domains under Configure tag settings > List unwanted referrals:
- Payment processors, such as paypal.com and checkout.stripe.com.
- Scheduling and booking tools, such as calendly.com and acuityscheduling.com.
Cross-domain measurement. If checkout or booking happens on another domain that runs your GA4 tag, add both domains under Configure tag settings > Configure your domains, so one visit stays one session across them.
How do I set up and test key events in GA4?
This is where most setups go wrong. The tag can be perfect while the number your marketing is judged on, leads or purchases, is wrong or missing.
The big picture: the event has to exist, be marked as a key event, and pass a test with a real submission. Google renamed conversions to key events in 2024, so older guides still say conversions.
Make sure the lead or purchase event exists
For lead generation, use one event for a successful form submission, such as Google's recommended generate_lead, with a form name parameter. For ecommerce, purchase should carry transaction_id, value and currency.
Mark it as a key event
In Admin > Data display > Events, click the star next to the event. If it hasn't fired yet, click Create event on the same screen, enter the exact name and turn on Mark as key event. Names are case sensitive, so generate_lead and Generate_Lead are different events.
Watch out: marking isn't retroactive. GA4 counts key events from the moment you mark them, so do it before launch.
Test it end to end in DebugView
Open Tag Manager's Preview mode, which turns on debug mode, and submit the form with real details. In Admin > Data display > DebugView, pick your device and confirm the event arrives once with the form name. Then confirm the lead reached your CRM, too.
The two most common failures
The event fires but was never marked as a key event. The Events report looks healthy, key events sit at zero, and Google Ads has nothing to import. It usually happens when one person builds the event and the GA4 admin step belongs to someone else.
The form trigger stops firing because the form changed. The site switched form tools, the form started confirming on the page instead of redirecting, or the thank-you URL changed. Nothing shows an error, and the event quietly stops. Any change to a form or its confirmation step needs a fresh test.
Why enhanced measurement's form_submit isn't enough
Enhanced measurement logs form_submit automatically, but it isn't reliable enough to count leads on its own.
- It listens for the browser's submit action, so it can fire when the form then fails validation.
- It often misses forms that submit with JavaScript or sit in an iframe, which includes many embedded form and booking tools.
- It fires for every form, newsletter and search boxes included.
The better setup: fire a custom event only after a successful submission, either from a page view of the thank-you page or, when the form confirms in place, from the form tool's success callback through the data layer. Mark that event as the key event. Your lead count feeds every CAC and ROAS number you report.
Which GA4 connections and consent settings do I need?
- Google Ads. Link it in Admin > Product links > Google Ads links, then import your key events in Google Ads under Goals > Conversions > Summary > New conversion action > Import [CHECK]. If the Google Ads account already tracks the same lead with its own tag, make only one of them primary, or bidding counts each lead twice.
- Search Console. Link it in Admin > Product links > Search Console links to see organic queries next to your GA4 data.
- Consent Mode v2. If you get EU or UK visitors, Google requires Consent Mode v2 for Google Ads measurement and remarketing to work for them. Check the status in Admin > Data collection and modification > Consent settings, then reject and accept the banner in Preview mode to confirm the tags respond.
- BigQuery export. Link it in Admin > Product links > BigQuery links. It only collects data from the day it's linked and doesn't backfill, and it keeps raw data past the 14-month retention limit.
Our marketing technology team sets up consent and BigQuery most often, because they're the two items teams put off.
GA4 setup checklist: where to find each setting
| Check | Where to find it | What broken looks like |
|---|---|---|
| Time zone and currency | Admin > Property details | Daily totals don't match Google Ads |
| Data retention | Admin > Data retention | Explorations stop at two months |
| Google signals | Admin > Data collection | Nobody knows if it's on |
| Users and roles | Admin > Property access management | Only a former agency is an Administrator |
| One GA4 tag | Tag Manager Preview and page source | Two page_view events per page |
| Staging excluded | Hostname dimension | Staging hostnames in reports |
| Internal traffic | Admin > Data filters | Filter still in Testing |
| Unwanted referrals | Configure tag settings | Payment or booking sites get credit for sales |
| Cross-domain | Configure tag settings | Sessions restart at checkout |
| Key event | Admin > Events | Lead event fires, key events show zero |
| Key event tested | Admin > DebugView | CRM and GA4 lead counts disagree |
| Google Ads and Search Console | Admin > Product links | No key events to import into Google Ads |
| Consent Mode v2 | Admin > Consent settings and Tag Manager Preview | EU and UK conversions drop off |
| BigQuery export | Admin > Product links | Raw data starts when someone needs it |
How to test GA4 on launch day
Run this five-minute test on launch day and whenever a form changes.
- Submit the form on the live site with Tag Manager Preview open.
- Watch DebugView and confirm the lead event arrives once.
- Check Realtime. In Reports > Realtime overview, confirm the event shows up as a key event. An Active internal traffic filter hides office visits here, so send a second test from a phone on cellular data.
- Check reports the next day. In Reports > Acquisition > Traffic acquisition [CHECK], confirm the test shows up in the Key events column. If it appeared in DebugView but not here, it isn't marked as a key event.
Frequently asked questions
How long does GA4 take to show data?
Realtime and DebugView show events within minutes. Standard reports can take 24 to 48 hours to finish processing, and recent numbers can change during that time.
What's the difference between conversions and key events?
In 2024, Google renamed GA4 conversions to key events. A key event is an action you mark as important in GA4, like a lead. Conversions now means conversion actions in Google Ads, which can include imported key events.
Do I need Google Tag Manager for GA4?
No. You can install GA4 with the gtag.js snippet or a CMS or ecommerce integration. We recommend Tag Manager because it keeps every tag in one place and lets you add and test events without editing site code.
Why does GA4 show different numbers than Google Ads?
They count differently. Google Ads credits a conversion to the date of the ad click and includes modeled conversions, while GA4 records a key event on the day it happens and credits all channels. Consent choices and ad blockers widen the gap. Look into it when the gap suddenly changes.
Bottom line: set up GA4 before launch, test the lead event with a real submission, and link BigQuery early, because GA4 can't recover data it never collected.
Want a second set of eyes? Ask us for a GA4 audit.
