A marketing link can look complicated at first glance.
There is the page address. Then a question mark. Then a series of names, values, equals signs, ampersands, underscores, and occasionally a collection of characters that appear to have been added by a malfunctioning keyboard.
But a tracking link is not one long, unbroken piece of information.
It is a set of smaller components, each with a particular purpose.
Once those components are separated, the structure becomes much easier to understand. The destination tells the browser where to go. The query string carries additional information. UTM parameters describe the campaign. A fragment can point to a particular section of the page. Short links, redirects, and QR codes can provide other ways to reach the same destination.
This guide breaks down each part so you can understand what a marketing link contains, how the pieces work together, and what can go wrong when they are assembled incorrectly.
Start With One Complete Marketing Link
Consider this example:
https://example.com/products?color=blue&utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale&utm_content=hero_button#details
This link contains several different layers:
- A destination page
- An existing product-filter parameter
- Four campaign-tracking parameters
- A fragment pointing to a section of the page
The visitor sees one URL. The browser, website, and analytics platform interpret its individual parts.
Anatomy of a Marketing Link
Every meaningful piece of a tracked URL
Select any part of the link below to see what it does.
The marketing link contains a protocol, domain, path, query string, existing parameter, UTM campaign parameters, and a fragment.
A URL follows an established structure consisting of a scheme, authority, path, optional query, and optional fragment. Marketers do not need to memorize the formal terminology, but understanding the basic sequence makes tracking links much easier to inspect and troubleshoot.
The Destination: Where the Visitor Is Going
Before campaign information can be added, there needs to be a destination.
In the example, the destination is:
https://example.com/products
That destination contains three important parts:
https://
Protocol
example.com
Domain
/products
Path
Protocol
The protocol appears at the beginning of the URL:
https://
More precisely, https is the URL scheme. It tells the browser how the resource should be accessed.
For most marketing links, the important practical distinction is between:
http://
and:
https://
Modern websites should normally use the secure https version.
When building a marketing link, use the version of the destination that the website recognizes as canonical. Although a website may redirect an http address to https, beginning with the correct destination reduces unnecessary redirects and leaves fewer opportunities for parameters to be lost.
Domain
The domain identifies the website:
example.com
A complete hostname may also contain a subdomain:
www.example.com
or:
shop.example.com
These addresses may belong to the same organization, but they are not automatically interchangeable.
A website might redirect:
example.com
to:
www.example.com
Another might treat its shop, app, support center, or regional site as a separate subdomain.
Before adding tracking parameters, confirm that the domain is the intended destination. A perfectly structured UTM string cannot correct a link pointing to the wrong website.
Path
The path identifies a page or resource within the website:
/products
Other examples might include:
/resources/campaign-guide
/events/annual-conference
products/running-shoes
The path is part of the destination. It does not describe the marketing campaign. It tells the website which page the visitor requested.
This distinction matters because two tracked links can use identical campaign parameters while pointing to different landing pages:
https://example.com/products
https://example.com/summer-sale
The UTM values describe where the traffic came from. The path determines where that traffic lands.
The Query String: Information Added to the Destination
After the destination comes the query string:
?color=blue&utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale&utm_content=hero_button
The query string carries additional information in a series of name-and-value pairs.
Websites use query parameters for many purposes beyond marketing, including:
- Product filters
- Search terms
- Language selections
- Referral codes
- Pagination
- Form settings
- Advertising identifiers
- Application states
- Campaign tracking
UTM parameters are therefore not a separate kind of URL. They are campaign-related query parameters added to a standard URL.
The Question Mark: Where the Query Begins
The first question mark marks the beginning of the query string:
?
Everything before it is the destination:
https://example.com/products
Everything immediately after it begins the additional information:
color=blue
A URL should normally contain only one question mark that begins the query string.
Correct:
https://example.com/products?color=blue&utm_source=newsletter
Incorrect:
https://example.com/products?color=blue?utm_source=newsletter
The second question mark does not make the URL more inquisitive. It makes the structure ambiguous.
When a URL already contains a question mark, add campaign parameters using an ampersand instead.
Parameter Names: What Kind of Information Is This?
A parameter name appears before an equals sign.
In this pair:
utm_source=newsletter
the parameter name is:
utm_source
It identifies what the value is intended to represent.
Other parameter names in the example include:
color
utm_medium
utm_campaign
utm_content
Parameter names are defined by the system reading them.
The website understands what color means because its product page has been programmed to recognize that parameter.
Google Analytics recognizes established campaign names such as:
utm_source
utm_medium
utm_campaign
utm_content
utm_term
A parameter name without a system prepared to interpret it is simply text in the URL.
The Equals Sign: Connecting a Name to Its Value
The equals sign connects a parameter name with its assigned value:
utm_source=newsletter
The structure is:
parameter_name=parameter_value
For example:
utm_medium=email
means:
Parameter name: utm_medium
Parameter value: email
The equals sign does not mean that every possible value is valid or useful. It only creates the relationship between the name and the value.
Parameter Values: The Information You Assign
The parameter value appears after the equals sign.
In:
utm_source=newsletter
the value is:
newsletter
The parameter name establishes the category. The value provides the campaign-specific information.
Compare:
utm_source=newsletter
utm_source=linkedin
utm_source=regional_chamber
All three use the same parameter name, but each describes a different source.
This is where campaign naming decisions become important. A URL can be technically valid while carrying values that are inconsistent, vague, duplicated, or difficult to interpret later.
Ampersands: Adding More Parameters
An ampersand separates one parameter from the next:
&
For example:
utm_source=newsletter&utm_medium=email
can be separated into:
utm_source=newsletter
and:
utm_medium=email
The first parameter begins after the question mark. Every additional parameter is joined with an ampersand.
The pattern is:
destination
?
first_parameter=value
&
second_parameter=value
&
third_parameter=value
Or as one complete URL:
https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale
The ampersand has one job: separate one name-and-value pair from the next. Missing one can combine two pieces of information into a string that no longer means what you intended.
How a Query String Is Assembled
Built one intentional parameter at a time
-
https://example.com/products -
https://example.com/products?color=blue -
https://example.com/products?color=blue&utm_source=newsletter -
https://example.com/products?color=blue&utm_source=newsletter&utm_medium=email -
https://example.com/products?color=blue&utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale
Reserved characters like ? and & always carry the same meaning, no matter how many parameters are added.
The UTM Layer: Describing the Campaign
UTM parameters add campaign context to the query string.
Google Analytics supports manual campaign tagging so that parameter values can appear as traffic-source dimensions in analytics reporting. The familiar UTM fields identify the source, medium, campaign, term, and content associated with a visit.
A basic tracked URL commonly includes:
utm_source
utm_medium
utm_campaign
Two optional parameters can preserve additional detail:
utm_content
utm_term
This guide focuses on how those parameters fit into the URL. For deeper guidance on creating a tracking strategy, selecting consistent values, and building team standards, see:
utm_source: Where Did the Visitor Encounter the Link?
Example:
utm_source=newsletter
utm_source identifies the specific origin of the traffic.
It should answer:
Where did the visitor encounter this link?
Good examples:
linkedin
instagram
customer_newsletter
regional_chamber
conference_program
Poor examples:
marketing
campaign
online
traffic
The poor examples are not necessarily invalid strings. They are simply too vague to identify a useful source.
A common mistake is to use the website’s own name as the source for every campaign:
utm_source=example_company
That describes who created the campaign, not where the visitor encountered it.
utm_source is generally needed for manually tagged campaign links because it provides the specific origin. It may be unnecessary when another reliable integration or automatic tagging system already supplies the required campaign information.
utm_medium: What Kind of Marketing Delivered the Link?
Example:
utm_medium=email
utm_medium identifies the marketing channel or delivery method.
It should answer:
What kind of marketing brought the visitor here?
Good examples:
email
paid_social
organic_social
cpc
sms
print
referral
Poor examples:
newsletter
linkedin
facebook
spring_sale
Those poor examples may be useful values elsewhere, but they describe a source, platform, or campaign rather than the broader medium.
Consider:
utm_source=linkedin
utm_medium=paid_social
The source identifies LinkedIn. The medium identifies paid social.
Repeating the same platform in both fields reduces the relationship between them:
utm_source=linkedin
utm_medium=linkedin
utm_medium is usually part of a manually tagged link because analytics tools use it to understand the channel. It may not be necessary when campaign information is supplied through a supported automatic integration.
utm_campaign: Which Initiative Does This Belong To?
Example:
utm_campaign=summer_sale
utm_campaign identifies the larger marketing initiative.
It should answer:
Which campaign does this activity belong to?
Good examples:
summer_sale
annual_conference
membership_drive
product_launch
year_end_giving
Poor examples:
campaign
july
promotion
test
new
A campaign name should remain understandable after the campaign is no longer fresh in everyone’s memory.
The same campaign value can appear across several channels:
utm_source=newsletter
utm_medium=email
utm_campaign=summer_sale
utm_source=instagram
utm_medium=organic_social
utm_campaign=summer_sale
utm_source=store_sign
utm_medium=print
utm_campaign=summer_sale
The source and medium change. The campaign remains connected.
utm_campaign is normally included when several links belong to one coordinated initiative. It may be unnecessary for links that are not part of a campaign or where campaign-level identification provides no useful reporting value.
utm_content: Which Link, Placement, or Variation Was Used?
Example:
utm_content=hero_button
utm_content distinguishes links that otherwise share the same source, medium, and campaign.
It can answer questions such as:
Which button was clicked?
Which creative variation was used?
Which placement contained the link?
Which call to action sent the visit?
Good examples:
hero_button
footer_link
video_ad
blue_creative
package_side_panel
booth_sign
Poor examples:
content
link
button
version
ad
The useful level of detail depends on what the team wants to compare.
Suppose an email contains two calls to action:
utm_content=hero_button
utm_content=text_link
The two links can share the same source, medium, and campaign while preserving the placement distinction. Google specifically describes utm_content as a way to distinguish creatives or calls to action within the same campaign.
utm_content is unnecessary when there is only one meaningful link or when the distinction will never be used. More detail is not automatically better. Every value should preserve information with a purpose.
utm_term: Which Keyword or Documented Targeting Value Applies?
Example:
utm_term=running_shoes
utm_term traditionally identifies paid-search keywords.
It should answer:
Which keyword or documented targeting value should be associated with this link?
Good examples in paid search might include:
running_shoes
winter_boots
campaign_tracking
Some organizations also use utm_term for another carefully documented targeting dimension. That can work when the definition is shared and applied consistently.
Poor examples:
audience
target
people
keyword
misc
Avoid turning utm_term into a spare field for information that did not fit anywhere else. A flexible field without a clear definition eventually becomes several incompatible fields sharing the same name.
utm_term is unnecessary when keyword or targeting information does not add value, is already supplied automatically, or has no defined reporting purpose.
Does Parameter Order Matter?
These two links contain the same UTM names and values:
https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale
https://example.com/?utm_campaign=summer_sale&utm_source=newsletter&utm_medium=email
For Google Analytics campaign recognition, UTM parameters do not need to appear in a particular order. The system identifies them by name rather than by their position in the URL.
A consistent order is still useful.
A common sequence is:
utm_sourceutm_mediumutm_campaignutm_contentutm_term
That order makes links easier to scan, compare, and review.
There are also exceptions outside ordinary UTM tracking. Some applications, signed URLs, or custom systems may impose their own requirements. The practical rule is:
Parameter order usually does not change campaign tracking, but consistency makes quality control easier.
Capitalization Creates Different Values
These values may look equivalent during a quick review:
newsletter
Newsletter
NEWSLETTER
An analytics system can treat them as separate values.
The same problem can occur with:
paid_social
Paid_Social
paid-Social
A lowercase standard is usually the simplest to maintain:
newsletter
paid_social
summer_sale
hero_button
The goal is not lowercase for its own sake. The goal is to prevent one intended value from becoming several reporting values because of formatting differences.
Consistency creates clarity at the moment a link is built and later when the resulting data is reviewed.
Spaces, Hyphens, and Underscores
A campaign value may need to contain several words:
summer sale
Literal spaces can be encoded by a browser or tool as:
summer%20sale
In some query-string contexts, a space may also appear as:
summer+sale
Both forms can represent a space. Percent-encoding replaces characters that have a special purpose in URLs with a percent sign followed by a character code.
Rather than relying on spaces, many teams choose a consistent separator:
summer-sale
or:
summer_sale
Hyphens and underscores can both work.
The more important decision is to avoid switching among:
summer sale
summer-sale
summer_sale
summersale
Those are four different strings.
Choose a convention, document it, and reuse it.
URL Encoding and Reserved Characters
Some characters already perform structural jobs inside a URL.
Examples include:
?
&
=
#
%
+
/
If one of those characters is intended to be part of a parameter value rather than part of the URL’s structure, it may need to be encoded.
Suppose a campaign name is:
research & development
Writing it directly into the URL would create a problem:
utm_campaign=research & development
The ampersand normally signals that another parameter is beginning.
An encoded version can preserve the intended value:
utm_campaign=research%20%26%20development
Here:
%20
represents a space, while:
%26
represents an ampersand.
Common examples include:
| Character | Encoded form |
|---|---|
| Space | %20 or sometimes + |
| Ampersand | %26 |
| Equals sign | %3D |
| Question mark | %3F |
| Number sign | %23 |
| Percent sign | %25 |
The safest approach is usually to let a reliable URL builder handle encoding rather than manually replacing characters.
Manual assembly is manageable when values are simple:
utm_campaign=summer_sale
It becomes less reliable when values contain punctuation, international characters, imported dynamic names, or existing encoded information.
Adding UTMs to a URL With Existing Parameters
Not every destination begins as a clean URL.
You may receive a product link such as:
https://example.com/products?color=blue
This URL already has a query string.
The existing parameter is:
color=blue
To add UTMs, preserve that parameter and begin the campaign information with an ampersand:
https://example.com/products?color=blue&utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale
Do not add another question mark:
https://example.com/products?color=blue?utm_source=newsletter
The sequence is:
Destination path
/products
Existing query begins
?color=blue
Additional parameters
&utm_source=newsletter
&utm_medium=email
&utm_campaign=summer_sale
Existing parameters may control important page behavior. Removing them could change:
- The selected product
- A filtered category
- The displayed language
- A referral relationship
- A prefilled form
- A checkout state
- A page variation
Before modifying a destination, understand what its existing parameters do.
Fragments and Anchor Links
A fragment begins with a number sign:
#
It commonly points to a particular section of a page:
#details
A URL containing a fragment might look like:
https://example.com/products#details
When UTMs are also present, the fragment belongs after the query string:
https://example.com/products?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale#details
The order is:
Destination
?
Query string
#
Fragment
Correct:
https://example.com/page?utm_source=email#pricing
Incorrect:
https://example.com/page#pricing?utm_source=email
The fragment is interpreted separately from the query and is commonly used by the browser or page to identify a location or state within the destination. The URL standard places the optional fragment after the optional query.
Anchor links should be tested after parameters are added. A technically tidy URL is not useful when it lands halfway between the intended section and nowhere in particular.
Duplicate Parameters
A URL should generally contain one clear value for each campaign parameter.
This link contains two campaign names:
https://example.com/?utm_campaign=spring_launch&utm_campaign=summer_sale
Which campaign should the system use?
Different systems may:
- Use the first value
- Use the last value
- Preserve both values
- Combine them
- Handle the URL inconsistently
The safest structure is unambiguous:
https://example.com/?utm_campaign=summer_sale
Duplicate parameters commonly appear when:
- UTMs are added to a URL that already contains UTMs
- A platform automatically appends parameters
- A redirect adds another tracking string
- A template is combined with a manually built URL
- Someone copies a tracked URL and adds a new campaign without removing the old one
Inspect the entire destination before adding anything new. Duplicate parameters can look harmless while producing unpredictable results.
Long URLs Are Not Necessarily Broken URLs
A complete tracking link can become long:
https://example.com/products?color=blue&utm_source=customer_newsletter&utm_medium=email&utm_campaign=annual_summer_product_sale&utm_content=primary_hero_button
Length alone does not mean the URL is malformed.
A longer link may simply contain:
- A detailed destination path
- Existing product or application parameters
- Advertising identifiers
- Campaign parameters
- Encoded values
- A fragment
The more important questions are:
- Does it lead to the correct page?
- Are the parameters valid?
- Are the campaign values understandable?
- Does the destination preserve them?
- Is the link being distributed in an appropriate format?
A long tracked URL can work perfectly behind a button.
It may be less suitable when:
- Printed in a brochure
- Read aloud
- Placed in a presentation
- Displayed on packaging
- Included in a text message
- Shared where trust in the visible destination matters
That is where short links and QR codes become useful.
Redirects and Shortened Links
A shortened link provides a concise address that redirects to a longer destination.
For example:
waygo.to/summer
might redirect to:
https://example.com/products?utm_source=store_sign&utm_medium=print&utm_campaign=summer_sale&utm_content=front_window
The short link does not replace the tracked destination’s meaning.
It creates another route to it.
A typical journey is:
Short link
↓
Redirect
↓
Tracked destination
↓
Website
↓
Analytics
Branded short domains
A branded short domain uses a recognizable domain associated with the organization or campaign rather than a generic shortening service.
This can provide:
- A cleaner visible link
- Greater brand recognition
- More confidence about where the link belongs
- Easier use in print or presentations
- A manageable redirect that can sometimes be updated later
The short domain is a distribution layer. The campaign information still needs to exist in the destination or be added deliberately during the redirect.
What can break during a redirect?
A redirect can send the visitor to the correct page while losing some of the information that was supposed to travel with them.
Potential problems include:
- Query parameters being removed
- Existing parameters being overwritten
- UTMs being duplicated
- The visitor being sent to the wrong hostname
httpsbecominghttp- Redirect loops
- Fragments being lost
- An outdated landing page remaining attached
- Mobile visitors receiving a different destination
- Multiple redirects changing the final URL
Test the complete public path rather than only the final destination:
Published short link
↓
Redirect
↓
Final URL
↓
Landing page
↓
Analytics
The original campaign guide recommends confirming that UTMs survive redirects and that the final campaign information appears correctly in analytics.
From Campaign Asset to Analytics
A QR code or short link is another way of opening a URL
This asset opens straight to the tracked URL — no redirect required.
Direct tracked link
- Campaign asset
- QR code or short link
- Full tracked URL
- Landing page
- Analytics
Managed redirect
- Campaign asset
- QR code or short link
- Redirect (optional layer)
- Full tracked URL
- Landing page
- Analytics
Example tracked URL: https://example.com/products?utm_source=store_sign&utm_medium=print&utm_campaign=summer_sale
QR Codes Are Another Way to Open a URL
A QR code is a visual representation of information that a device can scan.
For marketing purposes, that information is usually a URL.
The QR code might contain:
https://example.com/products
It might contain a complete tracked URL:
https://example.com/products?utm_source=package_insert&utm_medium=print&utm_campaign=summer_sale
Or it might contain a short link that redirects to the tracked destination:
waygo.to/summer
The visitor’s path may therefore be:
QR code
↓
Full tracked URL
↓
Landing page
or:
QR code
↓
Branded short link
↓
Redirect
↓
Tracked destination
↓
Landing page
A QR code does not automatically create campaign tracking.
It opens the URL encoded within it. Campaign identification comes from the destination parameters or redirect system behind that code.
Static and redirect-based QR codes
A static QR code contains its final destination directly.
If it contains:
https://example.com/summer-sale
that destination is embedded in the visual code.
A redirect-based QR code contains a short or managed URL:
waygo.to/summer
That address then redirects to the destination.
A managed redirect can be useful when the final page may change, but it adds another layer that should be tested and maintained.
Regardless of the method, preserve a record of:
- Which URL the QR code contains
- Where the code appears
- Which campaign it belongs to
- Which version of the asset uses it
- Whether the destination can change
- Who is responsible for maintaining it
Once a QR code is printed on 50,000 packages, “I think this was the right link” is no longer an ideal documentation system.
Privacy: Campaign Parameters Are Visible
UTM values are part of the URL.
They may appear in:
- Browser address bars
- Browser histories
- Copied links
- Forwarded messages
- Screenshots
- Analytics platforms
- Server logs
- CRM records
- Marketing tools
- Support requests
Do not place sensitive or personally identifiable information in campaign parameters.
Avoid values containing:
[email protected]
customer_123456
high_value_diabetes_audience
private_pricing_negotiation
Campaign parameters should identify the marketing activity, not the individual visitor.
Use campaign-level descriptions such as:
customer_newsletter
membership_renewal
enterprise_webinar
summer_sale
A short link does not make sensitive information safe. It may hide the full destination from immediate view, but the redirect still resolves to a URL, and the underlying values may be stored or exposed elsewhere.
The first campaign-tracking guide outlines several places where UTM values can become visible and recommends keeping private information out of campaign URLs entirely.
Common Marketing-Link Mistakes
Most broken tracking links are not the result of unusually difficult technology.
They come from small structural or naming decisions made during a rushed launch.
Adding a second question mark
Incorrect:
https://example.com/products?color=blue?utm_source=newsletter
Correct:
https://example.com/products?color=blue&utm_source=newsletter
Use one question mark to begin the query string. Use ampersands for additional parameters.
Forgetting an ampersand
Incorrect:
utm_source=newsletterutm_medium=email
Correct:
utm_source=newsletter&utm_medium=email
Without the ampersand, the second parameter may become part of the first value.
Placing the fragment before the query
Incorrect:
https://example.com/page#details?utm_source=newsletter
Correct:
https://example.com/page?utm_source=newsletter#details
The query comes before the fragment.
Using the same value for source and medium
Less useful:
utm_source=linkedin
utm_medium=linkedin
Clearer:
utm_source=linkedin
utm_medium=paid_social
Source identifies the specific origin. Medium identifies the type of marketing.
Mixing capitalization
Inconsistent:
newsletter
Newsletter
NEWSLETTER
Consistent:
newsletter
Exact strings matter in reporting.
Using spaces and separators inconsistently
Fragmented:
summer sale
summer-sale
summer_sale
Consistent:
summer_sale
The best separator is the one your system defines and your team reliably uses.
Creating vague campaign names
Vague:
utm_campaign=promo
More useful:
utm_campaign=summer_product_sale
A campaign value should still make sense when someone reviews it months later.
Adding duplicate parameters
Incorrect:
utm_campaign=spring_sale&utm_campaign=summer_sale
Correct:
utm_campaign=summer_sale
Each campaign parameter should have one intentional value.
Using reserved characters without encoding
Risky:
utm_campaign=research&development
Encoded:
utm_campaign=research%26development
Otherwise, the ampersand may be interpreted as the beginning of another parameter.
Adding UTMs to internal website links
Do not use campaign UTMs on ordinary navigation between pages of the same website.
For example, avoid adding UTMs to:
- Homepage banners
- Navigation links
- Related articles
- Internal calls to action
- Buttons leading from one product page to another
UTMs are intended to identify a new campaign interaction bringing traffic into the measured property. Applying them internally can replace or distort the campaign information associated with the session. Use event tracking or another internal measurement method instead.
Reusing values without understanding them
A copied value may be spelled correctly and still be wrong for the campaign.
Before reusing a parameter, ask:
- Does this source describe where the link appears?
- Does this medium describe the marketing channel?
- Does this campaign connect to the intended initiative?
- Does this content value identify a useful variation?
- Does this term value have a documented purpose?
Consistency does not mean pasting the same values everywhere. It means applying the same definitions everywhere.
Putting private information in parameters
Incorrect:
[email protected]
Better:
utm_content=customer_email
The link should describe the campaign context without exposing the recipient.
Failing to test the public version
Testing the full tracked URL is not enough when the audience will receive:
- A shortened link
- A QR code
- A link processed by an email platform
- An advertising template
- A redirect from another domain
- A dynamically generated destination
Test the exact asset the visitor will use.
How to Inspect a Marketing Link
When reviewing an unfamiliar URL, work from left to right.
1. Identify the destination
Find the protocol, domain, and path:
https://example.com/products
Ask:
- Is this the correct website?
- Is this the correct page?
- Is the secure version being used?
- Does the page load?
2. Find the first question mark
The first question mark begins the query string:
?
Ask:
- Does the destination already contain parameters?
- Is there more than one question mark?
- Have existing parameters been preserved?
3. Separate each parameter at the ampersands
Break:
color=blue&utm_source=newsletter&utm_medium=email
into:
color=blue
utm_source=newsletter
utm_medium=email
This makes the link much easier to review.
4. Separate each name from its value
For:
utm_source=newsletter
identify:
Name: utm_source
Value: newsletter
Repeat for every parameter.
5. Look for duplicates
Check whether any parameter name appears more than once:
utm_campaign=summer_sale
utm_campaign=spring_sale
One parameter should not be trying to tell two stories.
6. Check formatting
Review:
- Capitalization
- Separators
- Spaces
- Encoded characters
- Spelling
- Accidental line breaks
7. Check the fragment
When the URL includes:
#details
confirm that it appears after the query string and leads to the intended section.
8. Test the complete path
Open the actual short link, QR code, advertisement, email, or published asset.
Confirm that:
- The final page loads
- The parameters remain in the URL where expected
- The correct page section opens
- The destination works on mobile
- The campaign information reaches analytics
Marketing-Link Anatomy: Bookmarkable Reference
Marketing-Link Reference
Anatomy of a Marketing Link — Field Reference
https://example.com/products?color=blue&utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale&utm_content=hero_button#details
Destination
https://- Protocol or scheme
example.com- Domain
/products- Path
Query string
?- Begins the query string
parameter- Name of the information
=- Connects the name and value
value- Assigned information
&- Separates parameters
UTM parameters
utm_source- Where the visitor encountered the link
utm_medium- The marketing channel
utm_campaign- The larger initiative
utm_content- The placement or creative variation
utm_term- The keyword or documented targeting value
Fragment
#details- Points to a page section or state
Correct sequence
Destination Query parameters Fragment
destination?parameter=value¶meter=value#fragment
Existing-query rule
No existing query
https://example.com/page?utm_source=newsletter
Existing query
https://example.com/page?color=blue&utm_source=newsletter
Use ? for the first parameter. Use & for every additional parameter.
Final review checklist
- Correct destination
- One question mark
- Parameters separated by ampersands
- One value per parameter
- Consistent capitalization
- Consistent separators
- Reserved characters encoded
- Existing parameters preserved
- Fragment placed last
- No sensitive information
- Redirects tested
- QR code tested
- Final campaign data verified
A Marketing Link Is a Small System
A tracking URL is not merely a page address with a collection of codes attached to the end.
It is a small system of relationships.
The protocol tells the browser how to connect.
The domain identifies the website.
The path identifies the destination.
The query string carries additional information.
The parameter names define what that information represents.
The values describe the campaign.
The separators preserve the structure.
The fragment identifies a location within the page.
Redirects, short links, and QR codes create additional ways for the visitor to reach the destination.
Each component has a purpose. When those components are assembled thoughtfully, the resulting link becomes easier to trust, test, document, and understand.
You do not need to memorize every encoded character or manually assemble every query string. You do need a reliable way to preserve the relationship between the campaign you planned and the data you expect to review later.