Skip to main content
Guides

Shopify Wishlist Without an App: How to Build One (and Why You Probably Shouldn't)

Published June 15, 2026 11 min read
Shopify wishlist without an app, DIY custom code vs free wishlist app comparison

Summarize this post in AI:

ChatGPT Claude

If you’re researching how to add a Shopify wishlist without an app, you’ve probably hit one of two motivations: you don’t want to install another app, or you assume DIY will be cheaper. Both are reasonable. Both are usually wrong once you do the math.

This post walks through the actual DIY approach honestly, covers the limits, and explains when it’s worth installing a free wishlist app instead. We make a free wishlist app (Magic Wishlist), so we have a horse in this race, but the analysis below is the same one we’d give a friend.

Quick answer: You can add a basic Shopify wishlist without an app by writing custom Liquid sections and JavaScript that store items in browser localStorage. It costs 20–40 hours of developer time, breaks on theme updates, has no recovery emails, no analytics, and no cross-device sync. A free wishlist app gives you all of that in 1 minute for $0. The DIY route only makes sense in narrow cases (in-house developer capacity, heavily customized themes, or unusual B2B requirements).

What is a Shopify wishlist without an app?

A Shopify wishlist without an app is wishlist functionality you build into your store using custom Liquid sections, JavaScript, and browser localStorage, instead of installing a third-party wishlist app from the Shopify App Store. Shoppers can save favorite products and view them on a custom wishlist page, but the experience stops there.

A custom-coded wishlist is frontend-only. Without a backend database, you don’t get the features that make wishlists drive customer retention: automated recovery emails, variant-level back in stock alerts, cross-device sync, or analytics. Those features all require something to listen for events server-side, which is what wishlist apps do.

Most Shopify themes, including Dawn, Sense, Craft, Refresh, Studio, and Origin, don’t ship with native wishlist functionality, so a custom wishlist means custom Shopify development on top of the theme.

What “without an app” actually means

Shopify doesn’t ship a native wishlist feature. There’s no setting in the admin labeled “wishlist.” So “adding a Shopify wishlist without an app” means one of these:

  1. DIY code in your theme. Write Liquid sections, JavaScript, and a custom /pages/wishlist page that store saved items in browser localStorage.
  2. Hire a Shopify developer to do the same DIY work for you.
  3. Use a feature that’s close enough (like a draft cart or customer account saved items) and pretend it’s a wishlist.

We’ll cover all three.

Option 1: Build it yourself in theme code

This is the path most people mean when they say “without an app.”

What you’d build:

  • A heart button (Liquid section) added to the product card template and product page
  • JavaScript that listens for clicks, reads and writes a localStorage array of product IDs and variant IDs
  • A custom Liquid page (/pages/wishlist) that reads the localStorage array and renders the saved products
  • A small badge counter showing how many items are saved
  • Optional: a way to share the wishlist (URL with the IDs encoded)

What you’d skip (because it requires a backend):

  • Recovery emails (any kind)
  • Cross-device sync, a save on phone won’t show on desktop
  • Guest-to-account merge, when a guest signs in, their saved items disappear unless you hand-roll the migration
  • Variant-level back in stock alerts
  • Price drop alerts
  • Analytics on save volume or wishlist-attributed revenue
  • Admin controls, you can’t easily see top saved items in your admin

Time investment: 20–40 hours for a Shopify developer to build it cleanly. Less if you have working examples to copy; more if you want it polished.

Cost: $2,000–$8,000 at typical agency rates for the initial build. Plus ongoing maintenance every time the theme updates.

Maintenance burden: the killer. Custom theme code breaks on theme upgrades. Every time Shopify pushes a new theme version, every time a designer touches the theme, every time you switch themes seasonally, the wishlist code needs review and often patching. Most stores that go DIY abandon the wishlist within 6–12 months because of this.

Option 2: Hire a developer to build the same thing

Same DIY approach but you’re outsourcing the build. Cost: $2,000–$8,000 for the initial build. Ongoing: $50–$200/month for theme updates and bug fixes.

This is sometimes the right call if:

  • You have a heavily customized Shopify theme outside what off-the-shelf apps support
  • You have specific requirements that no wishlist app covers (rare)
  • You’re building a B2B store with unusual workflows

In every other case, a free wishlist app is faster, more capable, and cheaper.

Option 3: Use a “wishlist substitute”

A few patterns merchants try as workarounds. None of them are great.

Draft carts. Tell customers to add items to cart but not check out. Shopify keeps the cart for 14 days. Why this fails: the customer can only have one cart at a time, the cart isn’t a “wishlist” in their mental model, and the moment they actually want to buy something else they’ll clear the cart.

Customer account saves. Some Shopify themes have a “save for later” feature inside customer accounts. Why this fails: requires a customer account (kills 70–80% of save volume), no recovery emails, no alerts, no variant tracking.

Email a list. Some merchants suggest customers email themselves the products they like. Why this fails: nobody does it. Self-emailing is a workflow tax that breaks the moment a shopper has to actually do it.

None of the substitutes give you what a real wishlist does: tracked saves with automated follow-up that converts.

Shopify wishlist without an app vs wishlist app

A side-by-side, no spin.

DimensionCustom code (no app)Wishlist app (free, e.g. Magic Wishlist)
Setup cost20–40 dev hours, or $2,000–$8,000 outsourced$0, install in 1 minute
Ongoing cost$50–$200/mo for theme update maintenance$0/mo, forever
Recovery emailsNone (requires a backend)4 types built in: abandonment, price drop, back in stock, low stock
Variant-level alertsNot possiblePer-variant precision (size, color, style)
Cross-device synclocalStorage only, phone saves don’t appear on desktopYes, persists across devices
Guest-to-account mergeManual migration requiredAutomatic on sign-in
AnalyticsNoneTop saved products, recovery rates, attributed revenue
Theme update safetyBreaks on theme updatesOnline Store 2.0 app blocks, isolated from theme code
Integrations (Klaviyo, GA4, Meta Ads)Build each yourselfOne-click connect, included free
Wishlist sharingURL-encoded IDs (basic)Link, email, WhatsApp, Facebook, X (5 channels)
Maintenance burdenOngoing, you own every bugNone, app handles updates

For 95% of Shopify stores, a free wishlist app delivers more wishlist functionality, faster, at lower total cost than custom code. For our full breakdown of what makes a good wishlist app, see the 9-point checklist.

The honest cost comparison

Side-by-side over 12 months for a typical Shopify store doing $20K/month in revenue:

ApproachSetup costOngoing costTime to set upFeatures
DIY in-theme code20–40 dev hoursTheme update bugs, ~$50–$200/mo if outsourced1–2 weeksSave + view only
Hired developer$2,000–$8,000$50–$200/mo maintenance2–4 weeksSave + view only
Paid wishlist app$0 install$15–$100/mo5 minFull feature set
Magic Wishlist (free app)$0 install$0/mo, forever5 minFull feature set

For most stores, the free app is the cheapest and the most capable option. The DIY appeal is intuitive but the math doesn’t work out.

When DIY might actually be the right call

To be fair, here are the narrow cases where building it yourself makes sense:

  1. You have a developer on staff with capacity, and you specifically want full control over the wishlist UX (uncommon design requirements, custom interactions).
  2. You’re on Shopify Plus with a heavily customized theme that doesn’t support app blocks cleanly, and adding any app would require significant integration work anyway.
  3. You have a unique B2B requirement like account-tier-specific wishlists, multi-list-per-customer workflows, or B2B approval flows that no wishlist app covers.
  4. You’re learning to code and want a project. (Honest answer. A wishlist is a decent intermediate Shopify development project.)

If any of those apply, the DIY guide below gets you started. If none apply, install a free wishlist app and skip the headache.

A barebones DIY wishlist (if you really want to)

If you want to try the DIY approach as a learning exercise or because one of the cases above applies, here’s the simplest possible version.

Step 1: Add a heart button to the product page. In your theme, edit the product template (sections/main-product.liquid in Dawn) and add:

<button class="wishlist-btn" data-product-id="{{ product.id }}" data-variant-id="{{ product.selected_or_first_available_variant.id }}">
  ♡ Save
</button>

Step 2: Add JavaScript to handle clicks. In assets/wishlist.js:

document.querySelectorAll('.wishlist-btn').forEach(btn => {
  btn.addEventListener('click', () => {
    const variantId = btn.dataset.variantId;
    let wishlist = JSON.parse(localStorage.getItem('wishlist') || '[]');
    if (!wishlist.includes(variantId)) {
      wishlist.push(variantId);
      localStorage.setItem('wishlist', JSON.stringify(wishlist));
      btn.textContent = '♥ Saved';
    }
  });
});

Include it in your theme.liquid: <script src="{{ 'wishlist.js' | asset_url }}" defer></script>

Step 3: Create a wishlist page. In Shopify Admin → Online Store → Pages, create a page called “Wishlist” with the URL /pages/wishlist. Assign it a custom template (page.wishlist.liquid) that uses Shopify’s Storefront API to fetch products by the variant IDs stored in localStorage.

This is where the work explodes. Fetching products by variant ID requires the Storefront API, which needs an API token, which needs a private app, which means you’re already 80% of the way to managing an app yourself.

If you’re nodding along at this point, you’re about to confirm what most merchants discover: the cost of going DIY is mostly hidden until you start building.

Just install a free wishlist app

For 95% of Shopify stores, installing Magic Wishlist gets you a complete working wishlist in 1 minute, with all the features the DIY approach skips, recovery emails, variant alerts, analytics, cross-device sync, at no cost.

The reason we built Magic Wishlist as fully free: most merchants don’t have the budget or appetite for paid wishlist apps, and the DIY alternative is much more expensive than it looks. Removing the cost barrier and the engineering cost lets stores actually run wishlist recovery, which most merchants weren’t doing before.

For deeper guides on getting more from wishlist functionality once it’s installed:

The realistic answer

You can add a Shopify wishlist without an app. It just doesn’t make economic sense for most stores. The DIY approach costs more in developer time than a paid wishlist app costs per year, lacks the recovery email automation that makes wishlists revenue-generating, and breaks on theme updates.

The right choice for most Shopify stores is a free wishlist app. The right choice for narrow edge cases (heavy theme customization, in-house developer capacity, unusual B2B workflows) is custom code. The wrong choice for almost everyone is paying for a wishlist app when free options match feature-for-feature.

Install Magic Wishlist free. One minute. Free forever. Every wishlist functionality feature included.

Frequently Asked Questions

What is a Shopify wishlist without an app?

A Shopify wishlist without an app is a wishlist feature built using custom Liquid sections, JavaScript, and browser localStorage instead of installing a third-party wishlist app. It covers the basic save-and-view experience but lacks recovery emails, variant-level back in stock alerts, cross-device sync, analytics, and admin controls. Most stores that go this route end up replacing it with a free wishlist app within a few months.

Can you really add a Shopify wishlist without any app?

Yes, technically. You can write custom Liquid sections and JavaScript that store saved items in browser localStorage, plus build a custom /pages/wishlist page. It works for basic save-and-view, but it lacks recovery emails, variant-level alerts, cross-device sync, and analytics. Most stores using this approach abandon it within a few months.

Is custom code or a wishlist app better for Shopify?

For most Shopify stores, a free wishlist app is better than custom code. Custom code costs 20–40 hours of developer time ($2,000–$8,000 at typical agency rates), breaks on theme updates, and ships without recovery emails or analytics. A free wishlist app like Magic Wishlist installs in 1 minute, includes the full feature set (variant-level alerts, four recovery email types, Klaviyo and 8 other integrations, cross-device sync), and never breaks on theme updates because it uses Online Store 2.0 app blocks.

How long does it take to build a wishlist from scratch on Shopify?

A working DIY wishlist takes a Shopify developer 20–40 hours. That covers theme code, save button, wishlist page, and basic cross-page persistence. Adding recovery emails, analytics, and admin controls multiplies that significantly. Most stores end up at 60+ developer hours before they have a complete system.

Will a custom wishlist break when I update my Shopify theme?

Often, yes. Custom Liquid sections and JavaScript live inside your theme files. When you update the Shopify theme (new version from Shopify, custom designer changes, switching themes seasonally), the wishlist code can break and needs review. Wishlist apps that use Online Store 2.0 app blocks don't have this problem because they live in sandboxed slots that stay isolated from theme updates.

What are the limitations of a Shopify wishlist without an app?

A Shopify wishlist without an app has six main limitations: no recovery emails (abandonment, price drop, back in stock, low stock), no cross-device sync (a save on mobile doesn't appear on desktop), no guest-to-customer-account merge on sign-in, no variant-level back in stock alerts, no analytics on save volume or wishlist-attributed revenue, and no admin controls to see top saved products. Each limitation is a backend feature that requires a database, which is why apps exist.

What's the cheapest way to add a wishlist to Shopify?

A free wishlist app is cheaper than DIY when you factor in developer time. A custom-coded wishlist costs 20–40 hours of developer work ($2,000–$8,000 typical agency rate) plus ongoing maintenance, versus free apps like Magic Wishlist that take 1 minute to install and cost nothing ongoing.

Can I add a wishlist using only Shopify's built-in features?

No. Shopify does not have a native wishlist feature in any plan, including Shopify Plus. The closest built-in option is letting customers create accounts and save items to a draft cart, but it isn't a wishlist in the conventional sense. A wishlist requires either custom code or a wishlist app.

Ready to recover lost shoppers?

Try Magic Wishlist Free