A reliable attribution report starts with reliable tracking. This marketing attribution QA checklist shows how to audit UTMs, investigate duplicate conversions, reconcile ad platforms with analytics, and document reporting gaps before they distort budget or campaign decisions.
Overview
Tracking problems rarely appear as one obvious failure. A campaign may have working links but inconsistent UTM values, correctly recorded visits but missing conversions, or accurate platform totals that do not align with the analytics property used for reporting. The goal of a UTM tracking audit is not to force every system to show the same number. It is to identify why numbers differ, decide which system answers each business question, and record issues clearly enough to fix or explain them.
Use this checklist before a major launch, during monthly reporting, and whenever a landing page, analytics setup, consent flow, CRM, or advertising account changes. Test with controlled visits and test conversions where possible. Do not treat a single browser session or one report view as conclusive evidence.
Start by defining the conversion you are auditing. A submitted form, qualified lead, purchase, trial start, or retained customer may be counted at different stages. Write down the event name, source of truth, counting rule, time zone, attribution window, and whether repeated actions should count once or more than once.
Checklist by scenario
Before a campaign or promotion launches
- Confirm every destination URL resolves correctly on desktop and mobile.
- Check that redirects preserve the intended UTM parameters.
- Use one documented campaign naming convention for source, medium, campaign, term, and content.
- Confirm the landing page contains the expected analytics and advertising tags, subject to the site’s consent configuration.
- Test the primary call to action, form, checkout, or booking flow from the campaign URL.
- Verify that the conversion event fires once at the intended step rather than on page refresh, confirmation-page reload, or repeated clicks.
- Record the launch date, responsible owner, destination URL, conversion definition, and reporting location.
A practical campaign UTM naming convention should be predictable and machine-readable. Avoid mixing capitalization, abbreviations, and separators for the same channel. For example, choose one form of a paid-search medium and apply it consistently rather than alternating between several labels.
When traffic is missing or misclassified
- Open a live campaign URL and copy the final URL after redirects.
- Check whether the expected UTM parameters remain present.
- Compare the captured source and medium with the values used in the analytics report.
- Look for links without UTMs, incorrectly encoded parameters, internal links that overwrite campaign data, and redirects that remove query strings.
- Inspect whether a consent choice or browser restriction changes tag behavior.
- Compare a small sample of sessions or leads with the source record in the ad platform, CRM, or form system.
When conversions appear to be duplicated
- Identify the conversion event or action that is duplicated.
- Check whether more than one tag, pixel, server-side event, or imported goal can record the same action.
- Test the confirmation page with a fresh session, then refresh it and use the browser’s back button.
- Review whether a form submission and a confirmation-page view are both mapped as conversions.
- Compare event counts with unique transaction IDs, lead IDs, order IDs, or another deduplication key.
- Check whether an offline import or CRM sync is adding the same conversion already recorded online.
- Review counting settings and attribution windows in each platform instead of assuming they match.
If you use both browser and server-side tracking, confirm that the systems share a suitable event identifier and an agreed deduplication approach. If no stable identifier exists, mark the totals as potentially overlapping rather than presenting them as unique conversions.
When ad-platform totals do not match analytics
Use a decision path rather than changing tags at random:
- Do both systems record the same event? If not, align the event definition before comparing totals.
- Do they use the same date range and time zone? If not, rerun both reports with comparable settings.
- Do they count actions in the same way? Check unique versus repeated conversions and primary versus secondary actions.
- Do they attribute credit using the same rules? A platform may claim a conversion based on an ad interaction while analytics assigns credit differently.
- Are consent, tracking prevention, redirects, or tagging gaps affecting one system? Test the path and document the limitation.
- Is the difference stable and explainable? If yes, publish a reconciliation note. If not, escalate the implementation issue for investigation.
For search campaigns, a sudden conversion change should be reviewed alongside the search terms and landing pages, not in isolation. The Google Ads search terms report workflow can help separate tracking problems from changes in query quality or campaign traffic.
Channel-to-parameter reference
| Traffic source | Suggested source value | Suggested medium value | Useful additional fields |
|---|---|---|---|
| Paid search | platform name | paid_search | campaign, ad group, keyword or term, creative |
| Paid social | network name | paid_social | campaign, audience, placement, creative |
| email platform or newsletter | send or campaign name, link location | ||
| Affiliate or partner | partner name | affiliate or referral | partner campaign, placement, offer |
| Display or sponsorship | publisher or platform | display or sponsorship | campaign, placement, creative |
These values are a starting structure, not a universal standard. The important rule is consistency: document the approved values and make sure reports group them as intended.
What to double-check
UTM construction and link behavior
Review links in ad platforms, social posts, email templates, QR codes, partner pages, and spreadsheets. A UTM builder can reduce typing errors, but it does not verify that the destination, redirect chain, or analytics property is correct. Check parameter spelling, capitalization, URL encoding, and whether campaign values contain unexpected spaces or punctuation. Confirm that internal navigation does not append a new campaign value and overwrite the original acquisition data.
Conversion configuration
Map each business conversion to its technical implementation. Note the trigger, event name, page or action that activates it, value rules, counting method, and systems that receive it. Then test the whole path from ad click to recorded conversion. If a lead is later qualified in a CRM, distinguish the initial lead event from the qualified-lead import so the report does not imply that both are the same action.
Message and record reconciliation
Compare a small, traceable sample rather than only comparing aggregate totals. For each sample, record the campaign URL, captured source and medium, landing page, conversion timestamp, event or transaction ID, ad-platform record, analytics record, and CRM status. This reveals whether the problem is missing traffic, wrong classification, delayed processing, duplicate firing, or a difference in attribution logic.
Keep a QA log with four fields at minimum: issue, evidence, impact, and next action. Add an owner and due date for issues that could affect spend or executive reporting. A documented limitation is more useful than an unexplained adjustment to a dashboard.
Common mistakes
- Comparing unlike metrics: Sessions, clicks, users, leads, and attributed conversions answer different questions.
- Assuming platform totals are interchangeable: Date settings, attribution windows, counting rules, and processing times may differ.
- Testing only the landing page: A page can load while the form, checkout, consent state, or conversion tag fails.
- Counting confirmation views as new leads: Refreshes, bookmarks, and back-button behavior can inflate page-based goals.
- Changing naming conventions mid-campaign: Small variations split reports and make trend analysis harder.
- Ignoring redirects: A tracking parameter can disappear before the final page loads.
- Fixing data without preserving evidence: Export the affected report, URL, event details, and test time before making changes.
- Overcorrecting for a discrepancy: First determine whether the difference is expected under each system’s rules.
For related campaign hygiene, review the framework for a Google Ads negative keyword list and the guide to allocating PPC budget by search intent. Both decisions depend on trustworthy campaign and conversion data.
When to revisit
Run a focused QA check before each major launch and after any change to tags, consent settings, domains, redirects, landing pages, forms, checkout flows, CRM integrations, or ad-platform conversion actions. Repeat the audit during seasonal planning cycles, when campaign structures are rebuilt, and whenever a reporting interface or attribution workflow changes.
For monthly reporting, use this short template:
- Confirm the reporting period, time zone, and conversion definitions.
- Check a sample of live campaign links and final URLs.
- Review source and medium values for unexpected or newly fragmented groups.
- Compare platform, analytics, and CRM totals using the same date range where possible.
- Investigate duplicate event signals and repeated confirmation-page conversions.
- Record known discrepancies, their likely cause, business impact, owner, and next review date.
- Retest every implemented fix and preserve the result in the QA log.
Keep this checklist with the campaign documentation rather than relying on individual memory. A repeatable audit makes it easier to distinguish a real performance change from a tracking change, protect reporting continuity, and decide when attribution data is strong enough to guide the next budget or optimization decision.