How to Track Orders From Cart Links and Checkout Links That Skip Your Storefront

|Dan Giura
How to Track Orders From Cart Links and Checkout Links That Skip Your Storefront

TL;DR

A cart permalink or checkout link drops the shopper straight into checkout, so no product view or add-to-cart event ever fires. The tags on the link held up in our test: gclid, fbclid, ttclid, ScCid and the UTM tags all arrived on the checkout page, where the WeltPixel Conversion Tracking pixel reads them. Two things cost you instead. A link carrying a sales channel's access token, or one made with the admin's Create checkout link, can credit the order to a channel other than your online store. And the Google tag never loads, because the shopper never sees a theme page.

Key Takeaways

  • Open every permalink once in a normal browser and read the checkout page's address. Shopify doesn't document that UTMs or click IDs pass through [1], so check the link you're about to send.
  • A permalink with storefront=true lands on your online store's cart instead of checkout [1], which loads your theme and the Google tag. In our test the parameters came along.
  • Links with a storefront access_token credit the order to that sales channel [1]. In WeltPixel Conversion Tracking, orders your online store didn't take aren't sent on the free plan, and on Plus they leave any channel where Exclude Admin/API Orders is turned on.
  • Put ref= on the link and the value shows as a referral code in the order's Conversion summary [1]. note and attributes land in the order's Notes.
  • Shopify now counts some checkout-first sessions, such as "a customer going directly to checkout from a cart link", since its September 21 to 23, 2026 rollout [5].

A funnel that starts at checkout

A storefront order usually has a product page somewhere behind it. A permalink order doesn't. Shopify's developer docs describe cart permalinks as links that "take customers directly to a store cart or checkout with a pre-loaded cart" [1], and the default destination is checkout. The first events your pixels can see are the checkout page view and checkout_started, followed by the purchase.

Every funnel report will show these as purchases with no browse step. If you've ever opened a GA4 funnel exploration after an email blast and found a pile of buyers who apparently never viewed a product, permalinks are one place they come from. The checkout drop-off guide covers how to read a funnel whose first rung is checkout.

Shopify's own numbers changed for exactly this case. Its session measurement update, rolled out "from September 21 to 23, 2026", counts "Some sessions that didn't include a pageview", "such as a customer going directly to checkout from a cart link", and warns that "Your session count might increase" as a result [5]. Our bot and internal traffic guide quotes the same update for a different reason. If your Black Friday email list is large, your Shopify session count may run higher than last year's for a reason that has nothing to do with demand.

What happens to your tags in a Shopify cart permalink redirect?

Shopify's permalink documentation lists every parameter it supports, from discount to storefront, and says nothing about UTM tags or ad click IDs [1]. So we tested it. On October 6, 2026 we opened three permalinks to a free product on our own store, without placing an order, and read where Shopify sent each one.

Parameters added to /cart/<variant-id>:1 Where Shopify sent it What arrived there
gclid, fbclid, utm_source, utm_medium, utm_campaign Checkout All five, values unchanged
ref, ttclid, ScCid, epik, discount, utm_source Checkout All six, with the capital letters in ScCid kept
storefront=true, gclid, utm_source The online store cart Both tracking parameters, intact

Shopify kept every one of them, case included.

That is one store on one date, and Shopify makes no promise about it, so repeat the check on your own link:

https://yourstore.com/cart/<variant-id>:1?utm_source=klaviyo&utm_medium=email&utm_campaign=bf-early-access&gclid=TEST174&fbclid=TEST174

Open it in a normal browser window and read the address bar once the checkout page loads. If the parameters are there, the WeltPixel Conversion Tracking pixel can read them: it runs on Shopify's checkout pages, takes each platform's click ID and the UTM tags from the address it sees, and hands them to the server-side purchase when checkout completes. Don't place an order on the test link.

Which click ID each ad platform needs, and how to test an ad's own landing page hop by hop, is a separate check. A link shortener or redirect service in front of the permalink can strip them too, as covered in the external funnels guide. Name the tags themselves by our UTM tagging rules, and remember that an untagged email or SMS link can end up as Direct, for the reasons in how Shopify attribution works.

