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 Les pages de résultats de recherche interne créent-elles du contenu dupliqué ?
  2. 11:40 Faut-il encore utiliser rel=prev/next pour la pagination en SEO ?
  3. 24:20 Les backlinks restent-ils vraiment un critère de classement majeur ?
  4. 44:20 Faut-il encore miser sur une page View All pour votre contenu paginé ?
  5. 50:10 Google peut-il vraiment indexer votre JavaScript comme un navigateur ?
  6. 56:20 HTTPS mobile et redirections : comment éviter les erreurs qui plombent votre référencement ?
  7. 76:20 Le contenu principal l'emporte-t-il toujours sur le reste de la page pour le classement Google ?
📅
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 (<5000 pages, low crawl traffic), the impact of non-canonicalized tracked URLs remains marginal. Googlebot has plenty of budget to crawl everything.

In contrast, on an e-commerce site with 100k references or a media outlet publishing 50 articles per day, each URL cluttered with parameters becomes a real crawl cost. I have seen sites lose 30% of their crawl budget on poorly managed PHP sessions. [To verify]: Google gives no numeric threshold to quantify "crawl resource savings". How many duplicate URLs does it take to degrade crawl? Silence on that.

What hidden risks does this directive not mention?

First gray area: canonical vs noindex. If your tracked URLs are publicly accessible (archived newsletter links, indexed social shares), the canonical keeps them crawlable. Googlebot follows the link, reads the canonical, consolidates the signal. But it still consumes crawl resources to access the page.

Second trap: canonical-sitemap conflicts. If you generate a dynamic sitemap that includes URLs with parameters (a common CMS misconfiguration), you send a contradictory signal: the sitemap says "index this," while the canonical says "no, index this instead." Google chooses, but you lose predictability. [To verify] on sites with high URL variability (filter facets, product sorting).

Warning: On e-commerce sites with product filters (price, color, size), consistently canonicalizing to the page without filters can kill the SEO potential of filtered long-tail keywords. For example, "red shoes size 42" can rank if the filtered URL is indexable. Canonicalizing to /shoes/ destroys that potential. The canonical/indexation arbitration must be done filter by filter, not in bulk.

When does this rule become counterproductive?

A concrete case observed: a media site using utm_source to customize displayed content (different ad block based on newsletter vs Twitter origin). Canonicalizing to the clean URL loses that server-side customization if implemented poorly. The solution: canonical in the , customization via JavaScript post-load. But Google never details these edge cases.

Another scenario: A/B tests with URL parameters. If you are testing two versions of a landing page (?variant=A vs ?variant=B) and canonicalize both to /landing/, you invalidate your test: Google will only see one consolidated version. Solution: canonical combination + Vary header or declared Search Console parameter, but again, no detailed guidance from Google on optimal implementation.

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.