
Verified Delivery Reviews for WooCommerce — reviews only after the parcel is received
The review request goes to the buyer not right after checkout but once the parcel has actually been picked up: by the Nova Poshta, Ukrposhta, Meest or ROZETKA Delivery waybill status from our shipping modules, and by the order status for pickup and courier orders. One e-mail per order in the buyer’s language, five stars under every item, a form without an account, a “The buyer received the item · Nova Poshta” mark next to the review, one-click unsubscribe and a report. The base version is free; Pro adds Viber/SMS via TurboSMS, a Telegram bot, photos in reviews, your own texts and CSV.
- Compatibility
- WordPress 6.2+ · WooCommerce 7.0+ (tested on WordPress 7.1 and WooCommerce 11.1) · PHP 7.4+ (live run on PHP 8.3) · HPOS and legacy order storage · classic and block checkout · waybill statuses from our Nova Poshta, Ukrposhta, Meest and ROZETKA Delivery modules
- Licence
- one site, annual
- Trial
- 7 days, no card, one per site
- Updated
- September 2026
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
What it looks like

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — one site
Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. If our server is unreachable, Pro keeps working for 14 more days. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
WordPress 6.2+ and WooCommerce 7.0+. Live run on WordPress 7.1 and WooCommerce 11.1, with HPOS and with legacy order storage, on the classic and block checkout.
PHP 7.4+. Live run on PHP 8.3; under PHP 7.4 the code syntax was checked.
Waybill statuses come from our WooCommerce shipping modules: Nova Poshta, Ukrposhta, Meest, ROZETKA Delivery. Other developers’ modules are not read — use the order-status trigger for them.
Status updates. If the carrier module refreshes statuses by hand only, the request goes out after such a refresh. Ukrposhta is polled by the plugin itself with the key of your Ukrposhta module — at most once per 6 hours per parcel.
Cron. A run every 15 minutes via WP-Cron. If WP-Cron is disabled on your hosting, a system cron is required — otherwise no requests go out.
E-mail language is taken from the order (WPML, Polylang for WooCommerce) or from the buyer’s account language. The WordPress language pack for that language must be installed — the same as for WooCommerce’s own e-mails. Polylang without Polylang for WooCommerce under HPOS was not tested.
Caching. The form page is served with no-store and noindex headers; we have not tested it with specific caching plugins.
Version history
The Pro version now activates next to an active free copy from WordPress.org without a fatal error.
First public release: review request after a confirmed delivery (Nova Poshta, Ukrposhta, Meest, ROZETKA Delivery, order status), one request per order, a pause per buyer, quiet hours,…
Frequently bought with Verified Delivery Reviews for WooCommerce
4 modules in one order — 40% cheaper than separately


Nova Poshta Premium — a Nova Poshta module for OpenCart 2.3, 3.x and 4.x

LiqPay — Card Payments for OpenCart 2.3, 3.x and 4.x

