Short answers to the questions that show up when Google Ads URL options, UTMs and click trackers collide — including three paste-ready before → after failure demos, HubSpot conflicts, inheritance, the Test button, gclid + UTMs and Performance Max. Deep dives live in Guides and Docs.
Template debugger · Template auditor · Builder · Recipes · Certified trackers
Symptom: HubSpot Ads reports go empty after installing click-fraud. Someone pasted a full ClickCease redirect into Tracking template and overwrote HubSpot’s {lpurl}?…hsa_* string.
Before (broken — redirect owns the only template field):
https://monitor.clickcease.com/tracker/?id=YOUR_CLICKCEASE_ID&…&url={lpurl}&…
After (correct — split fields):
Tracking template (HubSpot — replace the customer ID, no dashes):
{lpurl}?utm_term={keyword}&utm_source=adwords&utm_medium=ppc&utm_campaign={_utmcampaign}&hsa_cam={campaignid}&hsa_grp={adgroupid}&hsa_mt={matchtype}&hsa_src={network}&hsa_ad={creative}&hsa_acc=YOUR_GOOGLE_ADS_CUSTOMER_ID&hsa_net=adwords&hsa_kw={keyword}&hsa_tgt={targetid}&hsa_ver=3
Final URL suffix (ClickCease keys + site pixel):
kw={keyword}&cpn={campaignid}
Lesson: Google applies one Tracking template per level. Keep HubSpot in the template; put fraud query keys in the suffix. Never stack a second url={lpurl} redirect on top of HubSpot. Paste-ready: HubSpot + ClickCease recipe. Validate with the auditor.
Symptom: Ads Test looks green; GA4 still shows paid clicks as Direct / (not set).
Before (broken under parallel tracking):
{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_term={keyword}
After (correct):
Tracking template:
{lpurl}
Final URL suffix:
utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_term={keyword}&utm_content={creative}
Lesson: Template owns structure/redirects; suffix owns query params that must land with the user when parallel tracking is on. Full walkthrough: template vs Final URL suffix.
Symptom: Destination shows %253F / %2526; analytics never sees a clean ?.
Before (over-encoded — usually one hop too many):
https://track.example.com/click?url={lpurl+2}
(or {lpurl+3} when the chain only encodes once)
After (match encode layers to hop count):
https://track.example.com/click?url={lpurl}
Use {lpurl+2} only when a second hop re-encodes before the last redirect.
Lesson: Do not “+2 to be safe.” %253F → drop one level; truncated destination → go up one. Verify with a real click plus the template debugger, not only Ads Test. Guide: {lpurl} encoding.
Final URL suffix. They survive redirects and parallel tracking. Reserve the template for redirect structure. Full comparison.
No. Leave it as {lpurl} or empty; put parameters in the suffix.
No. {lpurl} belongs only in the tracking template.
Account / campaign / ad group changes do not send ads back for review. Ad-level URL edits can.
No. Most specific wins and replaces the higher level entirely — no merge. Restate every parameter when you override. Same rule for custom parameters ({_utmcampaign}, etc.). Inheritance guide.
Usually an orphaned override at ad, keyword, sitelink or asset that replaced the account/campaign suffix years ago. Export URL options at every level (Editor or API) and clear undocumented overrides.
They can use account/campaign settings, but a sitelink-level template or suffix overrides completely for that sitelink click. Prefer leave sitelink URL options empty so they inherit the account setup.
Account-level template + account-level suffix as the default. Campaign overrides only when required — and restating the full suffix if you touch it. Nothing at ad / keyword / sitelink / asset unless documented.
Not always. {escapedlpurl} is always encoded. {lpurl} is raw at the start of the template and encoded after ? or =. Encoding guide.
When a hop re-encodes the destination before the last redirect. Match encode layers to the chain — do not “+2 just to be safe.”
Over-encoding. Drop one level (+3 → +2, or +2 → {lpurl}).
Almost never. Raw ?/& break the outer tracker URL. Use an encoded variant.
Yes for modern Search, Shopping, Display and Video. What breaks and what works.
The browser no longer visits the tracker page. You need a server-side HTTPS 301/302, or move to suffix-only measurement.
DevTools Network: 301/302 + Location = server-side. 200 HTML that then navigates = client-side.
Not directly — they fire on the landing page. Pre-landing browser hops are what break.
Yes — and you should. Auto-tagging appends gclid (plus wbraid/gbraid where relevant) for Google Ads attribution. UTMs in Final URL suffix feed GA4 and other tools. Do not disable auto-tagging to “make UTMs work.”
No. Google still appends gclid when auto-tagging is on. UTMs are extra query params on the landing URL. If gclid disappears, look for redirects, CDN rules or a CMS stripping query strings — not the UTM suffix itself.
Often UTMs only in the template (never on the page under parallel tracking), or the site/CDN stripping query params. Move UTMs to the suffix and check canonical/redirect rules.
utm_source without utm_medium, or the suffix missing for that slice of traffic (orphaned level override).
Not as two full templates. Google applies one Tracking template per level. If ClickCease/ClickPatrol owns a redirect in Tracking template, HubSpot hsa_* keys must live in Final URL suffix (or you drop the redirect). Do not paste a second url={lpurl} hop on top of HubSpot. HubSpot + ClickCease.
That is HubSpot’s official Google Ads auto-tagging template. ppc is intentional (not a typo for cpc). {_utmcampaign} is a Google Ads custom parameter HubSpot defines — not the same as {campaignid}. HubSpot recipe.
Leaving YOUR_GOOGLE_ADS_CUSTOMER_ID unreplaced; putting HubSpot only in a redirect template that parallel tracking never lands with; or a lower-level override wiping account HubSpot params. Audit with the template auditor (select HubSpot).
Yes at account/campaign URL options, but asset-group Final URLs and feed URLs can still land without your expected query string if something overrides or strips params. Prefer account-level suffix + verify a real PMax click, not only Search.
{keyword} / match-type style tokens are often empty outside classic Search. Prefer stable IDs: {campaignid}, {creative}, {device}, {network}. See PMax UTM recipe and Google parameters.
Often yes — Shopping/PMax stacks drop Search-only tokens. Example: Hyros PMax uses gc_id + g_special_campaign instead of Search ad-id fields.
Destination reachability for the expanded tracking URL — not whether UTMs are semantically correct, not parallel-tracking behaviour in production, and not every hop a real user will hit. Always follow with a real click and address-bar check. Encoding guide.
Common: wrong encode level only visible after a hop re-encodes; params in Tracking template eaten under parallel tracking; or an orphaned lower-level override. Use the template debugger, then a real ad click + DevTools Network.
Browse certified trackers by redirect vs Final URL suffix, and confirm parallel-tracking support with the vendor.
Ideal tracking template configuration (scheduled/live via docs).