URL parameters: A marketer’s guide to management and best practice
Learn the dos and don'ts of URL parameters. Leverage analytics, personalization, and authentication without sacrificing SEO.
URL parameters are powerful tools for tracking marketing performance and enabling key website functionalities such as filtering and sorting. When used correctly, they enhance campaign attribution and improve user experience. However, poor implementation can lead to SEO issues like confused search engines, tracking inaccuracies, and crawl inefficiencies.
In this article, we’ll break down the core types of URL parameters, their role in marketing and site management, and best practices in URL parameter management needed to ensure they support—rather than undermine—your digital performance goals.
What are URL parameters?
URL parameters, also known as query strings, are strings of text added to a page URL to organize web pages and track marketing efforts.
They’re commonly used to:
- Sort content on a web page
- Manage a website with a lot of pages or products
- Track marketing campaigns and their performance
How do URL parameters work?
URL parameters work by adding extra details to a URL. The question mark (?) in a URL separates the web address from the parameters.
These parameters follow a key-value structure, where each parameter is a key-value pair (e.g., “key=value
”). Multiple values can be assigned to a single key, and multiple parameters can be included in a single URL when separated by the ‘&’ symbol.
Here’s what a URL parameter looks like.

Let’s break down what you can see in the URL parameter example above:
- First, you can see the domain (https://example.com) and any subfolders (/products)
- Everything from the ? is the parameter URL.
- There are three key-value pairs:
category=shoes
,color=blue
,size=9
. The key is the parameter’s name and identifies the type of information being passed (e.g., color). The value is the specific data (e.g., blue). - Key-value pairs are separated by an &
If a key has multiple values, they’re separated. Google provides developer guidelines on handling URLs, with a specific guideline detailing best practices relating to listing multiple values. The recommendation is to use commas to separate them:
When specifying URL parameters, use the following common encoding: an equal sign ( = ) to separate key-value pairs and add additional parameters with an ampersand ( & ). To list multiple values for the same key within a key-value pair, you can use any character that doesn’t conflict with IETF ST 66, such as a comma (, ).
Recommended: Using an equal sign (=) to separate key-value pairs and an ampersand (&) to add additional parameters:https://example.com/category?category=dresses&sort=low-to-high&sid=789
Recommended: Using a comma (,) to list multiple values for the same key, an equal sign (=) to separate key-value pairs, and an ampersand (&) to add additional parameters:https://example.com/category?category=dresses&color=purple,pink,salmon&sort=low-to-high&sid=789
Not recommended: Using a colon : to separate key-value pairs and brackets [ ] to add additional parametershttps://example.com/category?[category:dresses][sort:price-low-to-high][sid:789]
Not recommended: Using a single comma , to separate key-value pairs and double commas ,, to add additional parametershttps://example.com/category?category,dresses,,sort,lowtohigh,,sid,789
Here’s an example of a URL parameter with multiple values assigned to a key.
color=blue,red,yellow
Two types of URL parameters
There are two types of URL parameters: active and passive.
Active
Active URL parameters change as a website is used. You’ll be familiar with active parameters browsing e-commerce stores. If you’re looking for a comfortable pair of walking shoes, you might navigate to a store, filter by “walking boots,” and then sort by price. These filters can generate new URLs.
Examples of active URL parameters include:
- Filtering categories (
?category=shoes
) - Sorting by price or relevancy (
?price=price_asc
) - Loading a second page (
?page=2
)
Passive
Passive URL parameters do not alter the page’s contents. They are typically used for marketing tracking and internal analytics.
If you’re a marketer managing a campaign across multiple channels, you may want to influence how the data appears in Google Analytics so that you can effectively analyze campaign performance.
An example of a passive URL parameter is ?utm_source=
. It shares data about where a click was made.
Say you’re running a campaign funneling traffic to a landing page. The campaign is being run through a specific email newsletter. You want to know how many people clicked the link in the email.
You would add the URL parameter to the email link, such as ?utm_source=newsletter
, and the clicks to that specific URL are then tracked on Google.
BetterVet Grew Organic Traffic 2,000% with Semrush’s Keyword Research. Your Turn?
✓ Discover overlooked keywords with high conversion potential
✓ See search intent data for smarter content planning
✓ Identify terms your site can realistically rank for
Free instant insights.
Examples of URL parameters
Let’s explore the most common types of URL parameters—along with practical examples—and how each can be strategically applied to support tracking, personalization, and site functionality.
UTM parameters
The unabbreviated name for these is “Urchin Tracking Module” parameters, named for the Urchin software platform where they originated (predating Google Analytics).
Some examples include:
utm_source
(source of traffic, e.g., Google, Facebook)utm_medium
(type of traffic, e.g., email, CPC)utm_campaign
(the name of the marketing campaign, e.g., Black Friday)utm_term
(keyword for paid search, e.g., cheap walking boots)utm_content
(particularly helpful when A/B testing and needing to name a particular variation, e.g., homepage_test )
UTM parameters are commonly used by marketers to track conversions from campaigns that run across multiple channels. The campaign and channel information could be included in a UTM parameter, which would feed the data into Google for analysis.
Here’s an example of what a UTM parameter looks like.
https://example.com/?utm_source=email&utm_medium=monthly-newsletter&utm_campaign=monthly-distribution
This URL would be used in an email newsletter and allow data to appear in Google Analytics for detailed analysis. The URL includes:
utm_source=email
identifies the marketing channel that earned the click.utm_medium=monthly-newsletter
specifies which email the click was received.utm_campaign=monthly-distribution
highlights the campaign name
Pro tip: You can use Google’s Campaign URL Builder to create URLs for your next campaign.

Sorting parameters
Sorting parameters provide URLs that allow users to browse or shop for specific items or options on a website.
For example, they may want to sort hotels by price from lowest to highest.
https://example.com/hotels?sort=price_asc
Filtering parameters
Filters are another way to sift through large amounts of content. They’re common on large e-commerce stores with many products.
Visitors use filters to narrow down results and display specific content of interest, such as color options or sizes.
Remember the shoe shopping example from earlier? Here it is again.
https://example.com/products?category=shoes&color=blue&size=9
Pagination parameter
When content spans multiple pages, such as product categories or blog entries, pagination parameters can help with navigation.
For example, if someone searches for hotels in London and there’s a list of hundreds of hotels but only 25 per page, users will navigate to page two of the results and so on.
Pagination parameters typically look like this:
page=2
Search query parameters
It’s common to use URL parameters on search results.
If you have a search bar on your site, you can add the search to the URL.
For example:
q=keyword
This approach is beneficial for marketers because it enables them to track what users are searching for.
Managing URL parameters
While URL parameters offer a straightforward way to track marketing impact and enhance site functionality, they can also introduce SEO challenges if mismanaged.
The upside? With the right controls in place, you can mitigate risks and ensure parameters support—not hinder—site performance and search visibility.
1. Keep it simple
A simple URL format is manageable for your team, easier for users to share, and can help avoid Google from truncating longer URLs in search results.
What does “simple” mean in this context? A simple URL parameter should be as concise as possible, follow a consistent structure used across all parameters, and utilize only parameters that are essential for your analytics or necessary for your website’s functions.
Create a structure that works, then stick to it across all parameters, as even the slightest typo can throw off your analytics (at scale, depending on the size of your site).
Pro tip: Create a document that outlines how and where you’re using parameter URLs so all of marketing can follow the structure.
Examples of how you might manage and simplify URL parameters include:
- Consistent naming conventions: For example, if the source is Facebook, write “Facebook,” not “fb.” You want consistency across all of marketing.
- Use lowercase letters to avoid duplication
- Decide on the order of parameters: For example, you might like campaign, source, and medium.
- Agree on marketing-wide campaign names to ensure campaigns are referred to consistently
- Use URL builders, such as Google’s Campaign URL Builder, to help maintain consistency
- Review your parameters every so often to check they’re being used by team members correctly. Use a site crawler for this—more on that below.
2. Use a site crawler
Semrush’s Site Audit tool can help you crawl your site to identify all URLs, including parameter URLs. You can use this data to audit your parameters or gain insights into user search behavior.
Here’s how you do it.
Log in to Semrush and click “Site Audit” in the left menu. Then, select your project.

Next, click “Crawled Pages.”
From the Crawled Pages report, you can either
- Export the data by clicking “Export Data”
- Filter the crawled pages to show only parameter URLs
Here’s how to filter pages:
On the left, there’s a dropdown, which defaults to “Everywhere.” Click the dropdown and select “URL” and in search add a “?”

This will filter the results to show all URLs with a parameter.
Note: URLs listed in Semrush are not necessarily indexed URLs. To determine if they’re indexed, you can use Google Search Console.
With the Crawled Pages report, you can achieve a very granular level of detail about your users. If you have a search bar on your site and a parameter like “?search=keyword
”, you can use this information to determine what people are searching in your search bar. You would just filter by the parameter URL you want to audit.
If you know the content people are looking for when they search on your site, you can adjust your website to make it easier to find, such as adding it to the navigation or home page.
3. Use canonical tags and rel=”nofollow”
All pages should have a canonical tag (rel=“canonical”
) in the <head>
of your page’s HTML and in the sitemap. This line of code indicates the master copy of the page, i.e., the canonical URL.
Pages reference themselves with a self-referencing canonical link if they’re the master or the only version of a page.
Here’s an example of a master URL using a self-referencing canonical. Decathlon has a production collection page for hiking boots. This page, without any filter or parameter, is the master. The canonical tag in the code is self-referencing.

If a page is a duplicate, like a filtered URL, the canonical tag should reference the master page. This helps crawlers index the correct URL instead of wasting resources on duplicate content.
Sticking with Decathlon’s hiking boot collection example above, if a filter for price is added, an active URL parameter is applied. As you can see in the screenshot below, the URL has changed to include the parameters, and the content has changed because the products are displayed lowest to highest.
The canonical tag is referencing the master URL (the one without parameters).

Canonical tags can be managed using a Site Audit tool. As shown in the screenshot below, the tool highlights any issues that may occur.

Further reading: Canonicalization and SEO: A guide for 2025
4. Manage internal links
For SEO purposes, it is generally advisable to avoid using parameter URLs in your internal linking strategy. Within your content, link only to the canonical (master) version.
Sticking with the Decathlon example above, Decathlon should link to /collections/hiking-boots
and not the filtered versions. Linking to the canonical page helps consolidate link equity and improve SEO.
You may link to parameter URLs internally, but only do this if you’re tracking that particular link. Also, make sure all team members are aware of parameter URLs, what they are, and the importance of not linking to them unless they’re part of a campaign or analytical experiment.
It’s very easy to accidentally link to parameter URLs, so review inlinks periodically to ensure you’re not linking to parameters. Use Google Search Console to conduct regular reviews.
Sign in to your account and click “Links” in the left-hand menu. This report displays all your linked pages and the number of times they have been linked to.

You can do a search for “?” and find all parameter URLs.

If you click on the parameter URL within Google Search Console, it will open a second page that shows all pages linking to the parameter.

Work through the links and update them to the master page as needed.
Further reading: Internal links and SEO: Best practices, examples and tips
5. Use robots.txt to block parameters from being indexed
Whether you index your parameter URLs or not depends largely on your SEO strategy. In some cases, indexed parameter URLs are useful for getting visibility for long-tail keywords.
Here’s an example of a URL parameter containing a long-tail keyword.
https://example.com/search?q=best+running+shoes
That said, indexing parameter URLs can cause confusion, as we’ve discussed throughout this article. To prevent parameter URLs from indexing, you can disallow them using robots.txt.
Here’s what a disallowed URL directive looks like:

The directive, Disallow: /*?*
, tells search engine crawlers not to crawl or index pages including parameters. The asterisk (*) before and after the ? are wildcards and request that any URL with a ?, no matter what is before or after it, is not indexed.
There are a range of ways that you can add items to your robots.txt, including:
- Editing the file via ftp
- Using plugins like Yoast
It is best to consult with your development team about how to modify robots.txt effectively.
6. Make use of tracking features in marketing tools
Some marketing tools will allow you to create parameter URLs within the platform as a time saver.
Here’s an example of what Klaviyo provides:

7. Manage your tracking
URL parameters demand a higher level of precision and oversight to ensure accurate tracking and meaningful attribution.
Here are some steps you can take to ensure accurate tracking:
- When auditing a site, you can remove parameter URLs
- Keep a document with all your URL parameters so you can ensure they’re used correctly and consistently
- Don’t overuse custom parameters
Beyond URL parameters: canonicalization and internal linking
When implemented thoughtfully, URL parameters offer significant advantages—from enhancing site functionality and user experience to enabling precise marketing analytics and attribution. The benefits far outweigh the risks, especially when best practices are in place. With a solid framework for parameter management, your team will be equipped to identify, adapt, and audit URL parameters as your digital strategy evolves.
We’ve touched on these topics throughout the guide, but after you’ve properly implemented URL parameters throughout your site, you’ll next want to dive deeper into canonicalization and SEO and internal linking best practices—mastering these SEO strategies can positively impact your site rankings and brand visibility.
New on MarTech