Analytics8 min read

Shopify Link Tracking: See Which TikTok, Instagram, Email or QR Campaign Creates Orders

Shopify tells you how many orders you got. It does not tell you whether the influencer, the email or the QR code on the box earned them. Here is a link setup that does, with templates for launches, influencers, packaging and sales.

Peter CsipkayPeter CsipkayFounder of useClick
Shopify Link Tracking: See Which TikTok, Instagram, Email or QR Campaign Creates Orders

Quick answer: Give every campaign its own short link with UTM tags: one per influencer, one per email, one per QR code, one per ad. The short link counts clicks and scans from apps where no analytics script runs, and the UTM tags travel to your store, where Shopify's marketing reports attribute sessions and sales to each utm_campaign. Put the two side by side and you see which TikTok, Instagram post, email or packaging insert created orders, not just traffic.

Key takeaways

  • Shopify can attribute orders to campaigns, but only if every link that brings people to the store carries consistent UTM tags.
  • Short links add what UTM tags cannot: clicks from in-app browsers and QR scans, counted before the store page loads.
  • One link per creator, per channel and per printed item. Shared links make attribution impossible.
  • Compare channels by orders and revenue per click, not by clicks.

Why store owners need a different report

A store owner rarely asks "how many people clicked?". The question is "the creator I paid last month: did she sell anything?" or "is the QR code on the box worth printing again?".

Shopify answers part of this. Its analytics count sessions by referrer and attribute sales to marketing campaigns using UTM parameters. The weak spots are before the store: TikTok and Instagram open links in their own in-app browsers, QR codes have no referrer at all, and a creator who pastes your plain store URL into her bio sends traffic that looks like everyone else's.

The fix is boring and reliable: every place that sends people to your store gets its own link, and every link carries the same tag scheme.

The setup

1. Agree on one tag scheme

Tag Use it for Examples
utm_source The platform or partner tiktok, instagram, newsletter, creator_maya, packaging
utm_medium The type of channel social, influencer, email, qr, paid_social
utm_campaign The campaign spring_drop, bfcm_2026, restock_oct
utm_content The variant bio, story_2, insert_card, shipping_box

Lowercase, underscores, one value per channel. Write it into a shared doc before the campaign starts. The free UTM builder uses the same fields.

In useClick, create a short link for each placement, pointing at the product or collection page, with the tags above. Put the links of one campaign into one campaign folder so they sit together. Use your own domain, such as shop.acme.com/maya, so the link looks like your brand in a bio or on a box. Custom domains are on every plan; UTM tags and campaigns are on Starter and above.

Send each creator her own link. Put the QR code of the packaging link on the insert card. Use the email link in the email. If anyone pastes the plain store URL, that traffic falls into the "direct" bucket and the campaign looks weaker than it is.

4. Read both sides

  • In useClick: clicks and scans per link, with countries, devices and referrers. This is where the QR code and the in-app traffic show up reliably.
  • In Shopify: sessions and sales by utm_campaign and utm_source in the marketing reports.

If you also track your storefront with useClick's cookie-free website analytics (add the tracking snippet to your theme), you see visits per source and the pages people read on the store, next to the clicks.

Four campaign templates

Template 1: Product launch

One product, several channels, one launch week.

Link utm_source utm_medium utm_content
shop.acme.com/drop-email newsletter email hero_button
shop.acme.com/drop-ig instagram social bio
shop.acme.com/drop-tt tiktok social bio
shop.acme.com/drop-sms sms sms launch_text

All with utm_campaign=spring_drop. After the launch, compare orders per channel against clicks per channel. A channel with many clicks and few orders usually means the message promised something the product page does not show.

One link per creator, never a shared code page.

Link utm_source utm_medium utm_campaign
shop.acme.com/maya creator_maya influencer creators_q4
shop.acme.com/jon creator_jon influencer creators_q4
shop.acme.com/lea creator_lea influencer creators_q4

This answers "which influencer drove sales" directly. Pair each link with the creator's discount code if you use codes: codes catch buyers who type the URL later, links catch everyone who taps. Use both and compare.

