← Field Notes

Google Ads URL Parameters and Tracking Templates: The Setup That Separates Accounts Flying Blind From Ones That Actually Know What’s Working

May 28, 2026 12 min by Eric Huebner

Here’s a scenario we see constantly when we audit new accounts: the campaigns look solid, the CPCs are competitive, leads are coming in. Then we ask the client, “Which campaigns are driving your best leads?” and they stare back blankly.

Their GA4 is stuffed with (direct) / (none) traffic. Their CRM has no UTM data attached to contacts. Their attribution is a guessing game. They’ve spent $20,000+ on Google Ads and have almost no idea what’s actually working — because their URL tracking was never set up correctly.

That’s what this article fixes. We’re going to cover Google Ads URL parameters and tracking templates end-to-end — what they are, how they interact, when to use each one, and the exact mistakes that turn clean data into garbage. This is the tracking foundation that every other optimization decision in your account depends on.

Key Takeaways

  • Auto-tagging (gclid) and UTM parameters serve different purposes — using them together incorrectly causes data conflicts you won’t notice until it’s too late.
  • Tracking templates are the right place to manage URL parameters at scale — not pasted individually into every ad’s final URL.
  • ValueTrack parameters unlock dynamic data like match type, device, placement, and keyword that static UTMs can never give you.
  • A broken tracking setup doesn’t just hide data — it actively misfires Smart Bidding by feeding Google’s algorithm corrupted conversion signals.
  • Setting this up once at the account level takes about 30 minutes. Not setting it up costs you real money, every single day.

Auto-Tagging and gclid: Start Here Before You Touch Anything Else

Before we talk about UTM parameters and tracking templates, you need to understand auto-tagging — because it’s the foundation everything else builds on, and most people either ignore it or accidentally break it.

When auto-tagging is enabled in Google Ads (Settings → Account Settings → Auto-tagging), Google automatically appends a gclid (Google Click Identifier) parameter to every URL a user clicks. That gclid is a unique, encrypted token that passes click data — campaign, ad group, keyword, match type, device, network — directly into Google Analytics without you writing a single parameter manually.

If you’re using Google Analytics 4 with a properly linked Google Ads account, auto-tagging is not optional. It’s mandatory. Without it, your Google Ads traffic shows up in GA4 as organic or direct, your campaign-level data disappears, and your attribution is completely wrong. Enable it, verify it’s working (check your GA4 source/medium report — you should see google / cpc), and leave it on.

The conflict people run into: they enable auto-tagging AND add manual UTM parameters to their URLs. When a URL has both a gclid and UTM parameters, GA4 prioritizes the UTMs — which means your auto-tagging data gets overridden by whatever you hardcoded. This is usually fine if your UTMs are accurate, but it creates a mess if they’re not. We’ll come back to how tracking templates help you avoid this problem cleanly.

One more thing: if your landing page platform strips query parameters — some older CMS setups and certain redirect chains do this — your gclid never makes it to the destination. Check this by clicking your own ads and inspecting the landing URL. If the gclid isn’t there, you need to fix the redirect before anything else matters. This is also covered in our guide on how to set up Google Ads conversion tracking correctly, where we walk through the full diagnostic process.

UTM Parameters: What They Are, What They’re Actually For, and How Not to Botch Them

UTM parameters are query string tags you append to a URL to pass source/medium/campaign data into your analytics platform. There are five of them:

UTMs were built for a world before gclid existed — for tracking traffic from email campaigns, social posts, and other sources that analytics can’t automatically identify. For Google Ads specifically, they remain valuable for one key reason: CRM and lead tracking.

GA4 can use gclid data to attribute sessions and conversions. But your CRM — HubSpot, Salesforce, whatever you’re using — captures UTMs from the URL on form submission. If you want to know that a lead came from your “HVAC Emergency Repair” campaign in the Southeast region, your CRM needs UTM parameters on the URL. The gclid alone won’t give it that context.

The mistake most accounts make: they manually hardcode UTM parameters into every single ad’s final URL. When you rename a campaign, change ad groups, or restructure anything, those hardcoded UTMs are instantly stale and wrong. You’re now crediting leads to campaigns that no longer exist under those names. It’s a maintenance nightmare, and it’s completely avoidable — which brings us to tracking templates.

Tracking Templates: The Right Way to Manage URL Parameters at Scale

A tracking template is a URL field in Google Ads where you define how to construct the final URL a user lands on — including any parameters you want to append — without touching the final URL itself. The tracking template runs first, builds the URL with all your parameters attached, then forwards the user to the final URL.

You can set tracking templates at four levels: account, campaign, ad group, and ad. The lowest level overrides the higher ones. For most accounts, setting one at the account level is the right move — it applies everywhere automatically, and you only need to maintain it in one place.

Here’s what a solid account-level tracking template looks like:

