What does Google say about SEO? /
Quick SEO Quiz

Test your SEO knowledge in 5 questions

Less than a minute. Find out how much you really know about Google search.

🕒 ~1 min 🎯 5 questions

Official statement

When using UTM or session parameters for user tracking, make sure to have a canonical tag pointing to the main URL. This allows Google to understand which version of the page should be displayed in search results while saving crawl resources.
21:40
🎥 Source video

Extracted from a Google Search Central video

⏱ 1h00 💬 EN 📅 27/11/2015 ✂ 8 statements
Watch on YouTube (21:40) →
✂ Other statements from this video 7 ▾
  1. 1:04 Do internal search results pages create duplicate content?
  2. 11:40 Should you still use rel=prev/next for SEO pagination?
  3. 24:20 Are backlinks still a major ranking factor?
  4. 44:20 Should you still rely on a View All page for your paginated content?
  5. 50:10 Can Google really index your JavaScript like a browser?
  6. 56:20 Mobile HTTPS and Redirects: How Can You Avoid Errors That Hurt Your SEO?
  7. 76:20 Does main content outweigh everything else on the page for Google rankings?
📅
Official statement from (10 years ago)
TL;DR

Google states that <strong>UTM and session parameters should point to a clean canonical</strong> to avoid crawl budget waste and indexing dilution. Specifically, each tracking URL (newsletters, social campaigns, user sessions) should redirect Googlebot to the master version via rel=canonical. The issue: this straightforward directive hides <strong>complex trade-offs between analytics, technical SEO, and architecture</strong> that Google does not elaborate on.

What you need to understand

Why does Google emphasize canonical for tracked URLs?

Every time a user clicks on a tracked link (utm_source=newsletter, sessionid=xyz), a new unique URL is generated. For Google, this potentially creates thousands of identical pages with different parameters.

Without a canonical tag, Googlebot crawls each variant as a distinct page. The result: exhaustion of crawl budget on duplicate content, dilution of internal PageRank, and the risk of indexing polluted versions. The canonical consolidates the signal: all variants point to the clean URL, the one that should rank.

What’s the difference between UTM parameters and session parameters?

UTM parameters (utm_campaign, utm_medium, utm_source) are manually added to trace the traffic source in Analytics. They are static and predictable.

Session parameters (PHPSESSID, sessionid, jsessionid) are dynamically generated by the server to identify each visitor. They change with each visit and can exponentially increase the number of crawlable URLs if misconfigured. Both require a canonical, but sessions pose a much higher URL inflation risk.

How does Google handle these URLs without a canonical?

Without explicit direction, Google tries to automatically detect unnecessary parameters via Search Console (formerly URL Parameters). But this detection is neither instantaneous nor 100% reliable.

In the meantime, Googlebot may crawl hundreds of variants, index the wrong version (the one with ?utm_source=twitter instead of the clean URL), or worse, completely ignore the page if the crawl budget is saturated by duplicates. The canonical forces the decision: you dictate to Google which URL to rank, instead of letting it guess.

  • Canonical = strong directive: Google respects rel=canonical in over 95% of cases if consistent
  • Obsolete URL Parameters in Search Console: historical method, replaced by canonical + robots.txt if needed
  • Crawl budget is critical on large sites: e-commerce with 50k+ pages, high-traffic media, marketplaces
  • Analytics is unaffected: the canonical in HTML does not prevent GA4/Matomo from tracking parameters in JavaScript
  • Risk of indexing dirty URLs: without canonical, Google may index votresite.com/?utm_campaign=promo instead of votresite.com/page

SEO Expert opinion

Is this recommendation truly applicable to all sites?

