Is there a way to add a save-for-later heart icon right on the collection page, not just the product page?
Shopify has no built-in wishlist, so adding a save-for-later heart to collection cards and keeping it in sync between guests and logged-in customers takes either an app or some custom Liquid, metafield, and merge logic.
What's going on
A merchant wants shoppers to be able to save an item straight from the collection grid, without clicking into the product page first, and later see everything they saved in one place whether they were browsing as a guest or logged into their account. Out of the box, Shopify doesn't do this: there's no wishlist object, no save-for-later button, and no customer-facing saved-items page anywhere in core Shopify.
That gap means the moment there's a real request for it, someone has to answer questions Shopify doesn't answer for you: where does a guest's saved list live before they have an account, what happens to it when they log in later, and does logging in on a second device merge those saves or overwrite them? Get the merge logic wrong and customers lose items they thought were saved, which quietly erodes trust in the feature.
Because this touches the collection-card template, customer data storage, and the login and account flow all at once, it sits at the intersection of theme customization and app functionality, which is why it usually shows up as a feature request rather than something merchants find already built into Shopify settings.
Why it happens
Shopify's core platform is deliberately unopinionated about wishlist functionality. It's treated as a merchandising feature that varies too much by store to bake into the base product, so it's left entirely to themes and apps.
The guest-versus-account complexity comes from Shopify's data model itself: there's no record to attach data to for an anonymous shopper, so any guest save has to live client-side, typically in localStorage or a cookie, until there's an actual customer record to move it into. That hand-off has to be built deliberately rather than happening automatically.
5 ways to fix it
Start with a wishlist app before building anything custom
Shopify has no native wishlist or save-for-later feature, so the fastest fix is a purpose-built app that adds a heart or save icon to collection and product cards without manual theme code edits. Look for one that explicitly supports merging a guest's saved items into their account and that works with the current customer accounts system, not just the legacy one. That combination gets a working collection-card button and a saved-items page live in under an hour.
If you want it custom, pair a customer metafield with localStorage
A developer can add a save icon to the collection-card template, store guest saves in the browser via localStorage, and store logged-in saves in a customer metafield holding a list of product IDs. On login, run a one-time merge routine that unions the localStorage list into the metafield and clears the local copy, rather than letting one silently overwrite the other.
Pull live product data instead of caching it in the metafield
For the saved-items page, treat the metafield as a list of product IDs only, and fetch current price, inventory, and image data at render time rather than storing those details in the metafield itself, where they'll go stale the moment a price or stock level changes. If the store uses the newer customer accounts system, this page can be built as a customer account extension instead of a classic account page.
Explicitly test the guest-to-account merge, not just the button
Decide upfront what happens when a guest with saved items on one device logs into an account that already has its own saved items elsewhere: correct behavior is a deduplicated union of both lists, never a straight overwrite in either direction. This merge logic, not the heart icon itself, is where most homegrown and even some app-based wishlist implementations quietly lose customer data.
Keep the added icon accessible and layout-safe
When adding a save button to the collection-card template, give it a real accessible name that changes with state, such as switching between save and remove wording, a tap target of at least 44 by 44 pixels, and positioning that doesn't shift the card's image or price on hover. That layout shift is a common visual regression when an icon gets bolted onto an existing card component.
Bottom line
Shopify itself provides no wishlist mechanism, so every fix here runs through either an app or custom development. For most merchants, a well-reviewed wishlist app that explicitly supports guest merging and the current customer accounts system will be faster and more reliable than a bespoke build; BesPoP's wishlist app category is one option worth checking if you'd rather have this handled for you than built in-house.
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.