Check whether your GA4 measures what you think it does
Enter your URL. We open the site like a customer, click through the listing, product page, cart and checkout, and listen to what really reaches Google Analytics. After the report you can connect your GA4 and check the property settings too.
What the scan does
We open the site like a customer — on a phone, with the cookie banner accepted.
We walk the path: listing, product page, add to cart, cart, entering checkout. On B2B sites: the contact form.
We compare what the site sends to Google with what correct measurement looks like — and show what to fix first.
Connect your GA4 and the report gains an audit of the property settings — the part no scan can see from outside. Read-only access, with no stored account credentials.
Measurement areas
Installation and data flow
the GA4 tag, duplicate properties and containers, server-side.
Events and conversions
page_view in apps, scrolling, error pages, debug mode, personal data in URLs and parameters, forms.
E-commerce
view_item, add_to_cart, view_cart, begin_checkout, product data, currency and value.
GTM and pixels
the Meta pixel, Google Ads, the TikTok, LinkedIn and Microsoft pixels, how fast tags load.
Property configuration
after connecting GA4: key events, data retention, Google Ads and BigQuery links, custom definitions, attribution, data streams.
Cookie consent and Consent Mode are covered separately by our Consent Mode Checker.
Consent Mode Checker →What we do with your data
The URL scan needs no login and no access to your accounts. We visit public pages the way a customer's browser does and store only the audit result — no page content, no user data. The configuration audit after connecting GA4 is read-only, with no stored account access. Its result lives under the same unindexed address as the scan and we delete it after 30 days. Details in the privacy policy.
Privacy policy →GA4 audit — what you should know
Google Analytics 4 rarely breaks loudly. Reports still generate, numbers still grow — and decisions get made on data nobody checked. Here is what a GA4 audit covers, the mistakes we see most often in scans, and how to confirm your tracking works on your own.
What a GA4 audit is, and how it differs from a property audit
A GA4 audit answers one question: does the data reaching your property describe what actually happens on the site. It splits into two layers. The first is the implementation — what the site sends to Google on every page view and every click. The second is the property configuration — how GA4 receives, attributes and reports that data.
A URL scan examines the first layer, because that is the only one visible from outside. We open the site in a real browser, walk the path like a customer and read the measurement requests going to Google. No access to your account is needed.
A property audit requires the account to be connected and covers what cannot be seen from outside: key events, data retention, the Google Ads and BigQuery links, custom definitions, reporting identity, attribution and stream settings. Unwanted referrals, internal traffic filters and domain configuration are not exposed by Google's API — those three you can only check in the interface.
Order matters. Property settings will not fix events the site never sends, which is why we start with the implementation. If the first layer is healthy, the second is a handful of fields in the admin panel.
What a GA4 audit checks
The scan walks the home page, a listing, a product page, the cart and the checkout (on B2B sites — the contact form) and compares the collected requests with what correct measurement looks like. Findings fall into these areas:
- Installation and data flow — whether the GA4 tag exists at all, whether there is one property, whether a page view is counted twice, whether data goes browser-side or through your own server.
- Events and conversions — page views in apps that change the URL without reloading, page scrolling, debug mode left on in production, personal data in URLs and event parameters, form tracking.
- E-commerce — view_item on the product page, add_to_cart after adding, view_cart in the cart, begin_checkout on entering checkout, complete product data, currency and value.
- GTM and pixels — how many containers run, the Meta pixel and its standard events, the Google Ads conversion tag, the TikTok, LinkedIn and Microsoft pixels, how fast measurement scripts load.
Every finding carries evidence: the URL of the view and the fragment of the request or data layer it is based on. The full rule list lives in our methodology.
The most common GA4 implementation mistakes
These are the mistakes that come up most often in scans.
- A double implementation. GA4 wired through Google Tag Manager and again in the page code or a shop plugin. The result: page_view fires twice, page views are inflated, bounce rate is deflated and engagement rate sits near 100%.
- Two properties at once. Usually a leftover from a previous agency or a plugin. Two properties mean two versions of the truth and an argument about which one is right.
- A product page without view_item. The GA4 e-commerce funnel then starts at the cart, so you cannot measure how many people viewed a product versus added it.
- Item entries without item_id or item_name. GA4 shows „(not set)” instead of products, and dynamic remarketing has nothing to match against the feed.
- Sales events without currency and value. GA4 needs both to compute revenue. Without them monetisation reports show zeros and value-based bidding has nothing to work with.
- Debug mode in production. Someone switched debug_mode on for testing and never turned it off — every user lands in DebugView.
- Personal data in URLs. An email address or phone number in a URL parameter reaches GA4 along with the full page_location. That breaches the Google Analytics terms and GDPR.
- Apps without page views. The site changes the URL without reloading and GA4 receives no page_view. Reports show only the first page of each session.
- Payment providers missing from unwanted referrals. The customer returns from the provider domain after paying, and the purchase is attributed to „referral” instead of the campaign that brought it.
How to check your GA4 tracking yourself
You need nothing beyond a browser. Open the site, open developer tools, go to the Network tab and type collect into the filter. Every GA4 request appears as its own row.
Start by accepting the cookie banner — consent-gated tags will not fire otherwise and you will see a picture no real user ever gets. That is the most common reason someone „cannot see” tracking that in fact works.
In the request parameters look for: tid (the property ID — there should be one), en (event name), dl (page URL), gcs (consent state), cu and epn.value (currency and value on sales events), pr1 and onwards (product entries).
Reload the page and count the requests with `en=page_view` for the same URL. One per view is correct. Watch out for a false alarm: with Consent Mode you will see two — the first before consent (gcs=G100), the second after accepting (gcs=G111). That is the consent transition, not a double implementation.
To confirm events inside the property, use DebugView in GA4 together with preview mode in Google Tag Manager. Realtime shows less detail but is enough to check whether an event arrives at all.
GA4 audit for an online store: e-commerce events
In a store the stakes are higher, because measurement decides what your campaigns optimise for. The full GA4 funnel is: view_item_list on the listing, view_item on the product page, add_to_cart after adding, view_cart in the cart, begin_checkout on entering checkout, add_payment_info on choosing a payment method and purchase after the order.
Each of these events carries an items array. An entry needs item_id, item_name, price and quantity. The identifier should be identical to the one in Merchant Center — otherwise dynamic remarketing cannot match the product to the feed and shows a random assortment instead of what the customer viewed.
The most common platform trap: the plugin sends the SKU in a field other than item_id, so product data is technically there while per-product reports stay empty. The second: add_to_cart fired on the button click rather than on confirmation of the add — then you also count failed attempts, for instance when the button opens a variant picker.
purchase should fire once per order and carry transaction_id, because that is what GA4 uses to drop duplicates when someone refreshes the thank-you page. If the purchase path loses customers regardless of tracking, check it in the UX Audit.
GA4 and Consent Mode — what a URL scan will not see
In Europe GA4 operates inside a consent framework. Consent Mode v2 passes a gcs parameter on every request: G100 means analytics consent was not granted, G111 means it was. Without those signals Google Ads loses conversion modelling and remarketing for users who declined.
Our scan clicks „accept” and shows measurement in the post-consent state — the one most of your measured traffic is in. It deliberately does not judge the banner itself, nor what fires before consent and after a refusal. That is a separate test, in three passes, and the Consent Mode Checker runs it.
The two tools answer different questions. The GA4 audit: is what you send correct. The checker: are you allowed to send it, and are the consent signals passed properly. A store with flawless e-commerce events and broken Consent Mode still loses data despite a correct implementation.
What a GA4 audit costs and when it is worth doing
An expert audit of a GA4 implementation ranges from a few hundred euros for a review of a basic install to five figures for the full scope: the property audit, the data layer, server-side tagging and the Google Ads links. Delivery usually takes from a few days to three weeks.
Our scan is free and ready in a minute — two for a shop — so the natural order is simple: a quick diagnosis first, then a decision with data in hand.
Moments worth checking your tracking:
- before launching campaigns — Google Ads and Meta algorithms learn from your conversions, so a measurement error costs you for the whole run,
- after a redesign, a store migration or a template change — the most common moment for events to quietly disappear,
- when changing agencies — so you know what you are taking over,
- when GA4 numbers disagree with your shop back office or your ad platform.
After the audit — where to start fixing
Order matters more than it seems, because errors compound. Start with the installation: one property, one container, one page_view per view. As long as page views are counted twice, every metric above them is distorted and fixing anything higher is pointless.
Then the path events — the ones your campaigns optimise for first. In a store that is add_to_cart and purchase; on a B2B site, the form submission. The pixel and ad-tag layer comes last, because it feeds on the same data layer events.
After each batch of fixes, confirm the effect in DebugView before moving on. Fixing several things at once ends with nobody knowing which one worked.
One step is easy to forget: event parameters will not appear in GA4 reports until you register them as custom dimensions or metrics (Admin → Custom definitions). Text parameters belong in dimensions, numeric ones in metrics — otherwise you cannot average them. Data reaches the property from day one, but without definitions you will only see it in DebugView.
Finally, run the scan again. The Google Tag Manager cache refreshes some fifteen minutes after publishing, so give it a moment before you check the result.
Updated: September 2026
Questions we get most often
Does the scan change anything on my site?+
No. We only read. In a shop we add one product to the cart and open the checkout like an ordinary customer — and stop at the form. We never place an order and never submit a form.
Why does the result differ from what I see in GA4?+
We check what the site sends, not what GA4 displays. If it sends the wrong thing, the reports are wrong too — you just cannot see it.
My shop runs on {platform} — will it work?+
Yes for most platforms (WooCommerce, Shopify, Shoper, IdoSell, PrestaShop). When adding a product to the cart fails, we mark the report as partial.
The site blocked me — what now?+
Some firewalls (Cloudflare, Sucuri) block automation. Add our scan to the exceptions or write to us — we will check it manually.
What does it cost?+
Nothing. It is a tool from the Zest agency — if you want, we will fix what we find.
We'll fix what the scan finds
Send a brief or drop your contact — we'll reply within 24h.
Write to us