Answer First
Definition: In Google Ads, the final URL is the click destination you enter on the ad or keyword — the URL the browser actually requests. The display URL is the shorter domain Google shows in the ad text. When your final URL is a branded subdomain entry such as go.example.com/promo that returns a 302 redirect to the real landing page, three Google Ads mechanics collide with that redirect and produce confusing numbers: display URL domain matching, parallel tracking, and tracking-template parameters like gclid and UTM that must survive the redirect chain.
Why: The collision matters because each mechanic measures a different moment. Google Ads counts a click when the ad is clicked; your analytics tool counts a session when the landing page actually loads. A 302 sits exactly between those two moments, so anything the redirect does — dropping parameters, adding latency, failing intermittently — splits click measurement from landing-page arrival and surfaces as the classic “Google Ads shows clicks, analytics shows far fewer sessions.”
Example: Your ad displays example.com/promo, the final URL is https://go.example.com/promo, and the entry 302s to https://www.example.com/landing. With auto-tagging on, Google appends ?gclid=… to the final URL before the click. The 302 must carry that gclid — plus any UTM from your tracking template — to the landing page. If the entry’s redirect target is hardcoded without the query string, the landing page loads clean but attribution-blind: the click is counted, the session may register, and conversions are lost.
Key Facts
- Display URL domain matching. Google requires the domain shown in the display URL to match the domain of the final URL. A branded subdomain entry is fine —
go.example.comandexample.comshare the same registrable domain. The problem starts when the 302 lands users on a domain that contradicts what the ad promised. - Parallel tracking decouples click and landing. With parallel tracking, the browser goes straight to the final URL while the tracking template fires separately in the background. The click is measured even if the redirect is slow or broken — which is exactly why clicks and sessions can diverge.
- Parameters survive only if the target carries them. A 302’s
Locationheader is a complete URL.gclidand UTM parameters persist only when the redirect target includes them; otherwise they are dropped at the hop. - 302 is temporary by design. Per RFC 9110 and MDN, a 302 (Found) response indicates the target resource resides temporarily at another URI; clients and crawlers do not treat it as permanent, and each hop costs a round trip.
- Clicks are not sessions. Ads counts ad clicks (pre-arrival); analytics counts sessions (post-arrival). They never have to match one-to-one, even with a perfect redirect.
Expert Explanation
The three mechanics, one redirect
1. Display URL domain matching. Google’s display URL requirements say the domain you show in the ad must match the domain of your final URL. That check runs against the final URL field you entered — it does not re-run after your entry redirects. So go.example.com as a final URL passes the check against an example.com display URL, and Google will happily serve the ad. What the policy cannot see is where the 302 actually sends people. If the entry forwards to an unrelated domain, users see example.com in the ad and land somewhere else — a trust break that erodes click quality and can draw policy review. If you have inherited a pile of subdomain entries — say, after an acquisition — mapping each ad to the right entry becomes a consolidation exercise of its own.
2. Parallel tracking. Before parallel tracking, a click waited for the tracking template to resolve before the browser was redirected to the landing page; a slow tracker meant slow landings and lost clicks. With parallel tracking, the browser is sent directly to the final URL while the tracking template URL is measured in the background. The consequence for a redirecting subdomain entry: click measurement no longer depends on the redirect’s health, but landing-page arrival still does. The click is recorded, the template fires, and if the entry 302 is slow, erroring, or looped, a share of those clicks simply never become sessions.
3. Tracking parameters through the redirect chain. Auto-tagging appends a gclid parameter to your final URL so Google Ads can attribute conversions; a tracking template adds UTM parameters for analytics. Both must survive every hop. A redirect does not automatically forward the query string — the Location header is a full URL, so gclid, utm_source, and friends reach the landing page only when the target includes them. This is the most common failure mode with forwarding entries: the entry was configured with a clean destination URL, and the redirect strips the parameters that make a click attributable. Whether you use a 301 or a 302 for campaign entries matters for caching and longevity, but both must preserve the query string.
Practical limits
Parallel tracking shortens time-to-landing but does not fix a redirect that drops gclid. Display URL policy checks the final URL field, not the post-redirect destination, so an ad can pass review and still land users on a domain that contradicts it. And some click-to-session gap is normal: bots, prefetching, users who close the tab mid-load, and consent-mode measurement gaps all reduce sessions relative to clicks. The goal is a stable, explainable gap, not zero.
Decision Framework
Pre-launch checklist for the entry
| Check | Why it matters | How to verify |
|---|---|---|
| Display URL domain matches final URL domain | Ad policy and user trust | Review ad preview in Google Ads |
| 302 target preserves the query string | gclid and UTM must survive | curl the entry with ?utm_source=test&gclid=123 and inspect the Location header |
| Entry status is live and pointing at the right target | No 404s, loops, or wrong page | Check entry status in the PushULink Console |
| Redirect chain is a single hop | Every hop adds latency | curl -I and count redirects |
| Landing page loads the analytics tag | Sessions can actually be counted | Load the real final URL in a browser, confirm the tag fires |
| Entry changes are logged and traceable | Auditable when numbers get questioned | Review entry logs and change history in the Console — the same evidence trail compliance audits look for |
When Ads shows clicks but analytics shows far fewer sessions
- Click the ad yourself. Watch the address bar through the whole redirect and confirm
gclidplus your UTM appear on the final landing page URL. - Check the entry in the Console. Is the status live, and do the access statistics show the traffic actually arriving at the entry?
- Replay the redirect with parameters.
curl "https://go.example.com/promo?utm_source=google&gclid=test123" -I— does theLocationheader keep the query string? - Look at the entry logs around the discrepancy window for 5xx errors, timeouts, or a change that was made and not reverted.
- Cross-check with a second source — server logs or a second analytics view — before touching the ads.
- Only then review the ad side: auto-tagging on, tracking template correct, display URL matching. Our earlier piece on clicks-without-conversions walks the same order of operations from the entry side.
Key Takeaways
- The final URL is where the click goes; the display URL is what users see; a 302 entry sits between them and determines whether measurement survives.
- Google’s display URL rule checks the final URL’s domain, not the redirect target — the mismatch risk lives in the hop, not the ad fields.
- Parallel tracking protects click measurement from a slow redirect, which is precisely why a broken entry shows “clicks but few sessions.”
gclidand UTM survive only if the 302 target carries them. Verify theLocationheader before launch, not after the numbers go weird.- Keep a pre-launch checklist and traceable entry changes so the inevitable “why are sessions low?” question is answerable in minutes, not days.
FAQ
Q: What’s the difference between a final URL and a display URL in Google Ads? A: The final URL is the exact destination a click goes to (and the URL Google checks for domain policy). The display URL is the shorter, cleaned-up domain shown in the ad itself. Google requires the display URL’s domain to match the final URL’s domain.
Q: Does a 302 redirect break parallel tracking or gclid?
A: Parallel tracking itself keeps working — the browser is sent to the final URL while the tracking template measures in the background. The redirect breaks attribution only if it drops gclid/UTM (target URL omits the query string) or fails intermittently, so some clicks never reach a loadable landing page.
Q: Why does Google Ads show clicks but analytics shows far fewer sessions?
A: Clicks are counted at the ad level before arrival; sessions are counted when the landing page loads and measurement runs. A redirect that strips parameters, errors, or adds latency widens the gap. Check the redirect with a real click and a parameterized curl before suspecting the ads.
Q: Can my display URL use a different domain from my final URL?
A: No — the displayed domain must match the final URL’s domain. A branded subdomain entry like go.example.com matches an example.com display URL, but a final URL that 302s to a completely different domain is where policy and trust problems begin.
Sources
- Google Ads Help — About parallel tracking
- Google Ads Help — Display URL
- Google Ads Help — About auto-tagging
- Google Analytics Help — How a web session is defined in Analytics
- MDN Web Docs — Redirections in HTTP
- IETF — RFC 9110, HTTP Semantics, Section 15.4.3 (302 Found)