Hardik Dewra
3 min read
UTM tracking for paid landing pages
Where the parameters go, why GA4 ignores half the mediums people invent, and the fifteen minute check that stops a quarter of broken reporting.
Tag your paid links so every click lands in the right channel report and survives the trip to your landing page. UTM tracking for paid landing pages comes down to three things. Leave auto-tagging on for Google Ads. Put your UTM parameters in the final URL suffix instead of hardcoding them into the final URL. Then make sure your landing page does not drop the query string when somebody arrives.
Google Ads: let auto-tagging do the work
Auto-tagging adds a gclid to the URL people click, so example.com becomes example.com/?gclid=123xyz. It is on by default for new accounts. Google's documentation says that in GA4, auto-tagging takes priority over manual tagging, because there is no override. So hardcoding utm_source=google and utm_medium=cpc into your final URLs buys you nothing in GA4, and it can cost you conversion data if the gclid is lost. Leave auto-tagging on. Add UTMs on top only when a CRM, an email tool or a spreadsheet further down the line really needs them.
Parameters belong in the final URL suffix
Google Ads gives you three URL fields and people fill in the wrong one all the time. The final URL is the clean page address. The tracking template is for redirect based tracking systems and needs {lpurl} at the start. The final URL suffix is where your parameters go, typed without a leading question mark and joined by ampersands, like src=google&kwd={keyword}. A suffix set lower down overrides the one above it, so put global parameters at account level and exceptions at campaign level. Suffix parameters survive parallel tracking. Parameters hardcoded into the final URL are the ones that fight with the gclid.
GA4 ignores medium values you invented
GA4 sorts manual traffic with a regex. A session only counts as paid when utm_medium matches ^(.*cp.*|ppc|retargeting|paid.*)$. So cpc, ppc, paid_social and paid-social all qualify. facebook, social, fb-ads and meta do not. Paid Social also needs a source that GA4 knows is a social site, so both halves have to be right. Get the medium wrong and the traffic slides into another channel or into Unassigned, and you spend a quarter wondering why paid social looks so small. Use utm_medium=paid_social for Meta, LinkedIn and TikTok, and let auto-tagging handle Google.
Redirects and page builders eat parameters
Google warns that if your site uses redirects, you have to make sure the gclid reaches the final landing page, or conversion tracking breaks. The same goes for every other parameter. Link shorteners, a forced trailing slash, a www to non-www rule, an http to https hop, a geo redirect and some consent tools can all strip the query string. The tell is Google Ads reporting hundreds of clicks while GA4 files the same page under direct traffic. Test the live URL, not a tidied up version of it.
Write campaign names you can still read in six months
Pick a shape and never break it: channel_objective_offer_date, lowercase throughout, underscores between the parts and hyphens inside them. paid_social_lead_audit-offer_2026-03 still reads fine a year later. GA4 is case sensitive on these values, so Facebook and facebook become two rows in the same report and neither one is right. Keep the exact strings in a shared sheet and build every link from it. Two people making up their own tags for a month produces a channel report nobody trusts.
Push the parameters into the form
Analytics tells you which campaign produced the lead. Your sales team needs it attached to the person. Read the query string when the page loads, store the values, and write them into hidden fields on the form. Then utm_campaign, utm_content and the gclid arrive on the record in your CRM. Store first touch as well as last touch, or every self booked demo will look like it came from your brand search. This is also what lets you import offline conversions back into Google Ads later, which is the only way a long sales cycle ever gets optimised properly.
A fifteen minute check on UTM tracking before you spend
Copy the live ad URL, do not retype it. Paste it into a private window and confirm the parameters are still in the address bar after every redirect has finished. Submit a real test lead and check the CRM record carries the campaign and the gclid. Open GA4 realtime, find your own session, and confirm the channel reads Paid Search or Paid Social rather than Unassigned or Direct. Then check the click appears in Google Ads. Four checks, one coffee, and you avoid a quarter of decisions built on a broken report.
WeDesignLandingPages.com
A sub-brand of WeDesignBrands.Agency