UTM tracking gives promo codes and affiliate links a consistent measurement layer. This practical checklist shows how to name UTM parameters, organize campaign data, test links, and connect coupon activity with conversions across email, social, creators, affiliate partners, QR codes, and deal pages.
Overview
A promo code can tell you that a discount was used, but it may not explain where the customer discovered the offer. UTM parameters add that context to a destination URL so analytics platforms can group visits and conversions by source, medium, campaign, and other campaign details.
For example, an email offer, an affiliate review, and a coupon landing page might all promote the same code. Without a tracking structure, their traffic can be difficult to separate. With a consistent structure, you can compare campaign paths while keeping the offer itself unchanged.
A useful starting convention is:
- utm_source: the platform, partner, publication, or sender that generated the visit.
- utm_medium: the broad channel type, such as email, paid-social, organic-social, affiliate, or coupon.
- utm_campaign: the promotion or marketing initiative, such as spring_launch or welcome_offer.
- utm_content: the specific placement or creative, such as hero_button, creator_video, or footer_link.
- utm_term: an optional field for paid search keywords or another controlled classification.
Choose lowercase values, use hyphens or underscores consistently, and avoid spaces or punctuation that may be encoded unpredictably. A naming convention matters more than the exact words selected. The same campaign should be labeled the same way wherever it appears.
UTMs identify the campaign link that brought someone to a site. They do not replace ecommerce conversion tracking, affiliate-platform reporting, checkout analytics, or promo-code redemption records. Treat them as complementary data. For a broader campaign measurement workflow, see UTM Tracking for Promo Campaigns and Promo Code Tracking: A UTM Strategy for Measuring Coupon Campaigns.
Checklist by scenario
Coupon and deal pages
- Set
utm_sourceto the site or property sending the visitor, such as onsale or a partner publication. - Use a stable medium such as
couponordeal-page; do not alternate between several labels for the same placement. - Use
utm_campaignfor the offer or promotion, not the date alone. - Use
utm_contentto distinguish a primary button, text link, merchant card, or secondary placement. - Record the promoted promo code separately in your campaign sheet so the code can be compared with redemptions.
When publishing or using an offer, verify the destination and code independently. The guides on finding and verifying active promo codes and verifying promo codes before publication can support that process.
Email marketing offers
- Use a source that identifies the sending system or audience, such as newsletter or lifecycle-email.
- Use
utm_medium=emailunless your reporting rules require a more specific controlled value. - Use the same campaign name in the email platform, analytics property, and campaign spreadsheet.
- Use
utm_contentfor links with different roles, such as offer-button, product-link, and plain-text-link. - Keep personal or customer-identifying information out of UTM values.
Social posts and paid media
- Use the network as
utm_source, such as a platform name, and distinguish paid from organic throughutm_medium. - Use a campaign value that reflects the promotion rather than the post date.
- Use
utm_contentfor creative, placement, audience, or post variation when those distinctions are needed. - For paid campaigns, align UTM values with the names used in the advertising platform where practical.
Creators and affiliate partners
- Give each partner a distinct tracking link or a controlled partner identifier.
- Use a neutral source value for the partner or network and reserve medium for the channel type, such as affiliate.
- Keep the affiliate ID in the platform's approved tracking field when required; do not assume a UTM value replaces that ID.
- Associate the link with the relevant promo code in a central sheet.
- Compare clicks, assisted visits, code redemptions, orders, and commission records rather than relying on one metric.
QR code coupons and offline promotions
- Use a source that identifies the physical location, event, or printed asset.
- Use a medium such as qr, offline, or event, based on your reporting taxonomy.
- Use content values for poster, receipt, table-card, or package-insert variations.
- Test the full mobile journey, including the landing page, code display, and checkout handoff.
For additional implementation guidance, review QR Code Coupons for Retail and Events and How to Build a High-Converting Coupon Landing Page.
What to double-check
Create a simple campaign spreadsheet before links are distributed. Useful columns include campaign name, promo code, destination URL, source, medium, campaign, content, partner or placement, launch date, expiry date if applicable, owner, and QA status. A spreadsheet is especially valuable when several people create links for the same offer.
Before launch, run this QA checklist:
- Confirm the destination URL loads correctly on mobile and desktop.
- Confirm every required UTM parameter is present and spelled according to the naming convention.
- Check capitalization, separators, and campaign names against the master sheet.
- Confirm that redirects preserve the UTM parameters.
- Click the link in a test environment or controlled session and verify that analytics receives the campaign data.
- Confirm that the promo code is visible, valid for the intended audience, and applied according to the offer terms.
- Check that analytics does not treat internal links as new acquisition visits.
- Document any limitations, such as blocked tracking, app handoffs, cookie restrictions, or checkout systems that report separately.
Use a URL builder or internal tool if it enforces approved values. Convenience should not come at the expense of consistency. Save the final link in the campaign sheet rather than repeatedly rebuilding it by hand.
Common mistakes
Changing names mid-campaign: Calling the same offer spring-sale, spring_sale, and SpringSale creates unnecessary reporting splits. Pick one format and use it everywhere.
Putting too much information in one field: UTM values should be short, readable classifications. Do not place long notes, customer details, or multiple unrelated labels in a single parameter.
Using the promo code as the only attribution method: A code may be shared, typed directly, or used after a customer first encounters another channel. Compare code data with link and conversion data.
Overwriting original campaign information: Tracking links should not casually replace existing parameters or referral information. Establish rules for redirects, landing pages, and cross-domain journeys before launch.
Tracking clicks without checking business outcomes: A high click count does not by itself establish a successful campaign. Review visits alongside qualified sessions, checkout starts, completed orders, revenue where available, and code redemption.
Ignoring landing-page continuity: A link may be correctly tagged but still underperform if the landing page does not clearly explain the offer. For conversion-focused page guidance, see the coupon landing page guide.
When to revisit
Revisit this UTM tracking guide before seasonal planning cycles, major product launches, new affiliate recruitment, and changes to your analytics or ecommerce tools. A new channel, ad platform, email system, checkout flow, or mobile app handoff can change how campaign data is collected.
At the start of each planning cycle, audit a sample of live links and remove obsolete values from templates. After a campaign, review which parameters produced useful reporting and which created ambiguity. Update the naming guide only through a documented decision; frequent unscheduled changes make historical comparisons harder.
For a practical final pass, use this sequence:
- Define the offer, audience, channels, and success measures.
- Assign one campaign name and approved source and medium values.
- Generate every link from the same convention.
- Record links, codes, placements, owners, and dates in the campaign sheet.
- Test the link, landing page, promo code, redirects, and analytics handoff.
- Launch, then compare UTM traffic with conversions and code redemptions.
- Document what changed before the next campaign.
This repeatable process turns promo code tracking from a last-minute tagging task into a dependable part of conversion optimization and affiliate campaign analytics.