Trustoo Product Reviews App

Trustoo Product Reviews App Logo

Built for Shopify

Trustoo Product Reviews App

Rating

83

%

Recommended

(

3

reviews

)

Pricing

Free plan available

Developer

Launched

13-Jan-22

Trustoo Product Reviews App Logo

Built for Shopify

Trustoo Product Reviews App

Rating

83

%

Recommended

(

3

reviews

)

Pricing

Free plan available

Developer

Launched

13-Jan-22

Trustoo Product Reviews App Logo

Built for Shopify

Trustoo Product Reviews App

Rating

83

%

Recommended

(

3

reviews

)

Pricing

Free plan available

Developer

Launched

13-Jan-22

TrustWILL(formerly Trustoo): collect photo&video reviews, engage customers, and build brand trust.

TrustWILL from CWILL is a review solution (formerly Trustoo from Channelwill) that helps merchants leverage photo & video reviews to build customer trust and showcase authentic feedback. Reviews appear in customizable widgets aligned with your brand, turning customer experiences into visible social proof. Data-driven insights and AI analysis reveal review performance and impact on conversions. 24/7 multilingual support ensures global usability.

Categories:

Email marketing, Product reviews

Integrations:

Checkout, Customer accounts, Shopify Flow, Shopify Admin, Aliexpress, DSers, LOOX, Pagefly, product reviews gratis, reviews.io

Checkout, Customer accounts, Shopify Flow, Shopify Admin, Aliexpress, DSers, LOOX, Pagefly, product reviews gratis, reviews.io

Languages:

French, English, Spanish, Italian, Japanese, Portuguese (Brazil), Chinese (Simplified), German, Dutch, Portuguese (Portugal), Czech, Danish, Norwegian (Bokmål), Polish, Finnish, Swedish, Turkish, Thai, Chinese (Traditional), Korean

French, English, Spanish, Italian, Japanese, Portuguese (Brazil), Chinese (Simplified), German, Dutch, Portuguese (Portugal), Czech, Danish, Norwegian (Bokmål), Polish, Finnish, Swedish, Turkish, Thai, Chinese (Traditional), Korean

Filter Reviews

Operator reports

83

%

Recommended

(

3

reviews

)
Photo of Reviewer Gabriele S.

Gabriele S.

Role:

Owner

Category:

Health & Beauty

Shopify Plan:

Plus

Overall satisfaction

Neutral

Jun 25, 2026

Years of use:

2-3 years

Relationship with this product:

I used it, but I didn't influence the buying decision

Still use this tool:

Yes

Importance:

Valuable but not essential

What exceeded expectations

Simplicity to import reviews and to choose what to put live and what not .

What was disappointing

I would like an app that positions reviews in a more strategic way and could have more features for have reviews in other parts of the website

Photo of Reviewer Gabriele S.

Gabriele S.

Role:

Owner

Category:

Health & Beauty

Shopify Plan:

Plus

Overall satisfaction

Neutral

Jun 25, 2026

Years of use:

2-3 years

Relationship with this product:

I used it, but I didn't influence the buying decision

Still use this tool:

Yes

Importance:

Valuable but not essential

What exceeded expectations

Simplicity to import reviews and to choose what to put live and what not .

What was disappointing

I would like an app that positions reviews in a more strategic way and could have more features for have reviews in other parts of the website

SC

Samantha C.

Role:

Owner

Category:

Health & Beauty

Shopify Plan:

Plus

Overall satisfaction

Very Satisfied

Nov 25, 2025

Years of use:

1-2 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 is a great integration with Shopify. I’ve used a few other review ones and this one works the best so far.

What was disappointing

Nothing that I can think of at this time that does not meet expectations.

SC

Samantha C.

Role:

Owner

Category:

Health & Beauty

Shopify Plan:

Plus

Overall satisfaction

Very Satisfied

Nov 25, 2025

Years of use:

1-2 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 is a great integration with Shopify. I’ve used a few other review ones and this one works the best so far.

What was disappointing

Nothing that I can think of at this time that does not meet expectations.

Photo of Reviewer Sebastien L.

Sebastien L.

Role:

Owner

Category:

Jewelry & Accessories

Shopify Plan:

Plus

Overall satisfaction

Very Satisfied

Oct 30, 2025

Years of use:

Less then 1 year

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

The app is very simple to use and also there a lot of free options for the free plan.

What was disappointing

The translation to the Shopify store theme sometimes is not correct.

Photo of Reviewer Sebastien L.

Sebastien L.

Role:

Owner

Category:

Jewelry & Accessories

Shopify Plan:

Plus

Overall satisfaction

Very Satisfied

Oct 30, 2025

Years of use:

Less then 1 year

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

The app is very simple to use and also there a lot of free options for the free plan.

What was disappointing

The translation to the Shopify store theme sometimes is not correct.

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: "" }