Cart - Use permalinks to pre-load the cart

Highlighted
Community Manager
Community Manager
502 29 783



Tip: To see more videos, visit our YouTube channel.

 

What is a cart permalink?

 

 

A cart permalink takes your customers directly to the first page of the checkout screen with items pre-loaded into their cart.

 

Have you ever wanted to link directly to the Shopify checkout screen with a specific cart already loaded with items? Have you ever wanted to put a "Buy it now" button in blogs and newsletters? Have you ever wanted to provide an easy reorder link to customers? Cart permalinks are the answer.

This is what a cart permalink looks like:

http://your-store.myshopify.com/cart/70881412:1,70881382:1

 

Where 70881412 is the product variant's unique ID and 1 is the quantity.

So the format of the url is:

http://yourstore.com/cart/#{variant_id}:#{quantity}(,...)

 


Appending cart and checkout parameters

 

 

You can pre-fill any of the checkout fields, simply by appending checkout query parameters in the cart permalink URL. When appending checkout query parameters, use the following URL format:

/cart/{variant_id}:{quantity}?checkout[email]=somebody@store.com&checkout[shipping_address][city]=thisismyhometown

 

where [email] represents any of the possible checkout fields in the form, and [shipping_address][city] shows how you can use nesting to populate child fields.

 

 

List of supported checkout parameters

 

 

You can pre-fill any of the following query parameters:

Checkout parameter Description
checkout[email] Email of the customer making the checkout.
checkout[shipping_address][first_name] Address [first_name].
checkout[shipping_address][last_name] Address [last_name].
checkout[shipping_address][address1] Address [address1].
checkout[shipping_address][address2] Address [address2].
checkout[shipping_address][city] Address [city].
checkout[shipping_address][zip] Address [zip].

 

 

Applying a discount

 

 

You can directly apply a discount to a cart permalink.


The following format applies the discount:

 

 

/cart/{variant_id}:{quantity}?discount=test

 

 

where test is the string value of a discount code.

 

Note: Notes, cart attributes, and tracking parameters can be added as query parameters as usual. If customer accounts are enabled on your website, and the user is not logged in, they will see the login page before reaching the checkout.

 

Adding a "Buy this" link to a blog post

 

 

  1. From your Shopify admin, go to Online Store > Blog Posts.
  2. On the Blog posts page, either add a new blog post or click on an existing blog post.
  3. In the Rich Text Editor, under the "Content" header, click the HTML button:

    preload01.jpg

  4. Add your link. It should look something like this:

    <p><a href="http://your-store.com/cart/70881412:1">Buy this item</a></p>

     

  5. Save your changes and test it out in your store.

 

 

Adding a "Reorder" link

 

 

You can add a "reorder" link right in your theme's customers/order.liquid template for each line item in the order.

 

  1. From your Shopify admin, go to Online Store > Themes.
  2. Find the theme you want to edit, and then click Actions > Edit code.
  3. Under the Templates folder, locate and click on customers/order.liquid to open it in the online code editor. Don't see the template? Create one by clicking the Add a new template link.
  4. In the online code editor, paste the following piece of code where you would like your link to appear:

    <a href="/cart/{{ line_item.variant_id }}:{{ line_item.quantity }}">Reorder this</a>

     

  5. Click Save to confirm your changes.

 


Conversion tracking

 

 

Wish to add some tracking info to the URL, which will then show up on the order details page in your admin, when orders come in?

 

Use a cart note:

/cart/70881412:1,70881382:1?note=came-from-newsletter-2013-02-14


Or use a cart attribute (you can have several of those):

/cart/70881412:1,70881382:1?attributes[where-from]=came-from-newsletter-2013-02-14&attributes[some-other-key]=some-value


The cart note and cart attributes are shown on the order details page under Order Note.

Or use the 'ref' parameter:

/cart/70881412:1,70881382:1?ref=came-from-newsletter-2013-02-14


The ref value is shown as a referral code in the Conversion summary section on the order details page. Click View conversion details and then click View full sessions to view the session details page:

 

preload02.png

 


Sales attribution

 

 

To attribute an order to a sales channel or app, you can add an additional parameter to the permalink. You can view sales attributions in the Sales by Channel report, which shows the name of the channel or app that the customer used to place their order. Sales attributions also appear on the sidebar in your Shopify Home. You can specify a storefront access token in the cart permalink as shown in the following example:

 

/cart/70881412:1,70881382:1?access_token=#{access_token}

 

Can I let the customer edit quantities?



You can't. Quantities cannot be edited when the customer follows a cart permalink.

 

Finding a variant ID



Click here to learn how to find a variant ID from within your Shopify admin.

 

TyW | Online Community Manager @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

Highlighted
Excursionist
31 1 9

Hi @TyW will shopify publish any official docs about the cart permalink?

Highlighted
New Member
3 0 0

Thanks for this...this is partly what I'll need. However, we are running Shopify in headless mode. This means we don't have a store on Shopify all we use are buy-buttons.

 

So when I use the buy-button builder I can check that it directly forwards to the checkout-page. Do something like:

 

https://mydomain.myshopify.com/27337588471/checkouts/0739e8c6084f8a2857ef841954c2474c

 

Which then includes the product I selected before via pressing the button. This forward to the checkout page will be initiated when you set "buttonDestination": "checkout" in your setup.

 

When I use the instructions on this page, it tries to open the Shopify webstore pages which we don't have and which is not exactly what I need. Is there any way to add a product via a link and then go to the checkout page?

 

Thanks, Carsten

 

0 Likes
Highlighted
New Member
2 0 0

@TyW  Thanks for the article.

This is something that would work really well for our unique situation because we want to introduce an additional step before checkout. The one checkout attribute that seems to be missing from here is the State/Province. How can we set that using permalinks?

0 Likes
Highlighted
Shopify Partner
8 0 4

Hello,

 

Thank you for the article. However, as mentioned by the previous poster, we are not able to set the Country/Region and Province fields.

 

How can we set this using the permalinks?

 

Thank you!

 

Sebastian

0 Likes
Highlighted
Shopify Partner
8 0 4

It seems to work using these parameters 

&checkout[shipping_address][country]=US&checkout[shipping_address][province]=NY
 
Make sure the use the two-letter codes!
Highlighted
New Member
2 0 0

Thanks Sebastian! That works!

0 Likes
Highlighted
Excursionist
11 1 6

This is a fantastic guide, thank you. 

Unfortunately when I attempt to follow it I am redirected to checkout immediately with that single item.

I am looking to simply add the item to the cart.

Highlighted
Excursionist
16 0 14

Can you do a discount and conversion tracking in the one link?

Highlighted
New Member
1 0 1

@brendonwbrown Did you find a way to add the item to the cart?