Recently I have noticed that Google is indexing URLs containing utm_campaign, utm_source and utm_medium query string arguments. In the results, Google shows URLs with these query strings rather than the canonical URL:

utm_campaign added to URL

I understand this could be a 'duplicate content' issue, but I have been using the link rel=canonical tag throughout my website. As one example:

<meta name="description" content="App store optimization helps discovery and rank on Google Play and the App Store. Publishers can use ASO by following these simple steps."/>
<meta name="robots" content="noodp"/>
<link rel="canonical" href="https://sweetpricing.com/blog/2016/11/app-store-optimization/" />
<meta property="og:locale" content="en_US" />

Screenshot of canonical tag

My expectation is that Google should be using the canonical URL for indexing. What am I doing wrong?

  • 2
    Even without the canonical tag, Googlebot usually ignores UTM parameters because it knows they are only used for tracking. I've never seen them indexed before, especially not with a canonical. Commented Dec 7, 2016 at 15:40
  • 4
    FWIW site:stackexchange.com inurl:utm_campaign also returns similar results (on a slightly larger scale). Also note that site: searches do often return non-canonical URLs in the results, that ordinarily don't get returned in "normal" searches. However, the above URLs also seem to be returned in "normal" searches as well.
    – MrWhite
    Commented Dec 16, 2016 at 14:19

3 Answers 3


Reviewing your website as it is now, I am not too sure if this is a problem any longer / currently.

The issue is not internal linkage on your website with the inclusion of UTM parameters (as another question suggests).

It seems more like some process you have to share your website content on social media is leaving the UTM parameters in the URLs and sharing those URLs which has, at some point, led to them being indexed.

It is rare that this happens, but it has happened to many other sites before. The fact that it is only three pages indexed with these parameters is indicative that this is neither a serious issue nor a sitewide one.

Here are the steps you can take to help eradicate this from happening:-

1. Specify a canonical URL on your pages

You are already doing this and the implementation is correct. This will ensure only the specified canonical URL will be given weight in search engines. Presumably this has always been in place but if not, then this could explain why there are some old instances of pages still indexed with UTM parameters.

Correct implementation of canonical URLs

2. Instruct Google not to index the UTM parameters in Search Console

In the event that some URLs are being indexed with the UTM parameters (like your case), the URL parameter should appear as a detected one from within the 'Crawl > URL Parameters' section of Google Search Console for your domain (see below).

Google Search Console UTM URL Parameters

Even if the UTM parameters do not appear, you can 'Add Parameter' to create them.

Simply select No: Doesn't affect page content (ex: tracks usage) (known as 'Passive Parameters') and Google will then usually only crawl just one URL with a specific parameter value.

3 Disallow the URL parameters in your robots.txt

This will block Google from indexing the content of these URLs but not the actual URLs themselves (they could still display in the search results but will just omit the description like below).

Indexed page disallowed in robots.txt

Simply adding something like the following would handle this from robots.txt:-

Disallow: /*?utm=*


Steps #1 and #2 should be carried out as a matter of precaution and "best practice" anyhow and step #3 in addition to steps #1 and #2 perhaps (as won't be effective on its own).

Within Google Search Console, there is also the ability to (temporarily) remove URLs. This is particularly useful if there are some stubborn pages still indexed but you know the root source of the issue has been resolved and this facility should be enough to rid of them once and for all from the search results.

I have not included this as a step above as, despite having researched this before, I cannot recall whether it will support URLs with parameters [citation needed]. I once knew the answer but my memory fails me on this particular occasion.

More reading on the removal of URLs from Google.

  • 1
    But if you block these URLs from being crawled using robots.txt (#3) then won't you also block these campaigns from being tracked? ...And also prevent the in-page canonical tag from being read (#1)?
    – MrWhite
    Commented Dec 16, 2016 at 13:09
  • I concur with what w3dk says about robots.txt. If anything use noindex: /*?utm=* in robots.txt. Commented Dec 18, 2016 at 11:14
  • 1
    Second Step is no longer working? Crawl is no longer available in Google Search Console
    – Graviton
    Commented Sep 5, 2022 at 12:50

It seems that you are using these links inside the content of your website to link pages together.

To make sure Google won't index, you can add rel="nofollow" to these links inside your website and block these params from robots.txt file:

Disallow : /*utm_campaign
  • Good catch that they are used for internal links. That would explain the difference from most sites where they are generally only used on inbound links. Commented Dec 15, 2016 at 16:08
  • Actually the utm_campaign URLs are added by Buffer.com - e.g, they look like "utm_source=plus.google.com&utm_campaign=buffer". I don't think I am using these links anywhere on the website.
    – Brendon
    Commented Dec 15, 2016 at 16:10

Have you checked that is your canonical URL has been indexed or not? If the canonical URL has been indexed then there is nothing to worry about.

You can try Google's Webmaster Tools and change how Google handles URL parameters here.

  • 1
    For some URLs, only the utm_campaign URL is indexed. For other pages, both URLs showed up in the index. Yesterday, I used the Fetch as Google tool to crawl one URL (with the utm_campaign query string) - that URL now seems to have disappeared, and the canonical URL is now indexed.
    – Brendon
    Commented Dec 15, 2016 at 16:20
  • Also, the crawl stats (screenshot) seem to show pages taking a long time to crawl (averaging 2.3s). I am not sure if this is a widespread problem, but perhaps Google is having some problems crawling the site.
    – Brendon
    Commented Dec 15, 2016 at 16:21
  • You can also do a little cleanup once a visitor lands on your website. Use link Fresh URL script to dynamically remove any UTM parameters from the URL after getting benefit from it. Secondly add URL parameters... Commented Dec 15, 2016 at 16:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.