{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_content={adgroupid}&utm_term={keyword}&device={device}&matchtype={matchtype}&network={network}&placement={placement}

Let’s break down what’s happening here:

Notice we’re using {campaignid} instead of a hardcoded campaign name. That means if you rename a campaign tomorrow, the tracking still works. The ID never changes. No maintenance required.

One important note on the ?: if your final URL already has query parameters (e.g., a landing page with ?ref=paid), you’ll need to use {lpurl}? carefully or switch to {lpurl}& syntax. Test your final URLs before launching — Google’s URL testing tool in the tracking template field will catch issues before they go live.

ValueTrack Parameters: The Data Layer Most Accounts Never Unlock

ValueTrack parameters are Google’s system for dynamically inserting click-specific data into your URLs at the moment a user clicks your ad. They’re what transform a static tracking template into a genuinely powerful data tool.

Here are the ValueTrack parameters you should almost always include:

Parameter What it returns Why it matters
{matchtype} e (exact), p (phrase), b (broad) Tells you which match type triggered each click — essential for diagnosing broad match bleed
{device} m (mobile), t (tablet), c (computer) Segments lead quality and conversion rate by device without needing GA4 segmentation every time
{network} g (Google search), s (search partner), d (display) Instantly flags if display or partner traffic is muddying your search conversion data
{keyword} The keyword that triggered the ad Passes keyword-level data to your CRM so you can see which keywords generate closeable leads
{placement} The site/app URL for display clicks Critical for identifying low-quality placements burning budget on the Display Network
{campaignid} Numeric campaign ID Stable identifier — survives campaign renames, maps cleanly to CRM data
{adgroupid} Numeric ad group ID Ad-group-level lead quality analysis without manual segmentation

The {placement} parameter is one we rely on heavily when managing Display campaigns. If you’re running display ads and your tracking template isn’t capturing placement data in your CRM or analytics, you’re essentially flying blind on where your budget is actually going. We wrote about this in detail in our piece on Google Ads Display Network targeting — placement exclusions are one of the highest-ROI optimizations you can make, but you need the data first.

One more ValueTrack parameter worth knowing: {gclid}. You can explicitly pass the gclid through your tracking template if you want it stored in your CRM alongside UTM data. This is useful for connecting CRM records back to Google Ads for offline conversion imports — which we’ll get to in a moment.

The gclid–UTM Conflict: How to Have Both Without Breaking Either

Here’s the setup that works cleanly, with no data conflicts:

Keep auto-tagging enabled. Always. This ensures GA4 gets the full, rich Google Ads data it needs for attribution, Smart Bidding signals, and the Ads reports inside GA4.

Use your tracking template to add UTMs using ValueTrack parameters. Don’t hardcode UTM values. Use {campaignid} not my-campaign-name. This way your CRM gets clean, dynamic UTM data on every form submission, and you don’t have a maintenance problem.

In GA4, let the gclid win for session attribution. When GA4 sees both a gclid and UTMs, it uses the gclid for session data. That’s fine — the gclid data is richer anyway. Your UTMs are primarily for CRM-side tracking, not for overriding what GA4 already knows.

If you want to also pass the gclid into your CRM for offline conversion tracking, add &gclid={gclid} to your tracking template. Store it in a hidden form field. When a lead closes, you can import that conversion back into Google Ads with the actual revenue value attached — which is one of the most powerful signals you can feed Smart Bidding. This connects directly to how offline conversion tracking in Google Ads actually works at the data layer.

The reason this matters so much for bidding: if your conversion tracking only fires on form submissions but your actual valuable conversions are closed sales that happen three weeks later over the phone, your tCPA or tROAS algorithm is optimizing for the wrong thing. The tracking template is step one — it’s what makes offline imports possible.

Performance Max and Tracking Templates: The Wrinkle Nobody Warns You About

Performance Max campaigns have their own quirks with tracking templates that trip people up regularly.

PMax campaigns support tracking templates, but because PMax serves across Search, Display, YouTube, Gmail, and Maps, your {network} and {placement} parameters become even more critical — they’re often the only way to understand where your PMax spend is actually going in your external analytics.

More importantly: if you have an account-level tracking template set, it applies to PMax. But PMax’s asset group URLs can override it at the asset level. Make sure you’re not accidentally stripping your tracking parameters out at the asset group level by leaving the tracking template field in PMax blank (blank inherits from account level — that’s fine) versus actively overriding it with an incomplete template.

Also worth knowing: PMax clicks pass a gclid like any other campaign. Auto-tagging works normally. What doesn’t work normally is keyword-level data — because PMax doesn’t show you keywords. The {keyword} ValueTrack parameter will return empty for PMax clicks. Plan your attribution accordingly.

If you’re not sure whether PMax is helping or hurting your overall account performance, that’s a bigger strategic question — we broke it down honestly in our guide on whether Performance Max is right for your account.

How a Broken Tracking Setup Actively Hurts Smart Bidding (Not Just Your Reporting)

Most people treat tracking as a reporting problem. It’s not — it’s a performance problem.

Smart Bidding strategies like tCPA and tROAS learn from conversion data. Every conversion Google records gets weighted based on what URL, device, keyword, and match type triggered it. If your tracking template is broken and conversions are being attributed to the wrong campaigns, or if your gclid is getting stripped and conversions aren’t being recorded at all, your bidding algorithm is learning from corrupted data.

We’ve seen accounts where fixing a tracking template issue — not changing bids, not restructuring campaigns, not adding keywords — resulted in measurable CPA improvement within two weeks. Because suddenly the algorithm had accurate data to learn from.

This is also why your attribution model choice matters so much in tandem with your tracking setup. Even if your tracking templates are perfect, if you’re using last-click attribution in GA4 and your Google Ads account is set to data-driven, you’ll see conversion discrepancies between platforms. That’s expected — but you need to understand why, or you’ll chase phantom problems in your campaigns.


Frequently Asked Questions

Do I need UTM parameters if I already have auto-tagging enabled?

Yes — for your CRM. Auto-tagging (gclid) feeds data to Google Analytics, but your CRM captures UTM parameters from the URL on form submission. If you want lead-level campaign attribution in HubSpot, Salesforce, or any other CRM, you need UTMs in your tracking template. Use ValueTrack parameters so they’re dynamic and maintenance-free.

Where should I put my tracking template — account, campaign, or ad level?

Account level, in almost every case. It applies to all campaigns automatically, and you only maintain it in one place. Use campaign or ad-level templates only when a specific campaign needs a different parameter structure — for example, a Display campaign where you want to capture placement data differently than your search campaigns.

What’s the difference between {keyword} and {searchterm} in ValueTrack?

{keyword} returns the keyword in your account that matched — the one you bid on. {searchterm} returns what the user actually typed. They’re different when broad or phrase match is involved. For CRM tracking, {keyword} is usually more useful because it maps back to your account structure. For search term analysis, you need to use the Search Terms report inside Google Ads — the tracking template can’t capture {searchterm} reliably in all scenarios.

Why is my Google Ads traffic showing as (direct) in GA4?

Three likely causes: auto-tagging is disabled in your Google Ads account settings, your landing page has a redirect that strips the gclid parameter, or your Google Ads and GA4 accounts aren’t properly linked. Check all three in that order. The account link should be verified in both GA4 (Admin → Google Ads Links) and Google Ads (Tools → Linked Accounts).

Can I use a tracking template with a third-party click tracker or redirect URL?

Yes, but you need to use {lpurl} correctly. Your tracking template would look like: https://your-tracker.com/click?url={lpurl}&campaign={campaignid}. Google appends the gclid to the final destination URL (the value of {lpurl}), not to your tracker URL. Make sure your redirect preserves all query parameters — including the gclid — or your auto-tagging data is lost at the redirect step.

Does the tracking template affect Ad Rank or Quality Score?

No. Google evaluates your ad based on the final URL domain, not the tracking template. Adding tracking parameters to your URLs does not affect Ad Rank, Quality Score, or your landing page experience score — as long as the tracking template ultimately resolves to the same domain as your final URL. Mismatched domains (tracking template resolving to a different domain than the final URL) will cause disapprovals.

How do I test my tracking template before launching?

Use the “Test” button next to the tracking template field in Google Ads. It simulates a click and shows you the final URL that users would land on. Verify that all ValueTrack parameters are resolving correctly and that the final URL loads without errors. Also check that the gclid appears in the final URL if auto-tagging is enabled.


Your Tracking Setup Is Either an Asset or a Liability — There’s No Middle Ground

Every optimization decision you make in Google Ads — bid adjustments, audience layering, match type strategy, budget allocation — is only as good as the data underneath it. If your tracking templates are broken, your UTMs are stale, or your gclid is getting stripped somewhere in a redirect chain, you’re not optimizing. You’re guessing with extra steps.

The setup we described here takes about 30 minutes to implement correctly at the account level. One tracking template with the right ValueTrack parameters, auto-tagging confirmed on, gclid captured in your CRM’s hidden field if you’re doing offline imports. That’s it.

If you’re not sure whether your current tracking setup is clean, pull a sample of recent leads from your CRM and check whether UTM data is attached. Then cross-reference your GA4 source/medium report and confirm that Google Ads traffic is showing as google / cpc — not direct, not organic. If either of those checks fails, you have a tracking problem that’s actively costing you money.

When we do a full account audit for new clients, tracking integrity is always step one — because everything else we look at is untrustworthy until we know the data is clean. If you want to see how we approach that process, our step-by-step Google Ads account audit framework walks through exactly how we diagnose what’s actually wrong before touching anything else.

Get the tracking right first. Then optimize. In that order, always.

◆ Free audit

Running $25K+/mo on Google?
Let's see what it’s actually doing.

A real, written audit returned by Eric inside one business day. No pitch decks. No account-exec handoffs. Learn more about our Google Ads agency.

Request a free audit →