Wishlists

Wishlists let shoppers save products they want, come back to them later, and share a list so friends and family can buy from it.

Shoppers can keep one list or several, say how many of something they want, leave a note on an item (a size or a color), and share a list with a link. Cascade can also email them when a saved item drops in price or comes back in stock.

Turn wishlists on

  1. Open Set up wishlists and answer the two questions: whether a shopper keeps one list or several, and whether lists can be shared (with or without prices). Everything you choose here can be changed later under Settings → Wishlists.
  2. Add the Add to wishlist button to your product pages and the Wishlists block to an account page. On Shopify, see Widgets in your theme. Elsewhere, see Storefront widgets.

The Add to wishlist button beside Add to cart on a product page 3. Save a product on your own store to check it works, then open Wishlists to see it in the dashboard.

The Wishlists page listing every saved list with its owner, item count and sharing state

One-click saves

Clicking the save button puts the product on the shopper's main list. A first-time saver doesn't have to name anything: Cascade creates the list for them, using Name for a customer's first list under Settings → Wishlists ("My wishlist" out of the box). Changing that name only affects lists created afterward.

Clicking again removes the product. The arrow beside the button lets a shopper pick a different list, and Make default in their list manager changes where one-click saves go.

A shopper's list on their account page, with the products they saved

One list, or several

Several lists per customer under Settings → Wishlists decides whether shoppers can create more than one list. One list is simpler and right for most stores. Several is worth it when people shop for others, so a registry can sit beside a wish list.

The Wishlists settings page with the lists, sharing and alerts cards

A shopper who hasn't saved anything yet sees one empty list, under the name from the same card, so their account page looks the same on their first visit as it does afterward. The list isn't really created until they save something, rename it or share it, and it doesn't show up in your dashboard until then.

Turning the setting off later doesn't take away lists shoppers already have. They can still see and use all of them; they just can't create another.

Before a shopper signs in

Shoppers who aren't signed in can still save. Their lists live in their browser until they sign in, and then move onto their account. If you allow one list per customer, Cascade asks before merging their saves into it. Sharing, alerts and purchase marking wait until they sign in.

Sharing

Every list is private until its owner shares it. Shoppers turn sharing on from their list manager and copy the link, and can replace the link at any time if they shared it with the wrong person.

The settings that matter, all under Settings → Wishlists:

  • Allow shared wishlists is the store-wide switch. Turn it off and every share link stops working at once; turn it back on and they come back as shoppers left them.
  • Show prices on shared lists decides whether gift buyers see prices on the shared page.
  • Let visitors mark items as purchased lets anyone with the link mark an item as bought, so two people don't buy the same present.
  • Let shoppers add a photo to a saved item lets a signed-in shopper put their own photo on something they saved, shown in place of the product image on their list and the shared page.
  • Count shared lists as referrals credits a list's owner with a loyalty referral when a visitor from their list buys something from it. Off by default. See Referrals.

See Sharing and gift purchases for how the shared page works and who can see what.

Alerts

Cascade can email a shopper when a saved item drops in price or comes back in stock. Both are off until you turn them on under Settings → Wishlists. See Wishlist alerts.

In the dashboard

Wishlists lists every saved list. Filter it, sort it, and export what you're looking at. Open a list to see its items, who owns it, whether it's shared and what has been bought.

A wishlist opened in the dashboard, showing its owner, share link, items and purchases

The list's name and items belong to the shopper, so you change them from the storefront or with an import, not by hand. You can change whether a list is shared, replace its link, and keep your own notes on it.

Next steps

For developers

The three wishlist embeds (data-cascade-add-to-wishlist, data-cascade-wishlists, data-cascade-wishlists-modal) and the customer attributes they need are documented in Storefront widgets. Additional notes:

  • data-cascade-wishlists-modal-label changes the modal's button label.
  • The value of data-cascade-add-to-wishlist is the product slug. On Shopify that is the product handle: <div data-cascade-add-to-wishlist="{{ product.handle }}"></div>. The widget works for guests, so don't wrap it in {% if customer %}.
  • Guest saves keep a display snapshot of the product in localStorage. Supply it with data-cascade-product-title, data-cascade-product-image, data-cascade-product-price and data-cascade-product-url on the save button. The snapshot is captured at save time and not updated.
  • When the customer attributes appear, the widget claims browser lists through POST /widgets/wishlists/claim and clears the browser copy. With several lists allowed, each browser list becomes a wishlist (a clashing name gets a numbered suffix); with one list, the shopper is asked first and items are merged into it. The claim is all-or-nothing: on any failure the browser copy is kept.
  • Widgets read multipleWishlists on every widget API wishlist response.
  • Gift purchases from your own systems: POST /wishlists/{id}/items/{itemId}/purchases records one (hidden from the list's owner), GET reads the full picture, DELETE clears every purchase on the item. Changes are written to the audit trail.
  • shareToken and shareUrl are on the API wishlist response and are deliberately left out of exports.
  • Availability for back-in-stock alerts can be set on a product import with an available column (true/false) on the variant row. An absent column or empty cell keeps the stored value.