Wishlist Plus

Wishlist Plus Logo

Built for Shopify

Wishlist Plus

Rating

100

%

Recommended

(

2

reviews

)

Pricing

From $29.99/month. Free trial available.

Launched

29-Jul-16

Wishlist Plus Logo

Built for Shopify

Wishlist Plus

Rating

100

%

Recommended

(

2

reviews

)

Pricing

From $29.99/month. Free trial available.

Launched

29-Jul-16

Wishlist Plus Logo

Built for Shopify

Wishlist Plus

Rating

100

%

Recommended

(

2

reviews

)

Pricing

From $29.99/month. Free trial available.

Launched

29-Jul-16

Boost sales with an easy-to-set-up Wishlist for all customer touchpoints. Top integrations included.

Wishlist Plus enables your shoppers to save favorites and return to them later. Comes with powerful APIs to customize wishlists and integrates with leading email services to send price drop and restock alerts. Helps shoppers organize products into multiple wishlists and share them via emails, SMS, and socials. Supports anonymous wishlists. Comes with detailed reports on shopper behavior. Includes a new Customer Accounts extension for easy tracking of all wishlists and browsing activity.

Categories:

Wishlists, Selling in person - Other

Integrations:

Checkout, Customer accounts, Shopify POS, Shopify Flow, Shopify Admin, BlueCore-Bloomreach-Ometria, Klaviyo - Yotpo - Mailchimp, Listrak - ReSci - DotDigital, Postscript-Attentive-Twillio, Sailthru-Omnisend-Hubspot, Tapcart - Stikky - PageFly

Checkout, Customer accounts, Shopify POS, Shopify Flow, Shopify Admin, BlueCore-Bloomreach-Ometria, Klaviyo - Yotpo - Mailchimp, Listrak - ReSci - DotDigital, Postscript-Attentive-Twillio, Sailthru-Omnisend-Hubspot, Tapcart - Stikky - PageFly

Languages:

English, German, French, Italian, Spanish, Japanese, Polish

English, German, French, Italian, Spanish, Japanese, Polish

Filter Reviews

Operator reports

100

%

Recommended

(

2

reviews

)
Photo of Reviewer Marcus O.

Marcus O.

Owner

Fashion & Apparel

Plus

Overall satisfaction

Very Satisfied

Apr 21, 2025

Years of use:

1-2 years

Relationship with this product:

I both used it and influenced the buying decisions

Still use this tool:

No

Importance:

Valuable but not essential

What exceeded expectations

It was super easy to get installed, implemented and up and running.

What was disappointing

The lack of customizations has hindered some progress in our theme development, but not a blocker on current projects.

Photo of Reviewer Marcus O.

Marcus O.

Owner

Fashion & Apparel

Plus

Overall satisfaction

Very Satisfied

Apr 21, 2025

Years of use:

1-2 years

Relationship with this product:

I both used it and influenced the buying decisions

Still use this tool:

No

Importance:

Valuable but not essential

What exceeded expectations

It was super easy to get installed, implemented and up and running.

What was disappointing

The lack of customizations has hindered some progress in our theme development, but not a blocker on current projects.

Photo of Reviewer Will B.

Will B.

Owner

Books, Music & Video

Plus

Overall satisfaction

Very Satisfied

Apr 15, 2025

Years of use:

More then 3 years

Relationship with this product:

I both used it and influenced the buying decisions

Still use this tool:

Yes

Importance:

Valuable but not essential

What exceeded expectations

This application is the best we could find in offering a wishlist feature on our website. They even went above and beyond in helping us install a bespoke design feature on our website and link it to the app.

What was disappointing

In the first couple years there were some performance issues with the application, but they've improved a lot and we longer get the same errors.

Photo of Reviewer Will B.

Will B.

Owner

Books, Music & Video

Plus

Overall satisfaction

Very Satisfied

Apr 15, 2025

Years of use:

More then 3 years

Relationship with this product:

I both used it and influenced the buying decisions

Still use this tool:

Yes

Importance:

Valuable but not essential

What exceeded expectations

This application is the best we could find in offering a wishlist feature on our website. They even went above and beyond in helping us install a bespoke design feature on our website and link it to the app.

What was disappointing

In the first couple years there were some performance issues with the application, but they've improved a lot and we longer get the same errors.

Related Apps

