Skip to content

Back to the blog

Shopify Discount QR Code: How to Track Sales by Channel

Syeda Rehnoma TanzomBy Syeda Rehnoma Tanzom11 min read
Shopify Discount QR Code and Link Tracking

Running the same discount code across email, creator campaigns, landing pages, and retail makes setup easy, but it creates a problem the moment sales start coming in. You can see that the code worked, yet you may have no clear way to tell which channel actually drove the order.

That happens because one shared code removes channel-level attribution before the campaign even begins. Shopify now gives merchants more native ways to distribute and track discounts through shareable links, QR codes, and campaign tracking, part of the broader Shopify Spring ’26 discount changes.

The distinction matters because links and QR codes do not track in exactly the same way. A Shopify shareable discount link can carry campaign UTM data, while a Shopify discount QR code generated from the discount itself does not. Using a separate code for each meaningful channel gives you another layer of attribution when UTM data is unavailable.

This article shows how to structure discount codes by channel, when to use shareable links versus QR codes, how Shopify campaign tracking fits in, and what you can still recover if you already ran one code everywhere.


TL;DR

  • Give each important channel its own discount code instead of sending one code everywhere.

  • Use Shopify’s shareable discount link for email, social, creator links, and landing pages. You can attach an existing marketing campaign so Shopify adds campaign UTM data to the link.

  • Use a Shopify discount QR code for printed material, retail displays, receipts, or POS-facing redemption, but know that the discount QR itself encodes the discount URL without UTM parameters.

  • Automatic discounts do not get the same shareable discount link or discount QR flow because Shopify requires an active discount code first.

  • Keep the offer the same across channels if you want a fair comparison. Change the code name and tracking method, not the discount value.


Give Every Channel Its Own Discount Code, Not One for All

If email, creators, retail, and a landing page all use the same code, the code tells you only that the promotion worked somewhere. It does not tell you which channel deserves more budget next time.

Instead, keep the offer consistent and change the code by channel:

  • SPRING15EMAIL

  • SPRING15CREATOR

  • SPRING15STORE

  • SPRING15LANDING

Now the discount itself becomes a basic attribution marker. Shopify’s , so separate names make channel-level comparisons much easier.

This is also a real reason to choose codes for channel-specific promotions. Shopify’s shareable promotion flow . Automatic discounts apply based on eligibility instead, so they do not use this code-sharing flow. The broader choice between automatic discounts and discount codes still depends on the promotion, but channel attribution is one case where codes give you a clearer structure.

Keep the offer consistent across channels. If email gets 15% off and a creator gets 20% off, you are measuring both channel performance and offer strength, which makes the comparison less useful.

Shopify lets you promote an active discount code with a shareable link or QR code. In Shopify Admin, open Discounts, select the saved code, choose Promote, and then choose the shareable discount option. You can select where the customer should land, such as the home page, an eligible collection, or an eligible product page.

Shopify then gives you two outputs:

  • A shareable discount link for email, social, creator content, or landing pages.

  • A downloadable discount QR code for printing or scanning.

When a customer opens a valid shareable link, Shopify applies the code to the cart or next checkout. Customers can also scan the QR code to shop online with the discount applied, while retail staff can.

Shopify says each shareable link or QR can have only one discount associated with it, and that discount must be active.

For digital distribution, Shopify adds another layer. When generating the shareable link, you can. That is what turns a simple discount link into a more useful campaign-tracking link.

Setting Up Each Channel

The best setup changes slightly depending on where the customer sees the offer. The code name should tell you the channel even before you open a report, while the distribution method should match how the customer reaches the store.

Email Campaigns

For email, create a code such as SPRING15EMAIL, then generate its Shopify shareable discount link and connect that link to the relevant marketing campaign. Put the shareable link behind the main CTA instead of asking customers to remember and type the code.

The code name identifies use of the email offer, while the campaign-tagged link adds traffic and campaign attribution for tracked visits.

  • Best use: Newsletters, launches, win-back campaigns, and segmented sends.

  • Limitation: A customer can copy SPRING15EMAIL and use it later without clicking the email link. That redemption can still show under the code, but the original email click is no longer guaranteed to be part of that checkout session.

Creator and Influencer Partnerships