Google presents the canonical as a universal solution, but the real-world situation is more nuanced. On a small site (

Practical impact and recommendations

How to implement the canonical on tracked URLs without breaking analytics?

First instinct: audit all sources of parameterized URLs on your site. List UTM parameters (email campaigns, social media, display), sessions (cookie-based, server-side), and internal parameters (sorting, pagination if applicable). Use Screaming Frog with the "respect canonicals" crawl option turned off to see what Googlebot really crawls.

Then, implement the <link rel="canonical" href="CLEAN_URL"> tag in the of all these pages. On the server side (PHP, Node, Python), detect UTM/session parameters and dynamically inject the canonical pointing to the cleaned URL. On the CMS side (WordPress, Shopify), use Yoast/RankMath/SEO Framework, which manage this natively if properly configured.

What technical errors should be absolutely avoided?

Error #1: relative canonical instead of absolute. Google recommends complete URLs (https://domain.com/page) to avoid any ambiguity. A relative canonical (/page) can cause issues with subdomains or complex paths.

Error #2: canonical chains. URL_A (with UTM) canonicalizes to URL_B (with session), which canonicalizes to URL_C (clean). Google follows up to 5 jumps but loses confidence at each level. Always canonicalize directly to the final version. Error #3: canonical HTTP on HTTPS page (or vice versa), contradictory signal ignored by Google.

How to check that the canonical works and measure the crawl impact?

Use Google Search Console, Coverage tab: URLs with a canonical appear as "Excluded: Alternate page with appropriate canonical tag." If they remain "Indexed" or "Detected, currently not indexed," your canonical is ignored (sitemap conflict, redirect, or canonical pointing to 404/301).

Regarding crawl budget, check Crawl Stats in GSC: number of pages crawled per day before/after implementation. On large sites, you should see a decrease in crawled URLs (fewer duplicates) and an increase in crawl of strategic pages. Effect delay: 2-4 weeks minimum, as Google needs to recrawl and reevaluate.

  • Audit UTM, session, and internal parameters generating multiple URLs
  • Implement rel="canonical" absolute to clean URL on all parameterized variants
  • Check for sitemap conflicts (exclude parameterized URLs from the XML sitemap)
  • Test in GSC: URLs should appear "Excluded: appropriate canonical" within 3-4 weeks
  • Monitor crawl budget in Crawl Stats (decrease in crawled URLs, increase in crawl of strategic pages)
  • Document exceptions: e-commerce filters to be indexed, A/B tests, personalized content
Canonicalization of tracked URLs is a technical quick win for medium/large sites, but requires a careful analysis of edge cases (filters, tests, customization). Implementation seems simple, but the strategic trade-offs are more complex. If your site exceeds 10k pages or generates thousands of parameterized URLs, these optimizations can quickly become complicated to manage alone. Consulting a specialized technical SEO agency allows for a thorough audit of your architecture, identifying areas to canonicalize versus index, and monitoring the real crawl impact without disrupting your analytics tools.

❓ Frequently Asked Questions

La canonique empêche-t-elle Google Analytics de tracker les paramètres UTM ?
Non, la balise canonique est côté HTML et n'affecte que l'indexation Google. GA4/Matomo trackent les paramètres côté JavaScript, indépendamment de la canonique. Les deux systèmes cohabitent sans conflit.
Faut-il canoniser les URLs avec paramètres de pagination (page=2, page=3) ?
Ça dépend. Si chaque page de pagination a du contenu unique (produits différents, articles suivants), laisse-les indexables sans canonique. Si c'est du duplicate strict, canonise vers page 1 ou utilise rel=prev/next (déprécié mais encore utile).
Peut-on utiliser robots.txt pour bloquer les URLs avec paramètres au lieu de canonique ?
Oui, mais c'est plus brutal : robots.txt empêche tout crawl, donc Google ne voit jamais la canonique ni le contenu. La canonique est plus souple : Google crawle, lit le signal, consolide. Préfère canonique sauf URLs vraiment inutiles (admin, sessions privées).
Comment gérer les canoniques sur un site multilingue avec paramètres ?lang=fr ?
Ne canonise pas les versions linguistiques entre elles. Utilise hreflang pour signaler les alternatives. Canonise les paramètres trackés (UTM, session) vers l'URL propre *de la même langue* : /fr/page?utm_source=twitter canonise vers /fr/page, pas /en/page.
Quelle différence entre canonique et redirect 301 pour les URLs trackées ?
La 301 redirige l'utilisateur ET Googlebot : l'URL trackée disparaît. La canonique laisse l'URL accessible (utilisateur voit le paramètre dans la barre), seul Google consolide l'indexation. Préfère canonique pour tracking (préserve analytics), 301 pour vraies redirections permanentes.
🏷 Related Topics
Domain Age & History Crawl & Indexing Domain Name

🎥 From the same video 7

Other SEO insights extracted from this same Google Search Central video · duration 1h00 · published on 27/11/2015

🎥 Watch the full video on YouTube →

Related statements

💬 Comments (0)

Be the first to comment.

2000 characters remaining
🔔

Get real-time analysis of the latest Google SEO declarations

Be the first to know every time a new official Google statement drops — with full expert analysis.

No spam. Unsubscribe in one click.