import * as React from "react" type Props = { name: string slug: string description: string image: string developer: string categories: string pricing: string launchedAt: string dateModified: string ratingValue: number ratingCount: number faqQ1: string faqA1: string faqQ2: string faqA2: string faqQ3: string faqA3: string faqQ4: string faqA4: string faqQ5: string faqA5: string } export function SchemaMarkup(props: Props) { const { name, slug, description, image, developer, categories, pricing, launchedAt, dateModified, ratingValue, ratingCount, faqQ1, faqA1, faqQ2, faqA2, faqQ3, faqA3, faqQ4, faqA4, faqQ5, faqA5 } = props const scriptContent = ` (function () { var ORIGIN = window.location.origin; var SAT = { "Very Satisfied": 100, "Neutral": 50, "Not Satisfied": 0 }; var AGG_NOTE = "Percentage of vetted Shopify merchants and agency operators who recommend this app, based on first-party reviews collected by app store research."; function read(root, key) { if (!root) return ""; var el = root.querySelector('[data-k="' + key + '"]'); return el ? el.textContent.trim() : ""; } function iso(v) { if (!v) return null; var d = new Date(v); return isNaN(d) ? null : d.toISOString().slice(0, 10); } function notes(text) { return { "@type": "ItemList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": text }] }; } var root = document.getElementById("asr-seo-data"); if (!root) return; var NAME = read(root, "name"); var SLUG = read(root, "slug"); if (!NAME || !SLUG) return; var PAGE_URL = ORIGIN + "/shopify-app-reviews/" + SLUG; function collectReviews() { var out = []; Array.prototype.forEach.call( document.querySelectorAll(".asr-review-seo"), function (n) { var author = read(n, "author"); var pos = read(n, "positive"); var neg = read(n, "negative"); if (!author || (!pos && !neg)) return; var r = { "@type": "Review", "author": { "@type": "Person", "name": author }, "itemReviewed": { "@id": PAGE_URL + "#app" } }; var d = iso(read(n, "date")); if (d) r.datePublished = d; var s = read(n, "satisfaction"); if (s && SAT.hasOwnProperty(s)) { r.reviewRating = { "@type": "Rating", "ratingValue": String(SAT[s]), "bestRating": "100", "worstRating": "0", "alternateName": s }; } if (pos) r.positiveNotes = notes(pos); if (neg) r.negativeNotes = notes(neg); out.push(r); } ); return out; } function buildGraph(reviews) { var app = { "@type": "SoftwareApplication", "@id": PAGE_URL + "#app", "name": NAME, "url": PAGE_URL, "applicationCategory": "BusinessApplication", "operatingSystem": "Web (Shopify)" }; var v; if ((v = read(root, "description"))) app.description = v; if ((v = read(root, "image"))) app.image = v.replace(/&/g, "&"); if ((v = read(root, "developer"))) app.author = { "@type": "Organization", "name": v }; if ((v = read(root, "categories"))) app.keywords = v; if ((v = read(root, "pricing"))) { app.offers = { "@type": "Offer", "price": "0", "priceCurrency": "USD", "description": v }; } if ((v = iso(read(root, "launchedAt")))) app.datePublished = v; if ((v = iso(read(root, "dateModified")))) app.dateModified = v; if (reviews.length) app.review = reviews; var rv = read(root, "ratingValue"); var rc = parseInt(read(root, "ratingCount"), 10); if (reviews.length && rv && rc > 0) { app.aggregateRating = { "@type": "AggregateRating", "ratingValue": String(parseFloat(rv)), "bestRating": "100", "worstRating": "0", "ratingCount": String(rc), "description": AGG_NOTE }; } var graph = [app]; var faq = []; for (var i = 1; i <= 5; i++) { var q = read(root, "faqQ" + i); var a = read(root, "faqA" + i); if (q && a) { faq.push({ "@type": "Question", "name": q, "acceptedAnswer": { "@type": "Answer", "text": a } }); } } if (faq.length) { graph.push({ "@type": "FAQPage", "@id": PAGE_URL + "#faq", "mainEntity": faq }); } graph.push({ "@type": "BreadcrumbList", "@id": PAGE_URL + "#breadcrumb", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": ORIGIN + "/" }, { "@type": "ListItem", "position": 2, "name": "Shopify App Reviews", "item": ORIGIN + "/shopify-app-reviews" }, { "@type": "ListItem", "position": 3, "name": NAME, "item": PAGE_URL } ] }); return graph; } function build() { var reviews = collectReviews(); var old = document.getElementById("asr-jsonld"); if (old && old.dataset.count === String(reviews.length)) return; if (old) old.remove(); var s = document.createElement("script"); s.type = "application/ld+json"; s.id = "asr-jsonld"; s.dataset.count = String(reviews.length); s.textContent = JSON.stringify({ "@context": "https://schema.org", "@graph": buildGraph(reviews) }); document.head.appendChild(s); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", build); } else { build(); } [300, 900, 2000].forEach(function (ms) { setTimeout(build, ms); }); })(); ` return ( <> {/* HIDDEN DIV – provjeri da li je ID tačan */} {/* SCRIPT TAG – OBAVEZNO zatvoren */} </> ) } SchemaMarkup.defaultProps = { name: "Naziv aplikacije", slug: "slug-aplikacije", description: "", image: "", developer: "", categories: "", pricing: "", launchedAt: "", dateModified: "", ratingValue: 0, ratingCount: 0, faqQ1: "", faqA1: "", faqQ2: "", faqA2: "", faqQ3: "", faqA3: "", faqQ4: "", faqA4: "", faqQ5: "", faqA5: "" }