How to read the link you just made
The link is a Shopify cart permalink. It has three parts, and each one is something you typed above.
https://your-store.myshopify.com/cart/36485954240671:2,31384149360662:1?discount=WELCOME10- Your store address, then
/cart/. - The products: each variant ID, a colon, and the quantity. Commas separate one product from the next. This example adds two of the first variant and one of the second.
- The options, after the question mark: here, one discount code. Further options are joined with
&.
Anyone who opens it gets a fresh checkout with those items. The same link can be sent to one person or to your whole list.
What the generator does, and what it leaves alone
It follows the format inShopify's cart permalink referenceand nothing else. No redirect sits in between and the link does not pass through checkoutlinks.com: it points straight at your store. The options it can write are the ones that reference lists.
| Option | What it does | In the link |
|---|---|---|
| Discount code | Applies a code that exists in your admin | discount=CODE |
| Several codes | Applies them together if they are set to combine | discount=A,B |
| Cart page | Lands on your theme's cart instead of checkout | storefront=true |
| Shop Pay | Opens the Shop Pay checkout | payment=shop_pay |
| Customer email | Fills in the contact field | checkout[email]= |
| Shipping address | Fills in name, street, city, province, country, postal code | checkout[shipping_address][city]= |
| Order note | Shows under Notes on the order in your admin | note= |
| Referral code | Shows as the referral code in the order's conversion summary | ref= |
| Cart attributes | Named values, shown under Notes on the order | attributes[name]=value |
Two details the generator handles for you. Spaces and symbols in a code, a note or an address are encoded so the link does not break when it is pasted into an email tool. And if you paste a variant's admin URL or a product URL instead of the bare number, it pulls the ID out.
Where to find a variant ID
- In your Shopify admin, go to Products and open the product.
- Click the variant you want (for example "Large / Blue").
- Look at the page address. It ends in
/variants/and a long number. That number is the variant ID. You can paste the whole address into the generator.
A product with no options still has one variant, but the admin does not show it as a separate page. Open the product on your store, add .json to the end of its address (/products/your-product.json) and look for "variants", then"id".
Use a variant ID, not a product ID. The two look alike, and a link built with a product ID does not add the product.
A worked example
You are emailing last month's buyers a refill offer: two bags of coffee and one filter pack, with the code REFILL15. The coffee variant is 44190031118 and the filters are 44190031455.
- Store address:
beans.example.com. - First product:
44190031118, quantity 2. Second:44190031455, quantity 1. - Discount code:
REFILL15. Opens at: Checkout.
https://beans.example.com/cart/44190031118:2,44190031455:1?discount=REFILL15Put that behind the button in your email. Before you send, open it in a private window: the three items should be in the order summary with the discount already taken off. For a flyer or a parcel insert, download the QR code and scan it with your own phone first.
What a cart permalink cannot do
These are limits of the Shopify feature, so they apply to any generator, this one included.
- No way past a store password. On a password-protected store the shopper meets the password page first.
- No subscriptions. Selling plans do not work in a permalink; it always adds the one-time purchase.
- No discount without a code. The code has to exist, and a code with a comma in it cannot be used. Anyone who reads the link can read the code.
- No end date and no cap. The link works until the variant is gone. It cannot stop after Friday or after 100 orders.
- No numbers of its own. You see the orders in Shopify, but not how many people clicked this link, or which of two links earned more.
- No step before checkout. There is nowhere to show the offer, let the shopper change a size, or add something to the order.
- Long and fixed. The address is a string of IDs, and changing the offer means sending a new link.
If none of that matters for your campaign, use the free link. It is the right tool for a one-off message.
When it does matter, that is what Checkout Links is for. It is a Shopify app that makes short links on your own domain, with discounts and free gifts that need no code, a start and end time, a limit on uses, a popup over your store before checkout, and clicks, orders and revenue for each link. It costs $25 a month with a 7-day free trial.The full comparison with cart permalinksgoes through the differences line by line, and theShopify QR code playbook covers where to send a scan.
