UTM Campaign Tracking: Diagnose GA4 Reporting Problems

Colored tags linked to a page card and branching report rows under a magnifying glass.

Written by

in

If a UTM campaign is missing or split across GA4 reports, check the link people actually clicked, the final landing URL, whether analytics collected the visit, and the report’s scope. A correctly formatted link does not by itself prove that a visit or key event was measured.

This is a reporting troubleshooting guide. For the full link-building process, use the guide to creating UTM links. Here the goal is to locate the break between campaign distribution and a useful report.

Use the parameters as a diagnostic key

  • utm_source identifies the referring source, such as newsletter.
  • utm_medium identifies the marketing channel, such as email.
  • utm_campaign identifies the promotion, such as autumn-guide.
  • utm_content can distinguish placements or creatives; utm_term can identify a paid keyword.

Use one approved spelling and case for each value. Lowercase is a practical convention, not a technical requirement. Preserve the distinction between source and medium; changing either can fragment reporting. Google’s custom campaign URL guidance explains parameter meanings and case-sensitive values.

Trace one campaign link from distribution to collection

  1. Retrieve the distributed URL. Inspect the actual email button, ad destination or QR destination, not just a spreadsheet draft. Check for missing fields or duplicate parameters.
  2. Open the final destination. Follow the real redirect path and inspect the landing URL. A redirect or link-processing service may remove or replace campaign values.
  3. Check collection on that page. Confirm the correct GA4 property/tag and inspect the test visit using the site’s established debugging process. Consent choices, blockers and collection filters can affect what is recorded. Do not change consent controls just to force a test event.
  4. Check the reporting view. Use the intended date range and property, then a session-scoped campaign/source/medium view in Traffic acquisition. Allow for normal processing rather than expecting a standard report to update instantly.
  5. Check the outcome separately. Verify the relevant lead or purchase event. UTMs label traffic; they do not install event tracking or prove a successful conversion.

Match the symptom to the next check

Campaign reporting diagnosis
Symptom Possible explanation Next check
One campaign appears in several rows Different case, spelling, source or medium values Compare distributed URLs with the approved register.
Campaign is absent or shows missing values Missing parameters, altered destination, wrong property/view, or no recorded collection Trace one real link before rebuilding every URL.
Clicks exceed measured sessions A click is not necessarily a collected session; repeat clicks and collection conditions differ Compare definitions, time windows and collection evidence.
Traffic exists but no key events Outcome did not occur or its event/configuration is missing Test the conversion journey independently of tagging.
An unexpected first-user campaign appears You are viewing acquisition of the user rather than this campaign session Check the dimension’s scope before changing the link.

These are diagnostic possibilities, not proof of the cause in your property. Record the evidence before making a tracking change.

Keep existing queries and fragments intact

An illustrative URL might be https://example.com/guide?topic=images&utm_source=newsletter&utm_medium=email&utm_campaign=autumn-guide&utm_content=top-button#checklist. Existing topic remains; campaign parameters join the query before the fragment. Do not add a second question mark or place the UTMs after the #.

Use URL-aware encoding rather than concatenating raw spaces or ampersands into values. The UTM Builder exposes destination, source, medium, campaign and optional term/content fields. Its current interface says input is sent to the Skyhoora API, so do not enter sensitive data. Review the generated URL before distribution; a builder cannot verify your analytics property or event setup.

Read the campaign report at the right scope

GA4’s Traffic acquisition report uses session dimensions and includes new and returning visitors. First-user acquisition asks a different question. Use Session campaign and Session source/medium to investigate this campaign’s sessions; do not expect a returning person’s original acquisition source to become the latest email campaign.

Compare useful outcomes and their denominators, not only visit totals. A campaign with more sessions has not automatically produced more valuable leads. Use the same date window and definitions when comparing channels, and note attribution or collection limitations instead of claiming exact causal credit.

Leave a campaign evidence log

Store the approved campaign values, owner, destination, exact distributed URL, test date, collection check and intended key event. Keep personal names, email addresses and private tokens out of URLs. Do not tag internal navigation to manufacture campaign attribution.

Fix future links at the source and document when naming changed. Editing a link cannot repair historical visits that were never recorded or retrospectively standardize their original parameter values. The practical finish is a reproducible path from published link to interpreted report, not a green check in a URL builder.