GA4 audit checklist: the checks that find missing enquiries
A GA4 audit checks whether Google Analytics 4 records every enquiry, credits it to the right channel and keeps the data long enough to use. Here are 18 checks, ordered by what finds missing enquiries fastest.
The short answer
Google Analytics is on 47.2% of all websites, according to W3Techs, but that figure detects the tag, not whether it is configured. A GA4 audit is how you find out whether the numbers in front of your director are true. Run the 18 checks below on your own property in about two hours, record a pass or fail for each, and fix the enquiry tracking first.
What is a GA4 audit, and what does it include?
A GA4 audit (a Google Analytics audit) reviews how a property collects, labels and keeps data, then compares what it reports with what really happened. For a lead generation site it includes tag coverage, key event setup, channel attribution, filters, retention, integrations and a reconciliation against real enquiries.
The reconciliation is the part most audits skip. A checklist that ticks "key events configured" without comparing the count to your inbox or CRM has checked the settings, not the data.
Most GA4 audit guides are long lists of settings. That is useful, but it treats every setting as equally important. For a business that sells through enquiries, they are not. A wrong currency setting is untidy. An untracked phone number is a channel that looks worthless in every report and gets its budget cut.
So this checklist is ordered by the question each block answers:
- Is GA4 collecting at all, everywhere? (checks 1 to 4)
- Is every enquiry recorded as a key event? (checks 5 to 10)
- Is each enquiry credited to the right channel? (checks 11 to 15)
- Will the data still be there when you need it? (checks 16 to 18)
If you only have 30 minutes, do block 2.
The GA4 audit checklist: 18 checks
The table is the checklist. Each row gives the check, why it matters for enquiries, where to find it in GA4 and what a pass or a fail looks like. Work top to bottom and write down the evidence (a screenshot, a number, a date) for every fail.
| # | Check | Why it matters | Where in GA4 | Pass / fail signal |
|---|---|---|---|---|
| 1 | The tag fires on every page template | Missing pages mean missing sessions and missing enquiries | Admin, Data streams, then use Tag Assistant or DebugView on each template | ✓ Pass: page_view appears for home, service, blog, contact and thank-you pages |
| 2 | Only one GA4 tag per page | Duplicate tags double-count sessions and key events | DebugView, then look for two page_view events per load | ✕ Fail: two identical events fire within a second |
| 3 | The measurement ID matches the live property | Old or staging IDs send data somewhere nobody looks | Admin, Data streams, compare with the ID in your tag manager | ✓ Pass: one ID, one property, documented |
| 4 | Enhanced measurement settings reviewed | Form interactions and outbound clicks depend on these toggles | Admin, Data streams, Web stream, Enhanced measurement | ◐ Review: each toggle on or off by decision, not default |
| 5 | Every enquiry route has an event | An untracked phone tap or booking is invisible in every report | Reports, Engagement, Events | ✕ Fail: no event for phone, email or booking clicks |
| 6 | Enquiry events are marked as key events | Only key events feed key event rate and channel comparisons | Admin, Events, then the star icon | ✓ Pass: the star is on for each enquiry event, off for the rest |
| 7 | Key events are enquiries, not engagement | Scrolls and video plays marked as key events inflate results | Admin, Events, key event list | ✕ Fail: scroll, page_view or file_download marked as key |
| 8 | Counting method suits the event | Once per session hides repeat enquiries; once per event can double count reloads | Admin, Events, key event, Counting method | ◐ Review: once per event unless you have a reason |
| 9 | Form events separate enquiry forms from other forms | A generic form_submit counts newsletter and search forms too | Explore, Event name by Page path | ✕ Fail: form_submit fires on the blog sidebar |
| 10 | Key events reconcile with real enquiries | The only test of whether tracking is true | Compare 30 days of key events with your inbox or CRM | ✓ Pass: within about 10% after known exclusions |
| 11 | Unassigned traffic is small | Unassigned means no channel rule matched, so credit is lost | Reports, Acquisition, Traffic acquisition, Session default channel group | ✕ Fail: Unassigned is a top-five channel |
| 12 | Paid campaigns carry UTM tags or auto-tagging | Untagged ads fall into Direct, Referral or Unassigned | Traffic acquisition by Session source / medium | ✓ Pass: google / cpc, not google / referral |
| 13 | Google Ads is linked | Without the link, key events cannot become Ads conversions | Admin, Product links, Google Ads links | ✓ Pass: linked, with the right account |
| 14 | Unwanted referrals listed | Payment and booking platforms steal credit for the enquiry | Admin, Data streams, Configure tag settings, List unwanted referrals | ✕ Fail: your booking tool appears as a top referrer |
| 15 | Internal traffic filtered | Staff visits inflate sessions and test submissions inflate key events | Admin, Data filters, then check the filter is Active, not Testing | ✓ Pass: filter active, office IP ranges defined |
| 16 | Data retention set to the maximum | Short retention truncates explorations and funnels | Admin, Data collection and modification, Data retention | ✕ Fail: two months on a standard property |
| 17 | Search Console linked | Organic landing pages and queries sit next to key events | Admin, Product links, Search Console links | ✓ Pass: linked to the right site |
| 18 | Changes are annotated and owned | Nobody can explain a jump without a record | Your change log, plus the property's Admin change history | ◐ Review: a named owner and a dated log |
Source: PostCliq analysis, using the Google Analytics Help pages linked in this article (checked 30 September 2026)
For a lead generation site, two of these checks matter more than the rest: check 5 (a route with no event) and check 10 (a count that does not match reality). Everything else refines numbers that are already roughly right. Those two decide whether they are right at all.
How do you check that every enquiry is tracked?
List every way a visitor can enquire, then confirm each one produces an event and that the event is marked as a key event. Most sites have four routes: a form, a phone number, an email address and a booking link. A route with no event is invisible to every GA4 report.
Google describes key events as the actions you mark to "measure actions that are important to your business" (Google Analytics Help, Mark events as key events). You can mark up to 30 events as key events on a standard property and 50 on Analytics 360. A lead generation site needs perhaps four to six. If yours has twenty, some of them are not enquiries.
A key event is an event that measures an action that's particularly important to the success of your business.
The terminology matters in an audit because two numbers now exist. In GA4, a key event is what you mark as important. A conversion is created in Google Ads from a key event, and is what Ads bids against (Google Analytics Help). If GA4 shows 60 key events and Google Ads shows 40 conversions, that is not necessarily an error. It may simply be that only some key events are imported.
The full setup, event by event, is in GA4 key events for lead generation.
The form check
Forms deserve their own test because they fail quietly. GA4's enhanced measurement fires form_start "the first time a user interacts with a form in a session" and form_submit "when the user submits a form" (Google Analytics Help, Enhanced measurement events). That definition covers every form on the page: the newsletter box, the site search, the enquiry form.
It also means form_start minus form_submit is a rough abandonment signal. Across Zuko's form analytics benchmark, 34% of people who start a form do not complete it (vendor data, sample not disclosed). If your gap is far larger than that on the contact page, the form is the problem, not the traffic. The GA4 leak finder's five explorations include the exact view to build for this.
How do you reconcile GA4 with real enquiries?
Take 30 days. Count the enquiries your team actually received from the website (inbox, CRM, call log). Count GA4 key events for the same period. Remove known differences such as spam and staff tests. The remaining gap, as a percentage, is your tracking error. Anything above about 10% needs investigating.
Here is a worked example, with invented figures so you can follow the arithmetic.
A professional services firm sees 142 key events in GA4 over 30 days. Its CRM holds 61 website enquiries.
- 142 key events, of which form_submit is 118 and a phone click event is 24.
- Filtering form_submit by page shows 49 came from the blog newsletter form. That leaves 69 form events on enquiry pages.
- The counting method is "once per event", and 9 of those came from visitors reloading the thank-you page. That leaves 60.
- 60 real form enquiries against 61 in the CRM is a match. The 24 phone clicks have no CRM equivalent because nobody logs calls.
Conclusion: the headline "142 conversions" in last month's report was more than double the 61 enquiries the CRM can confirm. The phone clicks may well be real enquiries, but nobody can tell, because calls are not logged. Two fixes follow: replace form_submit with a dedicated enquiry event, and start logging calls. Neither needs a developer for more than an hour.
This is what we mean by an audit that finds missing enquiries. Sometimes they are missing from the report. Sometimes the report is full of enquiries that never existed.
Why is so much GA4 traffic Unassigned?
Unassigned is GA4's label for traffic that matches none of its channel rules. Google defines it as "the value Analytics uses when there are no other channel rules that match the event data" (Google Analytics Help, Default channel group). It usually means a campaign was tagged with a source or medium GA4 does not recognise.
Common causes on lead generation sites:
- Hand-typed UTM mediums. GA4 expects values such as cpc, email or organic. A medium of "newsletter-sept" or "Facebook_Ads" matches no rule.
- Events firing before a session starts. A tag that sends an event before the page_view can leave a session without source information.
- Measurement Protocol or server-side events sent without source information.
The fix is a UTM naming convention written down and shared with everyone who builds links: agencies, the email team, whoever runs social. Check the Traffic acquisition report after a month. If Unassigned is still a top-five channel, the convention is not being used.
Direct traffic deserves the same scepticism. Google's rule for Direct is a source of "(direct)" with a medium of "(not set)" or "(none)" (Google Analytics Help). Untagged email links and some app traffic land there too. A large, growing Direct channel on a site that does little brand advertising is usually a tagging problem, not a brand win.
Which GA4 settings quietly lose data?
Three settings lose data without any warning: data retention, internal traffic filters left in Testing, and missing unwanted referrals. None of them breaks a report. Each one makes the report wrong in a way nobody notices until they try to compare this year with last.
Data retention. Standard GA4 properties offer two or 14 months; Analytics 360 offers up to 50 months (Google Analytics Help, Data retention). The setting only affects explorations and funnel reports. Standard reports keep their history. But explorations are where an audit does its real work, so a two-month setting means you cannot build a year-on-year funnel. Extending the setting applies to data you have already collected, so change it now. Google also notes that "the two-month retention period is always applied to age, gender, and interest data regardless of your settings."
Internal traffic. GA4 filters are created in a Testing state and must be switched to Active to exclude anything (Google Analytics Help, Filter out internal traffic). Once active, "the excluded data is never processed", so filters are not retroactive. Define your office and agency IP ranges, test, then activate.
Unwanted referrals. If visitors leave your site to book on a third-party calendar or pay on a payment page and then return, the return visit can be credited to that platform. Google's fix is the unwanted referrals list, which takes up to 50 domains per data stream (Google Analytics Help, Identify unwanted referrals).
How does GA4 fit with Clarity, Search Console and your ads?
GA4 tells you what happened: sessions, channels and key events. It does not tell you why a visitor left a page without enquiring. That is what behaviour tools such as Microsoft Clarity show, through recordings and heatmaps. A complete audit uses both.
The practical sequence: GA4 identifies a quiet landing page (plenty of sessions, few key events). Clarity recordings on that page show what visitors did. Search Console shows which queries brought them. The Microsoft Clarity guide for marketers covers the recording side.
Before you blame the page, rule out the campaign. A page that converts well for organic visitors and badly for paid visitors often has a message problem in the ad, not the page. Whether you have a website problem or a campaign problem walks through that diagnosis.
GA4 also reports bounce rate and engagement rate. They are useful context, not audit findings. Why engagement rate is the better of the two is covered in what a good bounce rate is.
How PostCliq fits
PostCliq audits the public side of the same question: whether the pages GA4 reports on give visitors a clear, working route to enquire. It checks up to 50 public pages for speed, forms and calls to action, clarity, search access, accessibility, trust signals and AI readiness. A read-only GA4 connection puts the audit next to your own analytics. PostCliq never submits your forms and never changes your site, so check 10 (reconciliation) stays a job for someone with access to your inbox. The GA4 audit page explains what the connection reads.
What to do next
- Export this checklist into a sheet with a pass, fail and evidence column for all 18 checks.
- Do block 2 first: list every enquiry route, confirm each has an event, and mark the right ones as key events.
- Reconcile 30 days of key events against your inbox or CRM and write the gap as a percentage.
- Fix the settings that lose data today: retention to 14 months, internal traffic filter to Active, unwanted referrals listed.
- Build the quiet landing pages view from the GA4 leak finder and pick one page to fix.
- Run a free PostCliq audit on the same pages to see what a visitor meets before they reach the form.
Frequently asked questions
What is a Google Analytics audit?
A Google Analytics audit is a review of whether your GA4 property collects complete, correctly labelled data and keeps it long enough to use. It covers tag coverage, key events, channel attribution, filters, retention and integrations. For a lead generation site, the most important part is reconciling key events against the enquiries your team actually received.
How often should you audit GA4?
Run a full audit once a year and a short check every quarter. Also audit after any site rebuild, form change, new booking tool, tag manager change or agency handover, because those are the moments tracking breaks. The quarterly check can be three items: key event reconciliation, the share of Unassigned traffic and the retention setting.
What does a GA4 audit include?
A GA4 audit includes checks that the tag fires once on every page, that each enquiry route has an event marked as a key event, that channels are attributed correctly, that internal traffic and unwanted referrals are excluded, and that data retention is set to the maximum. A good audit ends with a reconciliation against real enquiries and a short list of fixes.
Are key events the same as conversions in GA4?
Not quite. In GA4, a key event is an event you mark as important to your business. A conversion is created in Google Ads from a key event and used for bidding. Google changed the naming so the two platforms define conversion the same way. When GA4 and Google Ads show different counts, check which key events were imported.
Can you audit GA4 for free?
Yes. Every check in this list uses screens already inside GA4, plus DebugView and Tag Assistant, which are free. The time cost is about two hours for a small site. Paid audit tools speed up the settings checks, but none of them can reconcile key events against your inbox, because only you can see that.
What is a good amount of Unassigned traffic in GA4?
There is no published benchmark. A practical rule: Unassigned should be a small residual, not a top-five channel. If it is large, look for campaign links with non-standard medium values and events sent without a session. A written UTM naming convention usually fixes most of it within a month.
Turn more visits
into customers.
Test your key buying journey. See where customers and AI agents get stuck, and what to fix first.
Free. No credit card.