GA4 audit methodology
The list of checks the URL scan runs. Each one is computed in code, on data from a real browser, after the cookie banner has been accepted.
Installation and data flow
- No Google Analytics 4
GA4 tag present, hits reach Google.
- Several GA4 properties at once
A single GA4 measurement ID.
- Duplicate page_view
page_view fires once per page.
- Browser-side measurement only
Consider server-side GTM on your own subdomain (first-party).
- Hits via own server, script from Google
Tag script and hits served first-party.
- Checkout on another domain
In GA4 add both domains under “Configure your domains” and make sure the GA4 tag runs on the checkout domain with the same ID.
- Cross-domain linker at checkout
The checkout link gains a _gl parameter — cross-domain measurement works.
- Legacy Universal Analytics tags
No traces of Universal Analytics.
Events and conversions
- No page_view after in-app navigation
In-app navigation sends page_view.
- Debug mode left on in production
No debug_mode in production hits.
- Personal data in page addresses
No personal data in URLs or hits.
- Forms with no trace in measurement
Form interactions are measured.
- Scrolling is not measured
Scrolling is measured.
- Personal data in event parameters
Event parameters carry no personal data.
- Event names off the GA4 convention
Event names follow the GA4 convention.
- Error pages invisible in reports
Error pages are distinguishable in reports.
E-commerce
- No view_item on the product page
view_item on the product page.
- Add to cart is not measured
add_to_cart after adding a product.
- Incomplete product data (items)
Item entries carry id, name, price and quantity.
- No currency or value in e-commerce events
currency and value present in e-commerce events.
- No view_item_list on the listing
view_item_list on listings.
- No view_cart in the cart
view_cart in the cart.
- Payment gateways and referral exclusions
That list cannot be read through Google's API, so check it in the interface — we can only point out which domains it concerns.
- No begin_checkout on entering checkout
Entering checkout sends begin_checkout.
GTM and pixels
- Several GTM containers
A single GTM container.
- Meta pixel counts page views only
The Meta pixel sends standard events along the purchase path.
- Meta events without event_id
Generate event_id on the page (e.g. a GTM “Unique Event ID” variable) and pass the same ID to the pixel and to CAPI.
- Google Ads conversion tag
If you use Google Ads, deploy the Google Ads conversion tag in GTM with enhanced conversions (hashed email on purchase/lead).
- Measurement scripts and page speed
Tag scripts load asynchronously and early.
- Pixels beyond Google and Meta
Check that each of these pixels still has an owner and a purpose.
Cookie consent
- Consent Mode signals in hits
This audit does not judge the banner or script blocking before consent — our Consent Mode Checker does, in three passes (before consent, after accept, after reject).