The short answer
Audit conversion tracking as a chain, not as four separate platform checklists.
Start with the real business outcome. Identify the website signal that proves it happened. Inspect the published GTM configuration. Prove the tag fires in a live browser. Confirm GA4 receives the event and treats the right event as a key event. Then verify that Google Ads receives the intended conversion and uses it correctly for reporting and bidding.
Passing one layer does not validate the next. A perfectly configured GTM tag can still fail at runtime. An active GA4 event can still be the wrong business outcome. A Google Ads conversion can record data while optimizing campaigns toward the wrong goal.

Why platform-by-platform audits miss the real problem
Most tracking audits begin inside a platform: open GTM, check a tag, open GA4, inspect Events, then open Google Ads and look at the conversion status.
That approach creates islands of evidence. It does not prove that the same user action travels through the entire stack.
A reliable audit follows one named outcome end to end:
Business outcome → website success signal → published GTM wiring → browser firing → GA4 event and key-event status → Google Ads conversion and campaign goal
This distinction matters because “configured” and “working” are different claims. Configuration shows intent. Runtime evidence shows behavior. Mature downstream data shows whether the signal is useful.
Define the conversion before auditing the tools
Do not let the existing setup define what the business should measure. Start with the outcome the business actually values.
A button click is intent. A successful form response, completed order, created account, or confirmed booking is an outcome. If the real goal happens later in a CRM – such as a qualified opportunity or paid customer – the audit should say so instead of pretending a website lead is the final result.
Outcome | Reliable success signal | GA4 event | Google Ads starting point |
|---|---|---|---|
Purchase | Confirmed order | purchase + transaction_id, value, currency | Every; primary after validation |
Lead | Accepted form submission | generate_lead | One; primary if this lead guides bidding |
Signup | Account created | sign_up | One; primary or secondary by value |
Qualified lead or sale | CRM stage or revenue confirmation | Offline or CRM event | Secondary until ingestion and quality are verified |
For purchases, Google recommends a unique transaction_id to help prevent duplicate purchase events. If value is supplied, currency is required. For leads, Google Ads often uses one conversion per ad interaction; sales usually use every conversion. Those are starting points, not substitutes for the business model.
The eight-step conversion tracking audit
1. Lock the scope and identities
Record the website, primary business outcome, GTM public container ID, GA4 property and web-stream measurement ID, Google Ads customer, audit period, and environments included.
Confirm the connected identities can access the intended resources. A clean audit of the wrong property is still wrong.
2. Scan what the website actually serves
Inspect the public site for GTM container IDs, GA4 measurement IDs, Google Ads IDs, forms, telephone and email links, booking or payment providers, iframes, consent signals, and likely success pages.
Treat this as discovery evidence. A static scanner cannot execute JavaScript, accept or deny consent, click buttons, submit forms, or prove a tag fired. Client-rendered and interaction-triggered signals can be invisible.
Force-include known checkout, booking, confirmation, and thank-you pages that normal discovery may miss.
3. Inspect the published GTM container
Start with the live published container, not an arbitrary workspace. Review:
Tags and paused state
Firing and blocking triggers
Variables and built-in variables
Folders and naming
Measurement IDs, conversion IDs, labels, and event names
Consent settings and sequencing where visible
Tags with no apparent firing trigger
Multiple tags that may send the same outcome
A workspace is useful when you deliberately want to review draft changes. It is not evidence of what visitors currently receive.
Do not automatically call every unused variable, paused tag, or repeated ID a defect. Treat each as a review candidate until the wiring and business intent are clear.
4. Prove browser execution
Use GTM Preview mode and Tag Assistant on the actual conversion journey. Test the consent states and devices that matter.
For every primary outcome, capture:
The exact action performed
Whether the business outcome succeeded
The dataLayer or website event
Which tag fired
Which tags were blocked
The parameters sent
Consent state
The destination request
Whether a refresh or repeated action sends a duplicate
This is the gate an inventory cannot replace. Google’s Preview mode shows which tags fired and what data was processed in the tested browser journey.
5. Inspect GA4 configuration and event activity
Confirm that the website measurement ID matches the intended web stream. Review the property’s streams, key events, Google Ads links, and relevant custom definitions.
Then inspect event activity over a meaningful completed period – often 90 days – using event name, event count, users, and key events. Classify each desired event as:
Configured and active
Configured but inactive or unverified
Active but not a key event
A key event that is not part of the desired blueprint
Missing
Not assessed because a required read failed
An overall successful property read does not mean every configuration section succeeded. Treat a failed key-event or Ads-link read as unknown, not empty.
Current-day reporting is also a weak audit window. Google says GA4 processing can take 24–48 hours and reports may change during that period.
6. Inspect Google Ads conversion configuration and activity
Review auto-tagging, conversion ownership, available GA4 link evidence, imported GA4 actions, and GA4 events available to import.
For every relevant conversion action, inspect:
Source and owner
Status and category
Primary or secondary treatment
Counting method
Value behavior
Attribution model
Click-through and view-through windows
Recent conversion volume and value
The goals used by the campaigns that matter
Primary actions normally appear in the Conversions column and can guide bidding when their goal is selected. Secondary actions normally remain observational in All conversions, except when included in a custom goal.
Do not promote a new or unverified signal to primary simply because the field exists. A bidding decision deserves both technical validation and enough business-quality evidence.
7. Reconcile the chain in one matrix
Create one row for every desired or currently configured business event. Read across the row until the evidence breaks.
Signal | Evidence to collect | Verdict if missing | Next check |
|---|---|---|---|
Website | Real outcome and success signal | mismatch or needs_live_qa | Verify the form, checkout, or product state |
GTM | Published tag, trigger, and IDs | missing or mismatch | Compare the live container with the site |
Browser | Tag Assistant firing, consent, request | needs_live_qa | Run the complete live journey |
GA4 | Event activity, key event, and link | inactive_or_unverified or missing | Check the stream, event, key event, and link |
Google Ads | Action activity and bidding settings | inactive_or_unverified or mismatch | Inspect source, primary status, and campaign goal |
Use careful verdicts:
Active: configured and recorded activity in the checked period
Inactive or unverified: configured but no activity was recorded
Missing: no corresponding configuration was found
Mismatch: identifiers, names, or mappings disagree across layers
Needs live QA: configuration or aggregate data cannot settle the question
Not assessed: required access or capability was unavailable
Reserve “broken” for deterministic evidence, such as the site serving a different GTM container than the one audited or a tag referencing a resource that truly does not exist.
8. Prioritize fixes by business risk
Fix the chain in this order:
Primary revenue or qualified-lead signals used by bidding
Duplicate primary conversions that can inflate automated bidding
Website or consent failures that block measurement
GTM and GA4 mapping mismatches
Counting, value, window, and goal configuration
Secondary diagnostics and naming cleanup
For each fix, name the owner, exact change, validation method, and promotion gate. A clean configuration is not the finish line; a tested, trustworthy signal is.
Common failure patterns and what they really mean
The tag exists, but no conversions appear
The trigger may not fire, consent may block the request, the destination ID may be wrong, or no genuine outcome may have happened. Inspect the live journey before editing the tag.
GA4 records the event, but Google Ads does not
Check that the intended Analytics property is linked, the event is the correct key event, the eligible event is available in Google Ads, the conversion exists, and enough synchronization time has passed.
Google Ads and GA4 show different totals
A difference does not automatically mean tracking is broken. Google Ads and GA4 can use different reporting dates, counting settings, conversion windows, attribution logic, columns, and invalid-click treatment. Compare the same source, action, date basis, and definition before diagnosing a gap.
Conversions suddenly doubled
Look for two tags sending the same success, both a native Google Ads tag and a GA4-imported version treated as primary, thank-you pages that reload, missing purchase transaction IDs, or duplicate event dispatches.
The action is active but should not influence bidding
Check whether it is primary, whether its goal is an account default or campaign-specific goal, and whether it appears in a custom goal. Secondary normally means observe-only, but a custom goal can still use it for bidding.
The exact prompt
Use this after connecting the relevant HireOtto servers:
Audit conversion tracking across [WEBSITE URL], GTM container [GTM-ID], GA4 property [PROPERTY ID], and Google Ads customer [CUSTOMER ID] for this business outcome: [OUTCOME AND SUCCESS CONDITION].
First define the desired event blueprint. Then:
1. Scan the website and force-include these important URLs: [URLS].
2. Inspect the live published GTM container and map relevant tags to firing and blocking triggers.
3. Review GA4 streams, key events, Google Ads links, custom definitions, and event activity for the last 90 complete days.
4. Review Google Ads conversion tracking, conversion actions, recent activity, primary/secondary treatment, counting, values, attribution, windows, and applicable goals.
5. Reconcile each desired or configured event across website → GTM → browser QA → GA4 → Google Ads.
6. Use only these verdicts: active, inactive_or_unverified, missing, mismatch, needs_live_qa, not_assessed.
7. End with a prioritized fix queue and a live Tag Assistant test plan.
Do not make any changes. Treat static website scans and configuration reads as evidence, not proof of browser firing. List every failed or unavailable check separately.
How HireOtto helps
HireOtto can assemble most of the evidence without forcing you to hunt through four interfaces.
It can scan public HTML for served tracking IDs and likely conversion points; inspect a live GTM container or chosen workspace; join tags to firing and blocking triggers; and export tag wiring to CSV. The GTM connection is read-only, and the website scan cannot execute JavaScript or prove runtime firing.
Its read-only GA4 connection can inspect property details, streams, key events, Google Ads links, and custom definitions. It can also run compatible reports and export results, which helps distinguish configured-but-inactive events from active events that are not part of the desired blueprint.
On Google Ads, HireOtto can review conversion-tracking readiness, list conversion actions with activity, and inspect settings that affect reporting or bidding. After human review, it can create supported native conversion actions, import eligible GA4 key events, and update supported settings. It does not install tags, publish GTM changes, edit GA4 configuration, upload offline conversion records, or replace live Tag Assistant testing.
The practitioner still decides what counts as success, which signal deserves primary status, how consent should behave, and whether a proposed change is safe for bidding.
Use the HireOtto GTM tools reference, GA4 tools reference, Google Ads conversion-action guide, and connection guide to run the workflow.
Frequently asked questions
Can AI prove that conversion tracking works?
Not from configuration alone. AI can inspect the website, GTM, GA4, and Google Ads evidence, but a live browser test must prove the tag fires under the intended journey and consent state. Mature downstream data must then confirm that the signal remains healthy.
Should I use a direct Google Ads tag or import a GA4 key event?
Choose one clear source of truth for each primary outcome. A direct Ads tag can keep Ads measurement independent of GA4. A GA4 import can align the event definition across Analytics and Ads. Either path can work; avoid counting the same outcome twice as primary.
How far back should the audit look?
Use a period long enough to include genuine outcomes and seasonality. Ninety complete days is a practical starting point for event activity, with a shorter recent window for drift. Do not use a short zero-conversion window as proof that a tag is broken.
Why can GA4 and Google Ads disagree even when tracking is correct?
They can assign conversions to different dates, use different counting and attribution settings, apply different windows, and expose different reporting columns. Reconcile definitions before trying to force the totals to match.
When should I run this audit?
Run it during onboarding, before a major launch, after tag or website changes, when conversion volume changes unexpectedly, and on a regular schedule for high-value accounts. Repeat the same matrix so you can label findings as resolved, new, regressed, unchanged, or not retested.
About Me
I’m Suyash – badminton junkie, ex‑GroupM ad‑ops grunt, first marketer at a B2B SaaS startup, and creator of Hiretto: MCP servers for performance marketers.
My mission: less clicking, more thinking.
Let’s build leverage together.

