Guide
Knowing What Your Visitors Actually Do
A broken analytics setup can keep producing reports that look normal. We found this on our own site: after moving to Astro, GA4 recorded one pageview per visit and the key events stopped arriving, while the dashboard kept loading as usual.
These guides cover configuring GA4 so its reports answer a question you would ask, and verifying that it is still recording after the site changes.
Verify Before You Interpret
GA4 reports cannot tell you, on their own, whether an event still represents the action you intended to measure. Test the form, booking flow, or cart behavior and confirm the expected event in DebugView. Where a real submission would create a real order or booking, use a test product, a staging environment, or an internal test path rather than a live transaction. Repeat the check after any change to templates, forms, or the tag container.
Pages That Do Not Reload
Some sites built with modern frameworks change pages without a full browser reload. In our Astro setup, the Google tag fired on the initial page load but did not send a new page_view when visitors used the site’s client-side navigation. Our write-up of that failure on this site covers the diagnosis, the Astro navigation event we used, and how to confirm the result in DebugView.
GA4’s enhanced measurement can send page_view on browser history changes, so the right fix depends on how your site moves between pages and how the property is configured. Similar gaps can affect other client-side navigation setups and cart events when the tracking depends on page loads that no longer happen, which is the situation the Fonteva add-to-cart starter works around.
When the Site Stops Working
GA4 can show that fewer people completed a checkout or booking. It usually cannot show what failed in the moment. For that you need tools that capture errors, slow requests, and the path a customer took before something went wrong. Error monitoring such as Sentry answers what failed and in which release. Product analytics such as PostHog answers where people dropped out of a funnel and what the session looked like. A scheduled test of the checkout or booking path answers whether that path works right now.
Monitor the whole path a customer takes, not only the page, because a product page can load normally while variant selection, inventory, add to cart, or payment fails later. Design the alerts around impact rather than volume: checkout failures, form failures, and material slowdowns on paths tied to revenue, not every frontend error. The goal is to find a broken checkout or booking path from an alert or a test, not from a week of lower conversion data.
Consent and What You Are Allowed to Collect
Analytics collects data about people, and what you may collect depends on where your visitors are. Regions with consent requirements expect a lawful basis before analytics cookies are set, and Google asks advertisers reaching users in the EEA to pass consent signals through its consent mode. If your customers include those visitors, get the legal position from a lawyer rather than from a marketing article, including ours.
Two implementation points are ours to get right. A consent banner should block the tags until someone agrees, and the common failure is a banner that records the choice while the tags load anyway, which is worth testing in the browser rather than assuming. And the more detailed tools raise the same question again: session replay and error reports can capture whatever is on the screen, so masking, sampling, and who can view a recording need deciding before you turn them on, not after.
Deciding What Counts
GA4 records a great deal by default, and most of it will not tell you whether the month went well. Choose the few actions that show meaningful intent or a completed business action, mark them as key events, and write the definition down so the number means the same thing in six months. The Cal.com booking guide walks through one of these end to end, including the redirect that makes booking confirmations easy to lose.
Campaign Tags and What They Show
Tagging your campaign links is what lets GA4 group traffic by source and medium instead of relying only on referral information. The guide covers a naming convention that survives a team using it and the mistakes that split one campaign into four rows. UTM parameters identify the campaign values attached to the link a visitor used. They do not, by themselves, show which message or interaction persuaded someone to buy.
What We Aim For
A useful analytics setup answers a small set of recurring questions reliably. It is checked after site changes, documented well enough to survive staff changes, and simple enough that someone uses it.
Start Here
-
UTM Parameters for Google Analytics 4: A Practical Guide
How to tag campaign links so GA4 reports the channel correctly. A naming convention that survives contact with a team, and the mistakes that break it.
- updated
Astro and GA4: Why Pageview Tracking Breaks & How to Fix It
Astro does not break GA4 tracking on its own. Whether anything changes depends on one opt-in choice, and many teams make that choice without thinking about analytics. Here is how to tell which navigation model your site uses, and what to configure in GTM and GA4 for each.
-
Google Search Console Guide for Business Owners
Google Search Console shows how your website appears in Google Search before anyone visits it. It can show which pages Google has indexed and what people…
Event Tracking
Measuring what people actually do rather than which pages loaded. Which interactions are worth tracking, and which only add noise.
Astro
Building content sites on Astro, including what we got wrong. Content architecture, publishing workflow, and the decisions that are expensive to reverse.