Verified actually means verified
The badge comes from a token tied to a real order, never from a form field. Tokens are stored hashed, so a leaked database cannot be replayed into fake reviews.
Avisly invites your customers after they order, proves the review came from a real buyer, and renders it on your pages — not on someone else’s. The data stays in your database. So does the search traffic.
4.8/5
128 verified reviews
Avisly
Delivered in 24 hours, accepted without a question.
Flawless work, one day later than promised.
How it works
A Shopify webhook — or your own code after delivery — tells Avisly the order is real.
A personal, single-use token. That token, and nothing else, is what makes a review verified.
On your domain, on your product pages, with the markup that feeds your Google stars.
Demo
This block is not a screenshot. It is the Avisly widget, loading live from the API on this very server.
Set NEXT_PUBLIC_AVISLY_DEMO_KEY to a tenant’s public key to render the live widget here.
Everything you paste
<div data-avisly
data-key="pk_live_…"></div>
<script src="https://avisly.example/avisly.js"
async></script>What matters
The badge comes from a token tied to a real order, never from a form field. Tokens are stored hashed, so a leaked database cannot be replayed into fake reviews.
Three MongoDB collections you own. No third-party domain, no export to negotiate, no hostage situation if you leave.
Reviews render on your pages, with per-product AggregateRating. Markup is only emitted once at least three reviews are actually visible.
One div, one script. It renders in a shadow root, so a merchant's theme cannot break it and its styles never leak into their page.
Every review takes a public response. Negative reviews get answered, not deleted.
Every site gets its own keys. One deployment serves your store and every merchant you sell it to.
Shopify
No OAuth, no App Store, no partner account. An orders/paid webhook triggers the invitations; a theme block renders the reviews.
Connect the store
Register the .myshopify.com domain and generate a webhook secret.
Create the webhook
Settings → Notifications → orders/paid, pointing at your endpoint.
Paste the block
Into main-product.liquid, with the product handle.
sections/main-product.liquid
<div data-avisly
data-key="pk_live_…"
data-product="{{ product.handle }}"
data-limit="5"></div>The X-Shopify-Hmac-Sha256 signature is verified against the raw request body. A retried delivery never creates a duplicate.
Pricing
The same engine underneath every tier. Paying moves the hosting and the upkeep to us — it does not unlock features you already own.
Freeforever
Run it on your own server. No account, no quota, no invoice.
Get the codeYou provide the database and the host.
€9per month
Hosted for you, for a single shop.
Start free for 14 days€29per month
Several shops, or one that is getting busy.
Start free for 14 days€79per month
Agencies and multi-brand groups.
Talk to usSame code as the free tier. You can leave with your data.
Prices exclude VAT. The €250 figure is the published entry price of hosted review platforms at the time of writing; check theirs before comparing, as it varies by volume and contract.
Point MONGODB_URI at a database, run the setup script, and paste two lines into your theme.
Self-hosting needs no account: point MONGODB_URI at a database and run the setup script.