Why does my abandoned cart email send customers to checkout instead of back to the product?
Shopify's default abandoned checkout email sends customers straight back to checkout, not the product page, which breaks the flow for personalized or made-to-order items where they need to re-enter customization details first.
What's going on
A merchant selling personalized products, think engraved jewelry, custom apparel, or made-to-order gifts, noticed that Shopify's abandoned checkout recovery email always links customers back into checkout, not to the product page. For a standard product that's fine, the customer just picks up where they left off. But for a personalized item, the customization the customer entered, a name, a monogram, custom text, lives as a line item property attached to that specific abandoned checkout, and there's no way to see or re-edit it from inside checkout. Customers either complete the order with whatever was captured, or have to start over from the product page and redo the personalization from scratch, except the email doesn't send them there.
This shows up whether you're using the legacy abandoned checkout notification or the newer marketing-automation version of the email. Both default to a single call-to-action button pointed at a checkout-restoring link rather than a product link.
It's a recurring complaint in the Shopify Community, and it tends to surface specifically among stores with a customization component to their catalog. For a plain apparel or accessories store, the default behavior is usually a non-issue.
Why it happens
Shopify's abandoned checkout email is built around one job: get the customer back into a checkout session with their cart intact, items, quantities, discount codes, and shipping and tax info all preserved via a unique link. That's the fastest path to a completed sale for the overwhelming majority of carts, so it's the sensible default.
What it doesn't account for is line item properties, the custom key and value data attached to an item when a product has personalization fields, commonly built with Shopify's line item property inputs or a personalization app. Those properties are stored on the checkout and line item, not on the product itself, and Shopify has no standardized way to read them back into a product page form. So even after you fix the link to point at the product page, the personalization the customer already entered doesn't travel with them automatically.
The email template is Liquid-based and editable, which is why the fix is a template change rather than a platform limitation you're stuck with. But it does mean the work of building a proper per-product link, and if you want it, a way to carry personalization data forward, falls on the merchant or their developer, not on a setting you can just toggle.
5 ways to fix it
Rebuild the product link with a line-item loop
Open your abandoned checkout notification (Settings, Notifications, Abandoned checkout in the legacy setup, or the abandoned checkout automation under Marketing if you've moved to the newer messaging templates) and edit the custom Liquid. Instead of relying on the single button that points at the checkout URL, loop over the checkout's line items and link to each one's own product page, for example by building a link from the line item's product handle. The exact object names differ slightly between the legacy notification editor and the newer messaging templates, so check what's available in the template you're editing. This sends customers back to the product page instead of straight into checkout.
Keep the checkout link for standard products, swap it only where personalization matters
If most of your catalog is simple variants like size or color, don't remove the default recovery button. The checkout link restores the cart exactly as the customer left it, with tax and shipping already calculated, and that's usually your fastest path to a completed sale. Reserve the product-page-link treatment for line items that carry custom properties such as engraving text or a monogram, which you can detect in Liquid by checking whether the line item has properties set. That way you're not trading away your best-performing recovery path to fix a problem that only affects a minority of orders.
Understand what the link fix does not solve
Shopify has no built-in way to carry the personalization a customer typed into a line item property, such as a name or engraving text, back into the product page form. That data lives on the abandoned checkout, not on the product itself. Sending someone to the bare product page means they have to re-enter it from scratch; changing the link alone doesn't restore it. If full restoration matters for your business, that requires theme work to read the properties and pre-fill the product form, or a cart or checkout app built for personalized goods.
Verify with a real abandoned checkout, not just the template preview
The preview or test-send option in the notification editor doesn't always populate line items and custom properties the way a genuinely abandoned checkout does, which can make a correct Liquid edit look broken. Create a real test checkout in an incognito window, enter an email, add a personalized item, and abandon it, then wait for the actual recovery email (or trigger it early if your plan allows that) to confirm the product link and properties render the way you expect.
Move personalized-product recovery to Shopify Flow or a dedicated app if you need more control
If cart recovery is a meaningful revenue driver and the native template can't do what you need, Shopify Flow can trigger a custom email or a webhook to an email platform off checkout events, giving you more control over link structure, timing, and segmenting personalized items separately from standard ones. A dedicated cart-recovery or personalization app is the other option if you'd rather not maintain custom Liquid and automation logic yourself.
Bottom line
The checkout-first link isn't a bug, it's a default tuned for the common case: get the cart back with minimum friction. It only becomes a real problem for stores selling personalized or made-to-order items, where the product page itself is part of completing the purchase. The free fix is a Liquid edit that links to each product instead of checkout; the harder problem, restoring the personalization data itself, has no built-in Shopify mechanism and needs custom theme work or a purpose-built app if it's costing you enough sales to justify it.
Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.