Telegram notifications and Viber/SMS for customers for OpenCart
Full module description
Verified Delivery Reviews for WooCommerce is a plugin that asks for a review when the buyer already has the item in hand. On marketplaces a seller review can be left right after checkout, before anything arrives — and sellers spend months disputing ratings for cancelled orders. On your own store you can do better: ask only those who picked up the parcel, and show it next to the review.
The plugin watches the waybill status that our shipping modules already keep — Nova Poshta, Ukrposhta, Meest and ROZETKA Delivery — and a few days after the parcel is received it sends one e-mail per order with five stars under every item. A click on a star opens a short form without an account, and the published review carries the mark “The buyer received the item · Nova Poshta”. Orders without a waybill — pickup, courier — go by the order status.
Running OpenCart? The same logic exists for OpenCart 4.x, 3.x and 2.3 — Verified Delivery Reviews for OpenCart, with a perpetual licence.
What the buyer sees
- One e-mail once the parcel is home. By default 3 days after delivery, so the buyer has time to try the item; nothing is sent at night (21:00 to 9:00).
- Stars right in the e-mail. Five stars under every item: a click opens the form with that rating chosen. The e-mail uses your store’s WooCommerce e-mail design and the order language.
- Form without an account. A personal link valid for 60 days: stars, a few words about the item and the name to show. The text is optional — the rating is enough (or make the text required).
- “Do not ask me for reviews”. A link in every e-mail; unsubscribing takes a button on the page, so mail scanners that open links do not unsubscribe anyone. For Gmail and Yahoo the e-mail supports One-Click Unsubscribe.
The review is a regular WooCommerce review with a rating and the standard “verified owner” flag. The plugin adds the green “The buyer received the item” mark next to it and, if you like, the carrier. The product rating is recalculated right after approval.
What the admin gets
WooCommerce → “Review requests” (settings) and “Review report”.
- Trigger. “Waybill status, orders without a waybill — by order status” (default), “waybill status only” or “order status only”. Carriers are ticked on, with a note whether their module was found.
- Timing and anti-spam. Delay after delivery, quiet hours, a pause per buyer, skipping already reviewed items, a minimum order total, how long the link stays valid, how many requests per run.
- Form and publishing. A clean page with the store name or a page of your theme with the shortcode; moderate all, auto-publish 4–5 stars or everything; your own mark text.
- Test e-mail to yourself. The button builds the e-mail from the latest order and sends it to the admin address — nothing goes to the buyer.
The order box. Where the request stands (scheduled, sent, reviewed, skipped and why), the “The buyer received it — schedule” and “Send now” buttons, and a tracking number field for Ukrposhta.
Report. Parcels received, requests sent, forms opened, reviews left, the average rating — by source (Nova Poshta, ROZETKA, order status, marked by a manager) and with the reasons a request was not sent: the buyer unsubscribed, the parcel was not received, the buyer was asked recently. Below — the latest orders with the waybill and state.
Pro: Viber, SMS, Telegram, photos and your own texts
- Viber / SMS via TurboSMS. Your turbosms.ua account and your approved sender names: Viber first, SMS if the number has no Viber. Messages are paid to TurboSMS at its rates.
- Telegram. On the “Thank you for your order” page the buyer taps “Get it in Telegram” and starts your bot — the request arrives in the chat with a “Leave a review” button. /stop or blocking the bot unsubscribes. The bot cannot write to people who never started it: that is how Telegram works.
- Photos in reviews. Up to 3 photos per item (JPEG, PNG, WebP, adjustable size limit) — into the media library, with a gallery under the review once published. Files are checked by content, not just by extension.
- Your own texts. E-mail subject, heading and text, Viber/SMS and Telegram texts with the variables
{customer_name},{order_number},{carrier},{review_link}. An empty field means the built-in text in the order language.
How it works — step by step
- Every 15 minutes the plugin looks at recent orders: was the parcel received according to the waybill of our shipping module, did the order get “your” status, did a manager click “The buyer received it”.
- Delivery confirmed — the order gets a request with a send date: the delay after delivery, quiet hours. Refused, returned or cancelled — the request is skipped with a reason.
- Before sending, the plugin checks again: the order is not cancelled, the buyer has not unsubscribed and was not asked in the last 30 days, the order still has unreviewed items.
- The e-mail (in Pro also Viber/SMS and Telegram) goes out in the order language. One request per order is enforced by a unique record in the database, so even two cron runs at once produce no duplicate.
- The buyer opens the form by the personal link, sets the stars and writes a review — it is saved as a WooCommerce review with the rating, the “verified owner” flag and the delivery source.
- You moderate as usual: Products → Reviews. After approval — the “The buyer received the item” mark and a new product rating.
Under the hood
- Read-only. The plugin reads the tables and meta of our shipping modules and changes nothing in them. For future modules there is a hook:
do_action( 'catcode_shipment_delivered', $order_id, $carrier, $ttn, $delivered_at ). - One request per order — a unique key in its own
wp_vdrwc_requeststable and an atomic “claim” of the request before sending, so parallel cron runs cause no duplicates. - Privacy. The link is a random token; only its hash is stored. E-mails and phone numbers for the pause and unsubscribe are stored only as hashes in
wp_vdrwc_optout. There is privacy policy text and a WordPress personal data eraser. - Regular reviews. Reviews are WooCommerce comments with
ratingandverified; the mark is added by a filter on the review text, so it works in classic and block themes. Remove the plugin — reviews and ratings stay. - For developers. Filters
vdrwc_novaposhta_received_codes,vdrwc_rozetka_received_statuses,vdrwc_order_locale,vdrwc_badge_html; actionsvdrwc_request_sent,vdrwc_review_saved,vdrwc_unsubscribed. - Uninstall. Removes the tables, settings and cron jobs; reviews and photos stay on the site.
How to install
- Download the free version
verified-delivery-reviews-for-woocommerce-1.0.1.zipwith the button at the top of the page (or the Pro archive from your account after payment) and install it: Plugins → Add New → Upload Plugin. - Open WooCommerce → “Review requests”: check the trigger, tick the carriers and the order status that means “received”, save.
- Click “Send a test e-mail to me” to see what the buyer gets.
- Optionally create a page with the
[verified_delivery_review_form]shortcode and pick it as the “Form page” — the form will open inside your theme. - For Pro: paste the licence key from the e-mail after payment or click “Try Pro for 7 days” in the “Pro licence” section.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Do I need your shipping modules?
For the “waybill status” trigger, yes: the plugin reads the statuses our Nova Poshta, Ukrposhta, Meest and ROZETKA Delivery modules already store and changes nothing in them. Without them the “order status” mode works: the request goes out when you set the order to, say, “Completed”.
My carrier module refreshes waybill statuses by hand only.
Then the request goes out after the next such refresh. Automatic status tracking is in the Pro versions of our shipping modules; Verified Delivery Reviews does not poll carriers itself (except Ukrposhta — see below).
What about Ukrposhta?
The status is read with the key stored in our Ukrposhta module. The tracking number is taken from the order, and if it is not there, the manager types it into the “Review request” box on the order page. Handed over — a request; returned to the sender — none.
Will customers who bought a year ago get a flood of e-mails?
No. Orders placed before the installation are skipped; you can deliberately include the last N days.
A buyer orders every week — will they get an e-mail each time?
No. One request per order and a pause per buyer (30 days by default, e-mail and phone are compared). Items they already reviewed are left out of the request.
Can someone leave a review without registering?
Yes. The link in the e-mail is personal and valid for 60 days: the buyer sees their items, sets the stars, writes a few words and the name to show. No account needed.
Are reviews published at once?
Your choice: everything waits for moderation, 4–5 stars at once, or everything at once. Reviews with words from your WordPress moderation or disallowed lists always wait for moderation.
What happens when the Pro trial ends?
Viber/SMS, Telegram, photos and custom texts switch off, the report goes back to 30 days. E-mails, the form, the mark and unsubscribe keep working.
How much is it?
The base version is free. Pro is UAH 990 a year, a longer term is cheaper: 2 years — UAH 1,880, 5 years — UAH 3,710. No auto-renewal. A purchased licence keeps the Pro features for good; the term covers updates and support. Viber/SMS messages are paid to TurboSMS at its rates.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—