A marketing tracking audit checks whether a running setup measures what the business needs and whether the numbers agree across the tools that report them. Work through the setup in order: tags and destinations, consent, GA4 configuration, campaign tags, ad platform conversions, the CRM handoff, and one period of reconciled counts. Record each finding with an owner and a fix.
What is a marketing tracking audit?
An audit looks at the setup as it is today. Tags added years ago, settings changed by a previous agency, and conversions that were never reviewed all show up here. It is different from the tracking QA checklist before launch, which tests one release. It is also different from an attribution audit scope of work, which describes the commercial terms and deliverables of an engagement. This post is the checklist itself.
How do you inventory tags and destinations?
Start with a complete list of where data goes. Most problems in a running setup come from tags that were added outside the tag manager, or from one event that reaches the same platform twice.

- Export every container in the tag manager, and list each tag, trigger, and variable with its status.
- Search page templates and the website builder for hardcoded analytics or ad tags that bypass the container.
- Look for duplicate GA4 configuration tags and duplicate ad conversion tags, which double count when they fire together.
- Write down every destination: GA4 properties, each ad account, Meta, the CRM, and any other endpoint.
- Mark any tag with no current owner or purpose for removal after the audit, not before.
How do you check consent?
Test the banner in both directions. Load the site in a clean browser session, record which tags fire before any choice is made, then accept, then reject, and compare the results each time. The default state and the reject path matter as much as the accept path. For how Google’s consent signals should work with tags, read the Consent Mode v2 explainer.
Check that the consent choice is applied on every page and that a visitor who rejects does not later trigger a tag that ignores the choice. Write down what each choice enables so that the next release can be checked against the same list.
How do you check the GA4 configuration?
GA4 has a handful of settings that quietly change reported numbers. Check each one in the admin area of the property, and keep a dated record of what was set.
| What to check | How to check | Common finding |
|---|---|---|
| Key events | GA4 key event list. Confirm each key event is a real business outcome, such as a booked consultation or a purchase. | Generic events such as page_view or scroll marked as key events, so every visit looks like a conversion. |
| Cross-domain measurement | Data stream tag settings, then the list of domains. Follow a link between domains and check for the _gl parameter. | Checkout or booking domain missing from the list, so sessions restart and paid traffic is credited to direct. |
| Unwanted referrals | Data stream tag settings, then the unwanted referrals list. Review referral sources in acquisition reports for payment gateways and similar domains. | A payment provider appears as a referral and takes credit for sales your campaigns drove. Exclusions do not reach back in time. |
| Internal traffic | Define the internal traffic rule, then check the data filter is in Active state, not only Testing. | Filter left in Testing for months, so office and staff visits still count. Filters do not change historical data. |
| Data retention | GA4 data retention settings. Standard properties can set event and user data retention to 2 or 14 months. | Retention at the shortest setting, so explorations older than two months return no data. |
| PII in URLs and titles | Crawl key pages and read the page paths, titles, and query strings sent to GA4. | Email addresses or form values in query strings, which Google’s policy does not allow in GA4. |
Google’s documentation on marking events as key events explains how key events are set and the limit on how many a property can have. For the referral list, the unwanted referrals help page explains how the setting affects attribution. Google’s guidance on personally identifiable information applies to every URL and title the audit sees.
How do you check campaign tags and click IDs?
Click one ad from each platform and follow it to the landing page and then to the form. Check that the click ID and the campaign values survive the trip. Auto-tagging is the setting that appends the Google Ads click ID to landing page URLs. The Google Ads auto-tagging help page explains how to confirm it is on in the account settings.
Common findings: a redirect on the website strips query parameters before the landing page loads, UTM values differ in case or spelling across ad sets, and one platform uses a manual UTM where another relies on auto-tagging. For a naming scheme that stays consistent, see the dynamic UTM parameters guide.
How do you check ad platform conversions?
Each ad account has its own list of conversion actions, and the settings decide what the bidding system learns from. In Google Ads, a primary action in a standard goal is used for bidding when the campaign bids on that goal, and a secondary action in a standard goal is reported but not used for bidding. Custom goals are the exception: their actions are used for bidding whether they are primary or secondary. The primary and secondary conversion actions help page describes the rules. Check each campaign’s selected standard and custom goals as well as each action’s status, and make sure duplicate actions for the same event cannot both feed bidding.
Meta needs its own check. A Pixel and the Conversions API can both send the same event, and Meta counts them once only when the event name and event ID match. Meta’s deduplication guide says events are deduplicated only when received within 48 hours. Check that the server and browser sides send the same ID. For the Google side, see the Enhanced Conversions guide, and for Meta, the deduplication post.
How do you check forms and the CRM handoff?
Submit a test lead through each form, then find that lead in the CRM. Check that the campaign values and click IDs are stored on the record, not only on the page URL. Hidden form fields are the usual place where they are kept. Then check the path from the CRM back to the platforms. If offline conversions are imported, confirm that each imported stage matches a record in the CRM and that the click ID is the one that was captured at submit. The offline conversions guide covers the import side, and the GoHighLevel offline conversions guide shows the same handoff in one CRM.
How do you reconcile one period?
Pick a closed period, such as the last full calendar month, and pull the counts for the same conversion from each source: ad platform, GA4, and the CRM. Decide before you look what gap you will accept, then investigate every difference above it. Expect the numbers to differ, since each system counts differently. A difference that moves with a known cause, such as attribution windows or consent, is different from one that nobody can explain. The guide to why Google Ads and GA4 conversions differ covers the most common causes.
Server-side tagging can change which fields reach each platform, so record that setup alongside the rest. The beginner’s guide to server-side tag management introduces the approach, and tracking mistakes in server-side GTM setups shows how to trace one event through it.
How do you document and monitor the result?
An audit is only useful if the next person can see what was checked and what changed. Keep one log with the date, the check, the expected result, the actual result, the owner, and the fix. Repeat the same reconciliation each month so that a drift shows up as a trend rather than a surprise.
- Inventory of tags, destinations, and owners, dated.
- Consent behaviour recorded for accept, reject, and no choice.
- GA4 key events, domains, filters, retention, and PII findings logged.
- Click IDs and campaign values confirmed on the form and CRM record.
- Conversion actions and each campaign’s selected goals confirmed in every ad account.
- One closed period reconciled, with each gap explained or assigned.
- Next review date set, and a trigger list for re-running the audit.
Start with the Free Tracking Scan if you want a first look at the visible tags on your website. It covers only the public site, so the CRM, ad accounts, and reconciliation still need a review of their own. For a full audit that includes those systems, contact MetricMaven and bring the list of destinations, forms, and conversion actions you already use.
Frequently asked questions
What is a marketing tracking audit?
A marketing tracking audit is a step-by-step review of a tracking setup that is already running. It inventories tags and destinations, checks consent and analytics configuration, tests campaign tagging and ad platform conversion settings, follows leads into the CRM, and reconciles platform and backend counts for one period. Each finding gets an owner and a fix.
How is a tracking audit different from tracking QA before a launch?
Tracking QA tests a change before it goes live, such as a new template, form, or domain. A tracking audit reviews the whole running setup, including tags nobody remembers adding, settings that drifted, and numbers that no longer agree across tools. Use QA for each release and an audit to find problems that accumulated between releases.
Does a free tracking scan replace a full tracking audit?
No. A free tracking scan checks the tags and events visible on a public website. A full audit also covers the CRM, offline conversion imports, ad account settings, and reconciliation of counts across systems. Those parts need access to the systems involved.
How often should a marketing team audit tracking?
Audit after any change to the website, tag manager, consent banner, or conversion settings, and review the setup on a fixed schedule that the team will keep. No ad platform or analytics vendor sets a required interval, so the schedule is a team decision.
What access does a tracking audit need?
Typically read access to the tag manager, GA4 admin settings, each ad account’s conversion and linking settings, the website’s forms and templates, and an export of leads and outcomes from the CRM for one period.
Sources and references
- Google Analytics Help: Mark events as key events
- Google Analytics Help: Set up cross-domain measurement
- Google Analytics Help: Identify unwanted referrals
- Google Analytics Help: Filter out internal traffic
- Google Analytics Help: Data retention settings
- Google Analytics Help: Avoid sending personally identifiable information
- Google Ads Help: About primary and secondary conversion actions
- Google Ads Help: About auto-tagging
- Meta for Developers: Deduplicate Pixel and Conversions API events