Do not give five creators the same CREATOR15 code if you care which partnership worked. Use one code per creator, such as SPRING15MAYA and SPRING15NOAH, then give each creator the matching shareable link.

You can also attach those links to the same broader campaign while keeping creator-specific code names. , and custom UTM parameters can help distinguish individual influencer traffic.

  • Best use: Paid creators, affiliates, ambassador campaigns, and short-term product launches.

  • Limitation: Codes can be reposted on coupon sites or shared between customers. Treat code redemptions as a strong campaign signal, not proof that every order came from the original creator click.

Retail and In-Person

For a counter card, receipt insert, event booth, or staff-assisted checkout, create a retail-specific code such as SPRING15STORE and download the Shopify discount QR code. Customers can scan it to open the online store with the discount, or staff can scan it in Shopify POS to apply the code to a retail cart.

Here the code name does most of the attribution work because Shopify’s developer documentation shows that rather than a UTM-tagged campaign URL.

  • Best use: Retail counters, pop-ups, trade events, packaging inserts, receipts, and printed displays.

  • Limitation: The discount QR code does not carry the same campaign UTM data as the shareable discount link, so use a retail-specific code name if you need the redemption itself to identify that channel.

Landing Pages

A landing page is a digital channel, so use the link version instead of relying on the QR. Create something like SPRING15LANDING, generate its shareable discount link, connect the link to your campaign, and place that link on the page’s CTA.

When the discount setup supports it, Shopify lets you .

  • Best use: Paid campaign pages, seasonal pages, partner pages, and product launches.

  • Limitation: If the same landing-page code is manually typed after a customer enters the store another way, the code report still sees the redemption, but the landing-page session is not necessarily the attributed source.

This is the part that is easy to miss because Shopify offers the link and the QR code from the same discount promotion flow.

When you connect a shareable discount link to an existing marketing campaign, . That gives Shopify campaign reporting more information about where the session came from.

A Shopify discount QR code generated for the discount works differently. Shopify’s developer documentation shows that the QR encodes the store’s discount URL ending in:

/discount/{CODE}

That documented discount QR format does not contain UTM parameters. Shopify also notes that , which is another reason simple, readable code names are easier to manage.

So if SPRING15 is used in both an email shareable link and a printed discount QR code, the email link can bring campaign UTM data with it, while the discount QR identifies only the code. If both use the same code, the Sales by discount codes report can show total use of SPRING15, but the code alone cannot cleanly separate “email redemption” from “QR redemption.”

The fix is not to stop using QR codes. The fix is to give the physical channel its own code. For example:

  • Email: SPRING15EMAIL through a campaign-tagged shareable link

  • Store: SPRING15STORE through the discount QR code

Now the email channel has link-level campaign data plus a channel-specific code, while retail still has a channel-specific redemption marker even without UTM data in the discount QR.

One nuance matters: Shopify’s broader Campaigns feature can generate . That is different from the QR generated for a saved discount under Discounts > Promote, so not every Shopify QR code has the same tracking behavior.

Naming Discount Codes So Shopify’s Reporting Actually Makes Sense

A good code name should answer two questions without opening a spreadsheet: which promotion was this, and where was it distributed?

A simple pattern is:

CAMPAIGN + CHANNEL

Examples:

  • SUMMER20EMAIL

  • SUMMER20IG

  • SUMMER20STORE

  • SUMMER20MAYA

For recurring creator programs, use the creator name or short ID. Keep campaign tokens consistent and avoid names only the creator of the code understands.

Shopify’s , including automatic discount names and discount codes. Shopify Campaigns is a different reporting layer. , while the discount sales report still lets you inspect performance by the discount name or code.

Use Campaigns for tracked marketing activity, and disciplined code names to keep discount-level reporting readable.

What to Do If You Already Ran Channels on One Code

If you already used SUMMER20 everywhere, do not try to force a level of certainty the data cannot support. Start by separating what is still visible from what was never tracked.

Check code performance first. Shopify can still show how the shared code performed overall. You can see that SUMMER20 generated sales, even if the code name does not identify the source.

Look for channel evidence that already exists. If your email or landing-page links already used UTMs, or those activities were already associated with a Shopify Campaign, from tracked visits.

