Key takeaways
- GA4 without key events is a hit counter. The whole setup answers one question: which traffic turns into enquiries or sales?
- The full job takes about 40 minutes: property → tag on every page → verify in Realtime → 3–5 key events → Search Console link → retention to 14 months → filter your own visits.
- Track at most five things. For a service business: form submissions, phone clicks, email clicks, booking/quote completions, and one optional extra.
- Change data retention from 2 to 14 months on day one — or your year-over-year comparisons die silently.
- Check three reports a month and ignore the rest until a specific question sends you there.
Most GA4 setups are expensive decoration
We install Google Analytics 4 on every site we build. We also inherit sites where the previous developer "set up analytics" — which meant pasting a tracking tag into the header and never opening the dashboard again.
Here's the uncomfortable part: GA4, straight out of the box, tells you how many people visited your site. It has no idea what a customer looks like on your site. It doesn't know that a form submission is worth more than a hundred page views, or that a phone-number tap is the closest thing to money your site produces.
Until you teach it that, your analytics is a very pretty hit counter. This guide fixes that in about 40 minutes. Not "install the tag" — the whole job, done right.
Step 0: Make sure the account is actually yours
Before you touch a single setting, check who owns the GA4 property. We've seen this trap a dozen times: an agency or freelancer created the analytics under their Google account. The client can't add users, can't change settings, and when the relationship ends, years of history walk out the door with the developer.
The rule: the Google account that owns the property should be one your business controls — ideally a shared company Google account, not someone's personal Gmail, and never your developer's. You add your developer as a user (Admin → Access management); ownership stays with you. If you haven't checked your domain and hosting either, our 15-minute website ownership audit walks through all of it.
The 40-minute setup, in order
Do these in sequence. Each step builds on the last, and skipping ahead is how people end up with data they can't trust.
Step 1: Create the property (10 minutes)
- Go to analytics.google.com and sign in with the business-owned Google account from Step 0.
- Click Admin (the gear icon, bottom left) → Create → Account. Name it your business name. On the data-sharing screen, uncheck anything you're not comfortable with — there's no upside to sharing data with Google's product machine, so turn off "Google products & services" sharing unless you have a specific reason.
- Create → Property. Name it after the website. Set the reporting time zone and currency to yours — this decides when "today" starts in your reports, and getting it wrong quietly shifts all your daily numbers.
- Answer the business-details questions honestly; they only affect which benchmark suggestions Google shows you.
- Choose Web, enter your URL, name the stream, and leave Enhanced Measurement switched on. Copy the Measurement ID (it starts with G-).
If you ever had old Universal Analytics (the kind with UA- numbers), it's dead — data collection stopped in July 2023 and Google removed access in July 2024. GA4 is a fresh setup, not an upgrade, so there's nothing to migrate.
Step 2: Get the tag on every page (10 minutes)
The Measurement ID has to load on every page. Where it goes depends on your platform:
| Platform | How to install |
|---|---|
| WordPress | Install Google's free Site Kit plugin, connect it, and select your GA4 property — it handles the code injection (and helps with Step 5). Your SEO plugin probably has a GA field too; use one, not both. |
| Shopify | Install the Google & YouTube app and connect your GA4 property. This also wires up the standard e-commerce events for free. |
| Wix / Squarespace / Webflow | Each has a native analytics field in its settings or integrations panel — paste the Measurement ID there and publish. |
| Custom-built site | Paste the Google tag snippet into the <head> of every page template. Head, not body — in the body it can misfire or load late. |
The classic failure: the tag installed twice — once via a plugin, once pasted manually. Every visitor gets counted twice and your traffic looks amazing right up until you try to make a decision with it. Pick ONE method.
Step 3: Prove it's working before you continue (5 minutes)
In GA4, go to Reports → Realtime. Open your website in another tab — or on your phone — and click around. Your visit should show up within a minute. Nothing appearing? Run through this list:
- Typo in the Measurement ID — copy-paste it again.
- Your own ad blocker. Ad blockers block Google's tag — including yours, on your own site. Test in a clean browser profile or temporarily disable it.
- Cache. If you run a caching plugin, it may be serving visitors a stale page from before the tag was added. Clear the cache.
- Wrong spot. Tag in the <head>, not the body, not the footer.
Google's Tag Assistant (tagassistant.google.com) loads your site and shows exactly which tags fire per page — when Realtime stays empty, it usually tells you why in under a minute.
Step 4: Tell GA4 what a "win" looks like (10 minutes — the step everyone skips)
GA4 records everything as events. Out of the box it doesn't know which events are money and which are noise. In 2024 Google renamed "conversions" to key events — same idea, newer label, and marking them is the single most important thing in this entire guide.
The rule: mark at most five. If everything is a key event, nothing is.
For a typical service business, the five that matter:
| Key event | What it is | How to set it up |
|---|---|---|
| Form submission | Contact or quote form completed | Mark the form_submit event as a key event — but test it first. GA4's built-in form tracking misses plenty of modern form builders. If it undercounts, use your form plugin's GA integration or Tag Manager instead. A thank-you page view works as a reliable fallback. |
| Phone click | Visitor taps your phone number | Custom event — Enhanced Measurement does NOT track tel: clicks, despite what some guides claim. Create it via Admin → Data display → Events → Create event, matching link URLs containing tel:, or set it up in Tag Manager. |
| Email click | Visitor clicks your email address | Same story — mailto: links need a custom event too. |
| Booking / quote completion | Booking or quote flow finished | Mark the confirmation/thank-you page view as a key event. Usually the highest-intent action a service site has. |
| Chat started (optional) | Visitor opens your chat widget | Depends on the tool — most chat widgets (Tidio, Crisp, Intercom) ship a GA4 integration. |
Running a store? It's easier: purchase, add_to_cart, and begin_checkout come free with Shopify's Google & YouTube app or WooCommerce's Google integrations. Just mark purchase as a key event and you're done.
To mark one: Admin → Data display → Events, find the event, and toggle "Mark as key event." If the event doesn't exist yet, use Create event with matching conditions, like the tel: example above.
Honest caveat: a phone click is not a phone call. A tap-and-hang-up counts exactly the same as a 20-minute sales call. Treat call clicks as interest, not revenue. If calls are your lifeblood, dedicated call-tracking software is the real answer — GA4 gets you 80% of the way there for free.
Step 5: Connect Google Search Console (3 minutes)
Admin → Product links → Search Console links → Link, then pick your verified Search Console property.
Why bother: GA4 shows what happened on your site; Search Console shows how people found you — the actual search queries, per page. Together they answer the question every business owner should be asking: which Google searches bring customers? Without the link, your organic traffic is a black box, and any SEO work you do is guesswork.
Step 6: The 30-second setting everyone misses (1 minute — do it today)
GA4's default data retention is 2 months. Leave it, and next year you can't compare December to December — the detailed data is gone permanently, with no warning.
Fix it now: Admin → Data collection and modification → Data retention, and set event data retention (and user data) to 14 months — the maximum. Save. Done.
The fine print, honestly: this setting governs detailed, user-level data (the stuff Explorations use). Standard aggregated reports keep data longer regardless. But year-over-year analysis lives in the detailed data, so set it to 14 months anyway.
Step 7: Stop counting yourself (2 minutes)
On a low-traffic site, you and your team can be 10–20% of all recorded "visitors" — enough to flip which pages look popular.
Admin → Data streams → your stream → Configure tag settings → Define internal traffic, and add your office or home IP address. Then go to Admin → Data filters and flip the internal-traffic filter from testing mode to Active.
Honest caveat: home IPs change, so revisit this when the numbers start looking odd. It's directionally correct, not perfect — which is fine, because that's all analytics ever is.
The 5 reports worth your time — and everything else you can ignore
GA4 ships with dozens of reports. You need five. Everything else can wait until a specific question sends you there.
| Report | Where to find it | What it tells you |
|---|---|---|
| Traffic acquisition | Reports → Acquisition → Traffic acquisition | Which channels bring visitors. Sort by key events, not sessions. A channel sending 1,000 sessions with zero key events is decoration. |
| Landing pages | Reports → Engagement → Landing page | Where people arrive. High traffic with few key events means the page needs work — its CTA, its offer, or its speed. |
| Key events | Reports → Engagement → Key events | The money report: how many wins, trending which way, from which source. |
| Pages and screens | Reports → Engagement → Pages and screens | What actually gets read. High engagement but low traffic? Promote that page more. |
| Realtime | Reports → Realtime | For verifying tracking and watching campaign launches. Not a daily habit. |
What to ignore for now: Explorations (powerful, but unnecessary until you have a specific question), the Advertising reports (until you run ads), Demographics (fun, rarely actionable), and Realtime as entertainment. Checking Realtime every morning is analytics theater — it feels like work and teaches you nothing.
When the numbers look wrong
Every GA4 setup develops a quirk eventually. Symptom, likely cause, fix:
| Symptom | Likely cause | Fix |
|---|---|---|
| Nothing in Realtime | Tag not firing | Tag Assistant; re-check the Measurement ID; disable your ad blocker; clear site cache |
| Traffic doubled overnight | Tag installed twice (plugin and manual snippet) | Remove one method. Tag Assistant should show exactly one Google tag per page |
| "Direct" traffic suddenly huge | Tag missing on some page templates, or a redirect stripping the referrer | Verify the tag on every template; audit your redirects |
| Your checkout shows up as its own traffic source | Payment gateway not excluded from referrals | Admin → Data streams → Configure tag settings → List unwanted referrals — add paypal.com, stripe.com, and your checkout domain |
| GA4 counts fewer enquiries than your inbox shows | Ad blockers and privacy browsers block the tag for a chunk of visitors | Accept the gap. GA4 measures trends, not census — compare month-over-month, not absolute truth |
| Key events show zero but enquiries keep arriving | Event never created, misnamed, or the form submits via AJAX with no page load | Submit the form yourself and watch Realtime/DebugView; fix the trigger |
The privacy part, in plain English
If a meaningful share of your visitors are in the EU or UK, Google requires Consent Mode v2 for advertising measurement. Without it, conversion data develops gaps and ad bidding starves for signal. Practically: you need a consent banner that talks to Google's tag — most current plugins (Complianz, CookieYes) do this out of the box now.
Two rules regardless of where you operate. First, never send personal data — names, emails, phone numbers — as event parameters. Google prohibits it and it buys you nothing. Second, this section isn't legal advice. If privacy law keeps you up at night, that's a lawyer question, not a blog-post question.
The 20-minute monthly routine
Nobody needs to live in GA4. Once a month, same day, work through this:
- Traffic acquisition, sorted by key events (5 min). Note your top 3 channels. Is anything collapsing or spiking versus last month?
- Landing pages, top 5 by sessions (5 min). Any page with plenty of traffic but a key-event rate far below your site average? That page goes on the fix list — start with our conversion playbook.
- Key events total versus last month and the same month last year (5 min). This is what the 14-month retention setting bought you. Which source drove the change?
- Write down ONE action (5 min). Fix the worst landing page's call-to-action, or double down on your best channel. One thing. Consistency beats perfection.
After three months, patterns emerge. After six, there's evidence behind every marketing budget decision instead of vibes. For a sense of what "good" looks like once the data flows, our conversion-rate benchmarks give honest numbers by industry.
Quick answers
Is Google Analytics 4 free?
Yes — the standard property is free, and it's all a small business needs. Google sells an enterprise tier (Analytics 360) for very large sites. You don't need it.
Do I need Google Tag Manager?
No. Tag Manager earns its keep when you start tracking lots of custom events without touching code each time. For everything in this guide, skip it and keep your setup simple.
What happened to my old Universal Analytics?
It stopped collecting data in July 2023, and Google removed access to old properties in July 2024. GA4 is a separate platform, not an upgrade — set it up fresh today and start the clock.
Will ad blockers ruin my data?
They'll shave off a chunk — roughly a tenth to a quarter of visitors depending on your audience. GA4 is for trends and comparisons, not exact headcounts. Never judge it against your form inbox one-to-one.
Get a second pair of eyes on it
Every free site audit we run includes a tracking check — most sites we look at are either double-counting every visitor or tracking nothing that matters. It takes us a few minutes to spot which one you are.
Want it handled instead of DIY? Book a call — analytics setup is part of every build we ship, and our pricing is published right on the site.