
WooCommerce 10.0 introduced a new feature called Shareable Checkout URL. It allows store owners and marketing teams to create a custom checkout URL that instantly adds a product or multiple products to the checkout page and at the same time apply a coupon code.
This Shareable Checkout URL can be used in landing pages, blog articles, social media post and Ads to reduce cart abandonment and improve conversion rates. We believe the Shareable Checkout URL will be very useful in chat messages.
Is the new Shareable Checkout URL better?
Yes it is more flexible compared to the older “?add-to-cart=” parameter method. It now supports the following features:
- You can add multiple products without needing to group the products like previously.
- You can add a single coupon code.
- You can safely use the UTM parameters for attribution tracking.
- You can share the Checkout page containing your cart content to a friend.
How to format a Shareable Checkout URL?
Here is a standard format of the WooCommerce Shareable Checkout URL.
https://www.store.com/checkout-link/?products=PRODUCT_ID_1:PRODUCT_QTY_1,PRODUCT_ID_2:PRODUCT_QTY_2&coupon=coupon_code
- The first portion is your WooCommerce store URL.
- Followed by the /checkout-link/ page path.
- For the URL query portion, it accepts the products and coupon parameters.
Add a single product
Start the first parameter with the question mark “?” symbol, follow by the products parameter name, then equal sign “=” symbol and finally the product ID as the parameter value.
https://www.store.com/checkout-link/?products=82
You can find the product ID from your WooCommerce > Products > All Products page when you hover over the product link.
Add a single product with quantity of 3
After the product ID, enter the colon symbol “:” followed by the product quantity.
https://www.store.com/checkout-link/?products=82:3
Adding a coupon code
Add the coupon parameter followed by an equal sign symbol and the actual coupon code. Don’t forget that you will need to add the & symbol before the 2nd parameter name.
https://www.store.com/checkout-link/?products=82:3&coupon=SUMMER_SALE
Adding multiple products and a coupon code
You can add more products by adding a comma after the each product segment.
https://www.store.com/checkout-link/?products=82:3,90:2&coupon=SUMMER_SALE
Which is the Shareable feature?
The term “Shareable” is not so clear at the moment. It probably mean that store owners / marketing team can quickly create custom checkout link for a particular product offer and share the URL anywhere especially in chat messaging.
But what is amazing with new feature is that when the visitor clicks on this Shareable Checkout URL, the visitor is redirected to the Checkout page with a session token appended to the URL.
https://www.store.com/checkout/?session=eyJhbGciOiJIUzI1NiIsInR5c........
NOTE: A logged-in user will not have the session parameter in the URL.
Visitors can also share the content of their cart by sharing this Session Checkout URL. But there are somethings to note:
- Normal visitors wouldn’t guess that the Session Checkout URL is something shareable.
- Once the friend has clicked on the session link, a new different session will be generated for the friend. The friend will now have their own session identifier stored in their own browser cookie.
- The friend will not get the updates to the cart content of the original visitor even if the original visitor added a new item to the cart unless the friend clears the browser cache.
- If the friend adds a new item to the cart, it does not the cart contents of the original visitor.
- If the original visitor exits the checkout page to continue to shop > Add a new item to the cart > Checkout, the session URL does not appear in the checkout URL. There is no share button on the Checkout page.
- Clicking on a different Shareable Checkout URL will clear the previous cart content.
- The visitors personal details will not be shared and vice-versa.
Guess, we will see more features being develop for wider use-cases.
Can you use UTM parameters in the Shareable Checkout URL?
To give some background, when using the old “?add-to-cart=” method, the UTM parameters would be stripped off if you have the WooCommerce > Settings > Products > Redirect to the cart page after successful addition feature enabled. So it wasn’t useful for digital marketers to use the old method in campaigns.
But now you can add UTM parameters to the Shareable Checkout URL without worrying that the UTM parameters will be stripped off because once the link is clicked, WooCommerce will remain the UTM parameters or any other parameters like Click Identifiers in the URL upon redirection to the checkout page.
Shareable Checkout URL:
https://www.store.com/checkout-link/?products=82:3,90:2&coupon=SUMMER_SALE&utm_source=facebook&utm_medium=social&utm_campaign=summer_sale_2025
Redirected Checkout URL:
https://www.store.com/checkout/?utm_source=facebook&utm_medium=social&utm_campaign=summer_sale_2025&session=eyJhbGciOiJIUzI1NiIsInR5c..........
Can you capture the UTM parameters from Shareable Checkout URL for conversion attribution?
Yes, the WooCommerce Order Attribution feature will capture the UTM parameters and attached the attribution report it to the order but is limited to single browser session.
But if you are professional digital marketer looking for a more comprehensive UTM tracking and conversion attribution solution, take a look at our AFL UTM Tracker plugin.
Our WordPress plugin is trusted by more than 3000 WordPress websites worldwide because it offers so much more advanced features.
- Captures First Touch and Last Touch UTM parameters.
- Captures First Landing Page.
- Captures Click Identifiers.
- Captures Time to Conversion.
- Uses persistent cookies for tracking.
- and more…
Where is the Session stored?
On the browser side, a session cookie contains a session_key which will then be used to match the full session data from the database.
Cookie name:
wp_woocommerce_session_556bd7757daa3489eccb3cd5fbbb6983
Cookie value:
t_3306399a4a5e70133b8d4b7f3da03a|1752918811|1752832411|$generic$6EC3G0YaGpClXwzBG0vmToYip2ftYUHuSlbUxcNq
The actual session data is stored in the wp_woocommerce_sessions database table.
- session_id: an incremental integer
- session_key: a randomly generated string or logged-in user ID
- session_value: associative array containing checkout details (cart items, totals, billing & shipping)
- session_expiry: timestamp

How is the Session Key generated?
- Guest visitors will have a randomly generated ID as their Session Key.
- Logged in user will have their User ID as their Session Key.
How is the Session updated?
The session data can updated in 3 ways.
The first is when you add items to the cart, a HTTP request will be send via the WP REST API route below:
https://www.store.com/wp-json/wc/store/v1/cart/add-item
The second is when you remove items from the cart, a WP REST API request will be send to the route below:
https://www.store.com/wp-json/wc/store/v1/batch?_locale=site
The third is on Checkout page, whenever you update any of the checkout fields, a WP REST API request will be send to the route below:
https://www.store.com/wp-json/wc/store/v1/batch?_locale=site
When does the Session expire?
- For guest visitor, the session expiry is 48-hours.
- For logged-in user, the session expiry is 24-hours.
WooCommerce Github Pull Request
The technical details and code changes of WooCommerce Shareable Checkout URL feature is documented in the WooCommerce Github PR #58140.
Conclusion
- You have learnt the basics of the new WooCommerce Shareable Checkout URL format.
- You have learnt about where WooCommerce store the session data and how it is updated.
- You have learnt that you can use UTM parameters in the Shareable Checkout URL and use our AFL UTM Tracker plugin to capture the UTM parameters for conversion attribution reporting.