Skip to main content
View Categories

Ad bookings show no campaign name in reporting

Campaign reporting is driven by utm_ parameters on the click. If the ad click does not carry utm_source, utm_medium, and utm_campaign in the URL, there is nothing for the tracker to read and the campaign fields will be blank even though everything else recorded correctly. Before checking ad settings, confirm the ad’s final URL does not redirect. If the final URL redirects (for example, because it is missing a trailing slash, or points at www. when the site canonicalises to the bare domain), the redirect can strip utm_*, gclid, and gbraid parameters before any tracking script runs. You can test this quickly: curl -sI "https://yoursite.com/page?utm_source=google&utm_medium=cpc" | grep -iE ‘^HTTP|^location’ A 200 means the parameters arrive intact. A 301 whose Location header has lost the utm_ values means the tags are being destroyed before the page loads, and no tracking configuration can recover them. The fix is to point the ad at the exact URL the site serves without redirecting, usually the canonical host plus a trailing slash. The usual cause of missing campaign names is relying on the ad platform’s auto-tagging. Google’s gclid and Meta’s fbclid are click identifiers, not campaign names. They may be captured, but they cannot populate a campaign field on their own. To fix it, tag the ads at the platform: – Google Ads: set a Final URL suffix, for example utm_source=google&utm_medium=cpc&utm_campaign={campaignid}. Set it at the campaign level, not only the account level, because Google resolves tracking templates and Final URL suffixes most-specific-first: keyword, then ad, then ad group, then campaign, then account. If another tool has set a tracking template or suffix at the campaign level, your account-level settings will never appear. Check the campaign’s own tracking settings. – Meta (Facebook / Instagram): set URL parameters in the ad’s Tracking section. Meta has no account-level equivalent to Google’s Final URL suffix. URL parameters live on the ad, so every running ad needs them set individually. A few things to keep in mind when testing: a new Google Final URL suffix can take a few hours to propagate and only applies to clicks that happen after it goes live. Confirm the suffix is live by checking the Google Ads settings directly rather than inferring it from a test booking. Also run any attribution test from a fresh incognito window on dates you have not used before, because attribution is first-touch and a browser that has already been through earlier tests can hold on to the first campaign it saw. One common trap: in a tracking template or suffix, an underscore-prefixed parameter like {_utmcampaign} is a custom parameter and resolves to blank unless it has been explicitly defined. {campaignid} resolves on its own. To verify tagging is live, click a live ad and look at the address bar before booking. If you see utm_source= in the URL, the tagging is live. If you only see gclid, gbraid, fbclid, or hsa_ values, the ads are not tagged yet.