Get in touch
  • WordPress
  • Sales and conversion
  • v1.0.1

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.

Download Free
Pro · one-year licence The more sites, the less each one costs
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
Or all 144 Pro modules with All Access — 4 990 ₴ / year

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.

Feature Free Pro
Request only after delivery: Nova Poshta, Ukrposhta, Meest or ROZETKA Delivery waybill status from our shipping modules ✔ ✔
Orders without a waybill (pickup, courier) — by order status, e.g. “Completed”; modes “waybill, otherwise status”, “waybill only”, “status only” ✔ ✔
Refused, returned or cancelled parcel — no request ✔ ✔
Manager buttons on the order: “The buyer received it — schedule” and “Send now” ✔ ✔
One request per order, a pause per buyer (30 days), quiet hours at night, a delay after delivery ✔ ✔
No e-mails for old orders: only orders placed after installation count ✔ ✔
E-mail in the WooCommerce design in the order language (WPML, Polylang or the account language), 5 stars under every item ✔ ✔
Review form by link without an account, with the rating already chosen; a clean page or a shortcode in your theme ✔ ✔
The review is a regular WooCommerce review with a rating and the “verified owner” flag; the product rating is recalculated ✔ ✔
“The buyer received the item · Nova Poshta” mark next to the review (classic and block themes) ✔ ✔
Form anti-spam: a bot trap, a minimum fill time, a per-IP limit, at most 2 links, your moderation lists ✔ ✔
Publishing: everything moderated, 4–5 stars at once, or everything at once ✔ ✔
“Do not ask me for reviews” in every e-mail + One-Click Unsubscribe for Gmail and Yahoo ✔ ✔
30-day report: received, sent, opened the form, left a review, average rating, why not sent ✔ ✔
E-mails and phone numbers are not stored in plain text — hashes only; privacy policy text and personal data erasure ✔ ✔
Admin and e-mails in Ukrainian, Russian and English ✔ ✔
Report periods 30 days 7 / 30 / 90 / 365 days
Viber with SMS fallback through your TurboSMS account — ✔
Telegram bot: a button on the “Thank you” page, the request arrives in the chat — ✔
Photos in reviews (JPEG, PNG, WebP) with a gallery under the review — ✔
Your own e-mail subject, heading and text with variables — ✔
Report breakdown by channel and CSV export without personal data — ✔

What it looks like

Verified Delivery Reviews review request e-mail and review form on a phone
Phone, 390 px (the store is in Ukrainian). Left — the review request e-mail in the WooCommerce design (in English its heading is “Your parcel has arrived”): the item, five stars and a “Do not ask me for reviews” link. Right — the form after a click on the fourth star: the rating is preselected, the subtitle says “received 24.09.2026 (Nova Poshta)”. An English order gets the e-mail and the form in English. The test store has no product photos, hence the placeholder.
Review on a WooCommerce product page with the “The buyer received the item · Nova Poshta” mark
An approved review on the product page (Twenty Twenty-Five theme): WooCommerce “verified owner” plus the green “The buyer received the item · Nova Poshta” mark. The product rating at the top is recalculated.
Verified Delivery Reviews review form inside the store theme via a shortcode
The same form inside your theme: a page with the [verified_delivery_review_form] shortcode selected in the settings. Every item is its own card with stars and a text field.

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

v1.0.1 Current September 2026

The Pro version now activates next to an active free copy from WordPress.org without a fatal error.

v1.0.0 September 2026

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

“Store starter” bundle Verified Delivery Reviews Nova Poshta Premium LiqPay Telegram notifications and Viber/SMS for customers Need more — all 144 modules in All Access for 4 990 ₴.
3 590 ₴ / year instead of 5 960 UAH bought separately
Buy the bundle →

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

  1. 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”.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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_requests table 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 rating and verified; 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; actions vdrwc_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

  1. Download the free version verified-delivery-reviews-for-woocommerce-1.0.1.zip with 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.
  2. Open WooCommerce → “Review requests”: check the trigger, tick the carriers and the order status that means “received”, save.
  3. Click “Send a test e-mail to me” to see what the buyer gets.
  4. 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.
  5. 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.

@catcode_support Setup, compatibility, activation
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.

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