If a creator's audience sits in another country, geo-targeting (Starter and above) can send visitors from that country to your regional store while everyone else lands on the main one.

Template 3: QR codes on packaging

The box is the one marketing channel every customer sees. Most stores leave it untracked.

Link Printed on utm_source utm_medium utm_content
shop.acme.com/box-reorder Shipping box flap packaging qr shipping_box
shop.acme.com/card-review Insert card packaging qr insert_card
shop.acme.com/tag-care Product tag packaging qr care_tag

Each QR code points at the short link, not at the store URL. That has a second benefit: when the destination changes, you edit the link and the printed code keeps working. Editing a link's destination is on Starter and above. How to make a trackable QR code covers sizes and contrast for print.

A simple way to write this up as a case study for your own team: one QR code per packaging item, one month, then a table of scans, store visits and orders per item. The item with the most reorders per scan earns the print space next season.

Template 4: Seasonal sale

A sale has an end date, and a link that keeps sending people to an expired offer costs trust.

  • Create the sale links with an expiration date (Starter and above). After it, visitors see an expired page instead of a dead offer, or you change the destination to the regular collection.
  • Use one utm_campaign per sale (bfcm_2026), so next year's sale is a clean comparison.
  • For SMS, use a short branded link; why generic short links hurt SMS deliverability explains why the domain matters there.

Reading the result

Put the numbers for one campaign into one table:

Channel Clicks or scans (useClick) Orders (Shopify) Orders per 100 clicks
Email
Instagram
TikTok
Creator: Maya
Packaging QR

The last column is the one that decides budgets. TikTok often brings the most clicks and a lower rate; email often the reverse. Neither is wrong, but you should know which is which before paying for more of it.

Two cautions. Attribution is never perfect: a buyer who saw the TikTok, then searched for your brand a week later, counts as search. And small numbers swing: ten orders against six is not a trend. Look at a full campaign, and at several campaigns, before moving money.

No cut of your sales

One more point when you compare tools. Some link-in-bio and storefront tools take a percentage of the sales that pass through them. useClick does not: your links point at your Shopify store, or at your Stripe or Ko-fi checkout for digital products, and the payment goes straight to you. You pay a flat plan, and the order is yours.

Frequently asked questions

Does Shopify track UTM parameters?

Yes. Shopify reads UTM parameters on the landing URL and uses them in its marketing and sessions reports, so orders can be attributed to a utm_campaign and utm_source. Consistent tags on every link are what make those reports useful.

How do I know which influencer drove sales?

Give each influencer a separate tracked link with their name in utm_source, and ideally their own discount code. Compare orders per link in Shopify's marketing reports and redemptions per code in your discounts.

How do I track QR codes on product packaging?

Point each QR code at its own short link instead of the store URL, with utm_medium=qr and utm_content naming the item. Scans show up as clicks in useClick, and the store visits carry the tags into Shopify.

Do in-app browsers break tracking?

They can lose referrer information, which is why UTM tags and short links matter. The short link counts the tap before the store loads, and the UTM tags survive the in-app browser.

Can I change where a printed QR code goes?

Yes, if the code points at a short link. Edit the link's destination and the printed code goes to the new page. Changing a destination is on Starter and above.

Does useClick take a share of my sales?

No. useClick charges a flat monthly plan. Your links send people to your own store or checkout, and payments go directly to you.

The decision in one paragraph

You cannot fix attribution after the campaign, only before it. Before the next launch, write down one tag scheme, create one short link per creator, channel and printed item, and share only those links. Then the question "which campaign created orders?" is answered by two reports you already have, instead of a guess.

QR codes with scan stats

Every scan counted by country, device and time.

Short Links Analytics, Link in Bio Pages, and Website Analytics

  • Branded short links with analytics for campaigns, destinations, and every click you share.
  • Link in Bio pages that bring your most important links together in one branded place.
  • Website analytics to understand traffic sources, top pages, and on-site performance.
Create a trackable QR code

No credit card required.

Free browser extensionShorten, brand, QR-code and track any page in one click.

QR codes that count every scan

Point a QR code at a useClick short link and see scans by country, device and time. Change where it leads after printing on Starter.