Separate obvious sales channels where possible. , so POS orders and online-store orders may still be distinguishable at that broader level. That can help separate in-person activity from online activity, but it does not automatically tell you whether an online order came from email, a creator, or a landing page.

Accept the remaining blind spot. If email, creators, and landing pages all used the same code and the same untagged link, there may be no reliable way to reconstruct which of those channels caused each redemption after the fact.

For the next promotion, create the structure before publishing: keep the offer consistent, create a code per meaningful channel, generate the matching link or QR, and record the naming scheme.

Where This Fits With Shopify’s 25-Discount Limit

The Shopify 25 automatic discount limit is real, but it applies to active automatic discounts, including app-based automatic discounts. It does not mean you are limited to 25 channel-specific discount codes.

The connection is choosing the right discount method. A store near 25 automatic promotions should be deliberate about which offers need automatic application. Channel-tracking promotions often fit code-based distribution because shareable links and discount QR codes are built around saved discount codes.

Do not create codes for meaningless differences. Separate channels when the distinction will change a future decision, such as email vs creator vs retail. If two placements are managed by the same team, have the same audience, and will receive the same budget decision, one code may be enough.

FAQ

Can I Add UTM Parameters to a Shopify Discount QR Code?
Not to the discount QR generated from Discounts > Promote. Shopify’s discount QR code contains the discount URL, while UTM tracking is added to shareable links. Shopify Campaigns can generate separate trackable campaign QR codes.
Do Automatic Discounts Get a Shareable Link or QR Code?
No. Shopify’s shareable link and QR code feature requires an active discount code. Automatic discounts apply without a code, so they do not use this promotion flow.
Can I Group Multiple Discount Codes Under One Campaign in Shopify’s Reporting?
Not directly as one combined discount in the discount report. You can connect each discount’s shareable link to the same Shopify Campaign, while the Sales by discount codes report still reports each discount name or code separately.
What Happens If I Run a Discount Code Through Both a QR Code and a Shareable Link?
Both can apply the same discount code, so their redemptions appear under that code. However, the shareable link can carry campaign UTM data while the discount QR does not, making separate channel-specific codes better for attribution.
Can Customers Apply a Discount QR Code Online, or Is It Retail-Only?
It works both online and in person. Customers can scan the QR code to shop online with the discount applied, and Shopify POS staff can scan it at checkout.

Conclusion

A Shopify discount QR code works best for physical touchpoints such as retail counters, event displays, package inserts, printed cards, and POS checkout. A Shopify shareable discount link is better for digital channels such as email, creator campaigns, social posts, and landing pages because it can be connected to Shopify campaign tracking and carry UTM data.

The important part is deciding the tracking structure before the promotion goes live. Give each meaningful channel its own discount code, keep the offer consistent when you want a fair comparison, and use clear names such as SUMMER20EMAIL, SUMMER20CREATOR, or SUMMER20STORE. Then use Shopify Campaigns for digital activity and discount-code reporting to compare actual redemptions.

That setup will not solve every attribution problem, especially when customers copy codes or return through another channel. But it gives you much better evidence than sending one code everywhere. Instead of finishing a campaign with one sales total and several guesses, you can see which channels brought traffic, which codes were redeemed, and where your next promotion budget is more likely to pay off.

Syeda Rehnoma Tanzom

Syeda Rehnoma Tanzom

This article is written by Syeda Rehnoma Tanzom, an SEO content writer with 3+ years of experience specializing in eCommerce content. What makes the work here a little different? A close collaboration with support teams to understand what merchants are actually going through, their frustrations, their questions, and their wins. The goal is simple: write content that speaks to real problems, not just search engines. When not buried in keywords and content briefs, you'll find her nose-deep in a good book, binge-watching true crime documentaries or psychological thrillers, and occasionally switching gears with a feel-good rom-com.

This article was reviewed by the DiscountRay Technical Support Team, who regularly helps Shopify merchants test discount setup, customer eligibility, cart behavior, and checkout-related discount issues.

Share

Put your discounts on autopilot

Install DiscountRay from the Shopify App Store and set up your first discount in minutes.

Install on Shopify — Shopify App Store

14-day free trial · 30-day money-back guarantee

Shopify Discount QR Code: Track Which Channel Drives Sales — DiscountRay