Description
Qreet adds a “personal message” option to your WooCommerce store. At the product page, cart, and checkout, shoppers can add a short video, voice, or text message to their gift for a small fee. After payment they receive a link to record the message, and a QR code card is produced to include with the order — the recipient scans it to watch.
This plugin is an interface to the Qreet service (a third-party software-as-a-service). A Qreet account and message credits are required for the recording, hosting, and QR/card generation. Creating an account is free.
Features
- Inline “add a personal message” placement on the cart and checkout, plus a checkbox option on product pages.
- Captures the recipient name and occasion; shoppers can edit or remove the message before completing the order.
- Sends the customer a recording link by email after payment, with a scannable QR code.
- “Match my theme” styling that inherits your theme’s button styles, or custom colours you choose in the settings tab or the Customizer (with live preview).
- Optional admin email with a printable card for each order.
- Works with classic and block cart/checkout.
Requires WooCommerce 7.0 or later.
External services
This plugin connects to one or more external services. It is important you and your customers understand where data is sent.
- Qreet (https://qreet.io) — the core service this plugin integrates with.
- What it does: creates, hosts, and serves the recorded video/voice/text message and generates the QR code card.
- When data is sent: when you verify your API key, when you refresh credits, and when an order containing a message card is processed.
- What is sent: your store API key/identifier, and for each message order the recipient name, the selected occasion, and order/identifier information needed to generate the message link and card. Customers who record a message interact with Qreet directly.
- Once you have connected the plugin by saving your Qreet API key, it also retrieves the list of available occasions from Qreet (GET https://qreet.io/api/plugin/occasions) so the occasion dropdown always matches the card designs the service can print. This request sends no personal data and the result is cached. Before an API key is saved, no request is made — the plugin uses a built-in occasion list.
- Creating a Qreet account (optional): if you use the in-plugin “create account” form instead of signing up on the website, the plugin sends the business details you enter — email address, business name, business phone, business type, country, city, province/state — together with your site URL to Qreet (POST https://qreet.io/api/shop/register-from-plugin) to create the account. Qreet then emails you to verify and issue an API key.
- Buying message credits (optional): when you open the “Buy Credits” screen the plugin fetches the available pricing bundles from Qreet (GET https://qreet.io/api/pricing/plugin-credits); this request sends no personal data. When you choose a bundle, your store API key is sent to Qreet (POST https://qreet.io/api/billing/buy-plugin-credits) to create a secure checkout session, and your browser is redirected to Stripe to complete payment. Payment card details are entered on Stripe and are never handled by the plugin or your site.
- Opening the Qreet dashboard (optional): when you use a dashboard quick-link, your store API key is sent to Qreet (POST https://qreet.io/api/auth/plugin-login-token) to obtain a one-time sign-in token so the dashboard opens without a separate login.
- QR code images shown in notification emails are generated by the Qreet service (GET https://qreet.io/api/plugin/qr). Only the order’s recording-link token is sent, and the image simply encodes that same Qreet recording link.
- Terms of Use: https://qreet.io/terms
- Privacy Policy: https://qreet.io/privacy
Qreet is the only external service this plugin contacts; no third-party services are used.
By installing, activating, and configuring this plugin with your Qreet API key, you consent to the data transmissions described above.
Privacy
The plugin stores the recipient name and occasion you collect as order data in your WooCommerce store. To produce the message and QR card, that data and order identifiers are sent to Qreet as described in “External services”. Please reflect this in your site privacy policy.
Installation
- Install and activate WooCommerce.
- Upload the plugin to
/wp-content/plugins/or install it from the Plugins screen, then activate it. - Go to WooCommerce Settings Qreet and enter your Qreet API key (create a free account at https://qreet.io if you don’t have one).
- Visit WooCommerce Qreet for your credits, store status, and quick links.
- Choose placement and style under WooCommerce Settings Qreet, or adjust colours live under Appearance Customize “Qreet message card”.
FAQ
-
Do I need a Qreet account?
-
Yes. The plugin is an interface to the Qreet service, which records, hosts, and serves the messages and QR cards. Sign up free at https://qreet.io.
-
Is there a cost?
-
Creating an account is free. Producing and hosting messages uses Qreet credits; see https://qreet.io for current pricing.
-
Where does the message get recorded?
-
After checkout the customer receives an email with a secure link to record their video, voice, or text message on Qreet. No app is required for the recipient — they scan the QR card and watch.
-
Will it match my theme?
-
Yes. The default “Match my theme” mode uses your theme’s button styling and adapts to light or dark themes. You can also pick custom colours.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Qreet – Personal Gift Messages for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Qreet – Personal Gift Messages for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.5.0
- Card delivery: the shop’s print-card notification email now delivers the card via a secure, unguessable link instead of writing a PDF file into the uploads directory, and it now shows the message recipient.
- Checkout: the recipient name auto-fills from the shipping (or billing) first name (the shopper can override it), and adding, editing, or removing the message updates the widget in place without reloading the page, so entered address fields are preserved.
- Activation: the WooCommerce product is created on the first load after activation instead of during activation, preventing a possible activation error on some hosts.
- Configuration: the plugin uses https://qreet.io by default; define the QREET_API_BASE_URL constant to point at a staging or self-hosted endpoint.
- Housekeeping: WordPress Coding Standards polish (no functional changes).
1.4.0
- Privacy: the occasion list is only fetched from the Qreet service after you save your API key; before setup the plugin uses its built-in list and makes no external request.
- Privacy: notification-email QR codes are now generated by the Qreet service itself instead of a third-party image provider; emails include both the scannable QR and a “record” button.
- Compliance: front-end and admin CSS/JS is delivered via the WordPress enqueue system (no inline <style>/<script> tags); server values passed to scripts via wp_localize_script.
- Compliance: added the “Requires Plugins: woocommerce” header.
- Fix: temporary card PDFs are written to a private folder in the uploads directory instead of the system temp directory.
1.3.0
- New: live greeting preview shows the printed card greeting (title + subtitle) when selecting an occasion at checkout.
- New: occasions API enriched with greeting data for better customer experience.
1.2.1
- Copy: clarified that no app is needed — the buyer records from a link we email, and the recipient just scans to watch (the old “no app needed for them” could imply the buyer needed an app).
1.2.0
- New: occasions load from the Qreet service so the dropdown always matches the available card designs (bundled list used as an offline fallback).
- New: the Qreet add-on product is automatically hidden from shop, search, category, and related-product listings — no manual category management needed.
1.1.2
- Fixed: prices use your store’s currency formatting (symbol and decimals) everywhere they appear.
- Fixed: the message option shows on all products by default; the per-product control is now an explicit “hide” (saving a product no longer disables it).
- Removed: unused per-product price-override and occasion fields from the product editor.
- Improved: cleaner order screen — a single “Recipient” and “Occasion” row instead of duplicated raw/labelled meta.
1.1.1
- Fixed: occasion labels now display formatted (e.g. “Mother’s Day”) on the cart line item, order details, and emails.
- Improved: cart line item uses clean WooCommerce key/value rows (no stray leading colon).
1.1.0
- New: inline “add a personal message” on cart and checkout with recipient and occasion fields.
- New: product-page checkbox option to add a message.
- New: Edit and Remove controls on an added message.
- New: “Match my theme” / custom-colour styling, manageable in settings and the Customizer with live preview.
- New: WooCommerce Qreet hub page (credits, status, quick links).
- Improved: clearer copy and a “how it works” overview.
- Housekeeping: dismissible, scoped credit notice; removed debug logging; the self-hosted update mechanism is now opt-in (WordPress.org provides updates for directory installs).
1.0.0
- Initial release.
