How to create a Shopify cart link for subscription products

A link in an email, on a QR code or in a post that puts a product in the cart as a subscription, with its delivery plan already chosen, and opens checkout.

Updated October 2026 · 6 min read

Short answer

Shopify's cart permalinks (/cart/variantID:quantity) can't carry a subscription: Shopify's own documentation says selling plans don't work with them, so the product lands in the cart as a one-time purchase. To link straight to a subscription checkout you need the cart to be filled by the storefront's cart API with the selling_plan of each line, which is what Cartsella Studio's campaign links do for you.

Why subscriptions break normal cart links

In Shopify, a subscription is a selling plan: "deliver every 30 days, 10% off", for example. Subscription apps that use Shopify's selling plans (Shopify Subscriptions and most others) attach those plans to products. The shopper picks one on the product page, and the cart line carries the plan.

A cart permalink only knows variant IDs and quantities. There is no place in it for a selling plan, so whatever you link to is added as a one-time purchase, at the one-time price. For a "reorder your refill" QR code or a "subscribe and save" email, that's exactly the wrong outcome.

Option 1: Link to the product page with the plan chosen

A product page address can name a variant and a selling plan:

https://yourstore.com/products/coffee-beans?variant=39897499729985&selling_plan=610435137

In themes that support it, the page opens with that subscription option selected. The shopper still has to tap "Add to cart" and go to checkout, and it's one product at a time.

Finding the selling plan ID: open https://yourstore.com/products/your-product.js in your browser. The product's selling_plan_groups list each plan with its id and name.

Option 2: Fill the cart with the cart API

Shopify's storefront cart API (/cart/add.js) does accept a selling_plan for each line. A small script on a page of your store can add the products with their plans and then send the shopper to /checkout:

fetch("/cart/add.js", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ items: [
    { id: 39897499729985, quantity: 1, selling_plan: 610435137 }
  ] })
}).then(() => { location.href = "/checkout"; });

This works, but you need a page or theme snippet for it, a way to change the products per campaign, and a fallback when a plan is removed. You'll also find workarounds in the Shopify Community that chain /cart/clear and /cart/add through return_to in one long address; they aren't documented by Shopify and are easy to break.

Option 3: Campaign links with Cartsella Studio

  1. Pick the products and quantities, and for each one choose its subscription option. Subscription and one-time products can share a link.
  2. Add a discount code if you like. The link applies it for the shopper.
  3. Choose where it opens: the cart or straight to checkout.
  4. Share it: a short link on your own domain (/apps/go/refill) or its QR code.

When the shopper opens it, the cart is filled in one step, every subscription line with its plan, and checkout opens with the subscription already set. Nothing is added to your theme or products, and you can change the link's products later without reprinting the QR code.

Creating a campaign link in Cartsella Studio with products, a discount code, checkout as the destination, a QR code and click count

Subscription links that land on a ready checkout.

Join the waitlist: 50% off your first year

Where subscription links pay off

Frequently asked questions

Do Shopify cart permalinks work with subscriptions?

No. Shopify's documentation lists it as a limitation: selling plans don't work with cart permalinks. The product is added as a one-time purchase.

Where do I find a product's selling plan ID?

Open your product's address with .js at the end (yourstore.com/products/handle.js). Each plan in selling_plan_groups has an id.

Which subscription apps do campaign links work with?

Shopify Subscriptions and any subscription app that uses Shopify selling plans.

Can one link mix subscription and one-time products?

Yes. Each product in a campaign link can be a one-time purchase or have its subscription option chosen.

Read next: Cart links with a discount · Everything campaign links can do · Pricing