Which sales channel does the link credit?

Shopify documents that "To attribute an order to a sales channel, you can add a storefront access token" to the link, and that "Merchants can view sales attributions in the Sales by Channel report" [1]. Sales channel apps can add a source_name too, which "requires a storefront access token" [1]. Shopify's attribution docs put the default plainly: orders from a channel's permalinks are attributed to that channel's app [4].

The admin builds checkout links through a channel as well. With the Buy Button channel installed, go to Products → your product → More actions → Create checkout link, and Shopify makes the link through the Buy Button channel, in the format /cart/<variant-id>:1?channel=buy_button [2]. Shopify says "The same link is reusable, and creates a new checkout for each customer" [2], and suggests sharing these links in "email campaigns, social media posts, or chat messages" [2].

Links made with the admin's Create checkout link are credited to the Buy Button channel. Shopify says "You can track Buy Button orders from your Shopify admin" [3], but it doesn't say how those orders are labelled for apps, so one test order answers it for your store. On the free plan, the app's Conversion tracking card shows an order your online store didn't take as Skipped for GA4.

WeltPixel Conversion Tracking sorts orders into the ones your online store took and everything else, the split the TikTok Shop and off-site orders guide explains. On the free plan, orders in everything else aren't sent to GA4. On Plus they're sent to every destination you've connected, unless Exclude Admin/API Orders is on for that channel.

A plain permalink you build by hand, with no token and no channel parameter, should come through as an online-store order. A mobile app that opens a permalink inside Shopify's Checkout Kit is a different case again, because Shopify hands that checkout's pixel events to the app. Draft order invoice links follow their own rules, set out in the guide to tracking B2B and company account orders.

Links that skip the theme skip the Google tag

The Google tag the app adds loads with your theme. A shopper who goes from an email straight to checkout never loads a theme page, so unless they've visited your store before on that browser, they arrive with no Google cookies at all.

GA4 meets that shopper for the first time on the checkout page, where the app's pixel starts a GA4 identity for them. The purchase WeltPixel Conversion Tracking sends to GA4 still carries the UTM values from the link. Google Ads has no cookie to fall back on, so the conversion depends on the gclid making it into the checkout address, which in our test it did. When it doesn't, the no-gclid conversions guide covers what's left.

storefront=true is Shopify's documented switch for a link that should behave like a storefront visit: it sends customers "to the online store cart instead of the checkout page" [1]. The theme loads, the Google tag loads, the cart events fire, and in our test the parameters came along. The cost is one extra step before checkout. For a one-click reorder email to existing customers, the direct link may be the better trade. For a cold list or a creator's bio link, the cart page gives your tags a fuller session to work with.

Shopify's own tracking fields on the link

Shopify gives you three fields on the link that land on the order, readable per order without any app: note and attributes "will display in the Notes section on the order details page", and ref "will display as a referral code in the Conversion summary section" [1]. The Conversion summary also lists each visit's referral, landing page and UTM parameters, and its details "might take up to 48 hours" to appear [7].

Parameter Example What Shopify does with it What it means for tracking
ref ref=bf-sms-1 Referral code in the Conversion summary [1] A per-order audit trail you control
attributes[...] attributes[from]=bf-email Shown in the order's Notes [1] Same, and you can add several
note note=bf-email-vip Shown in the order's Notes [1] One free-text line
discount discount=BFEARLY Applies the code; comma-separated for several [1] Codes containing a comma can't be passed
storefront=true storefront=true Sends the shopper to the cart instead of checkout [1] Theme, Google tag and cart events load
payment=shop_pay payment=shop_pay Opens a Shop Pay checkout [1] Shop Pay's own flow, covered in the Shop Pay guide
access_token access_token={token} Credits the order to a sales channel [1] Can take the order out of the online-store class

Which code drove which sale is a reporting question of its own, covered in our Shopify discount report guide. Shopify also lists two limits worth knowing: "Selling plans don't work with cart permalinks", and "Cart permalinks cannot bypass storefront passwords" [1].

Abandoned checkout emails send a different kind of link, one to "the customer's abandoned cart, allowing them to complete their checkout" [6]. "Anyone who opens the abandoned checkout link can continue that checkout", and "You can't disable or expire an abandoned checkout link after you send it" [6]. Shopify says nothing about tags on those links, so the UTM tags come from whichever tool sends the email.

Test each link type before the send

  1. List every link type in your Black Friday emails, SMS and creator posts: hand-built permalinks, admin checkout links, links from a sales channel app, storefront=true links and recovery emails.
  2. Add your UTM tags. For the test only, add a dummy gclid if the link will be an ad's final URL.
  3. Open each one in a normal browser window, not a private one, and read the address once the page loads. Every tag should still be there, with its case unchanged.
  4. Place one real order, without the dummy gclid, through each link type that could credit a channel (admin checkout links, sales channel app links) and refund it, bearing in mind that any destination it reaches records a real purchase. Then, in Orders, open the order and read its sales channel.
  5. Two days later, open that order's Conversion summary → View conversion details and confirm your ref code and UTM tags show up [7].
  6. In WeltPixel Conversion Tracking, read the home page's Conversion tracking card for the day of the order. On the free plan, an order that landed outside your online store shows there as Skipped for GA4.

Links don't need a store change, so they can go right up to send day. If they also carry ad clicks, the BFCM tracking freeze calendar puts final campaign structure at about November 20.

FAQ

Do UTM parameters survive a Shopify cart permalink?

In our test on our own store on October 6, 2026, Shopify carried every UTM tag and click ID from the permalink onto the checkout address, case intact. Shopify's documentation doesn't mention them [1], so open your own link once before sending it.

Is an order from an admin checkout link an online store order?

Shopify creates those links through the Buy Button channel [2]. Place one test order through such a link and check how the app recorded it (step 6 below).

Why do my permalink orders have no product views?

The link skips the product page and the cart, so the first events are on the checkout page. Use storefront=true if you want shoppers to land on the cart instead [1].

Track the orders your links send to checkout

WeltPixel Conversion Tracking runs its pixel on Shopify's checkout pages, so click IDs and UTM tags that reach the checkout address travel with the server-side purchase even when the shopper never saw your theme. GA4 is on the free plan; Google Ads, Meta, TikTok, Reddit, Pinterest, Snapchat, OpenAI Ads, Klaviyo and theMarketer come with Plus at $39/month [8].

Sources

  1. Shopify developer documentation, "Create cart permalinks" (parameters, limitations, access_token, source_name, storefront=true), shopify.dev/docs/apps/build/checkout/create-cart-permalinks, accessed October 8, 2026
  2. Shopify Help Center, "Cart permalinks" (Create checkout link, Buy Button format), help.shopify.com/en/manual/checkout-settings/cart-permalink, accessed October 8, 2026
  3. Shopify Help Center, "Buy Button", help.shopify.com/en/manual/online-sales-channels/buy-button, accessed October 6, 2026
  4. Shopify developer documentation, "Order attribution" for sales channels, shopify.dev/docs/apps/build/sales-channels/order-attribution, accessed October 6, 2026
  5. Shopify Help Center, "Session measurement update", help.shopify.com/en/manual/reports-and-analytics/discrepancies/session-measurement-update, accessed October 6, 2026
  6. Shopify Help Center, "Abandoned checkouts", help.shopify.com/en/manual/orders/abandoned-checkouts, accessed October 6, 2026
  7. Shopify Help Center, "Conversion summary", help.shopify.com/en/manual/fulfillment/managing-orders/analytics/conversion-summary, accessed October 6, 2026
  8. WeltPixel Conversion Tracking, Shopify App Store listing (free plan; Plus $39/month), apps.shopify.com/weltpixel-conversion-tracking, accessed October 8, 2026

Ready to upgrade your tracking?

Server-side tracking for Magento and Shopify — accurate data, better attribution, full privacy compliance.