Title: NeoGrow: Loyalty Points, Photo Reviews &amp; UGC for WooCommerce
Author: Pamir
Published: <strong>ሚያዝያ  26, 2026</strong>
Last modified: መስከረም  3, 2026

---

Search plugins

![](https://ps.w.org/neogrow-loyalty/assets/banner-772x250.gif?rev=3515874)

![](https://ps.w.org/neogrow-loyalty/assets/icon-256x256.gif?rev=3515874)

# NeoGrow: Loyalty Points, Photo Reviews & UGC for WooCommerce

 By [Pamir](https://profiles.wordpress.org/mtpamir/)

[Download](https://downloads.wordpress.org/plugin/neogrow-loyalty.1.2.3.zip)

 * [Details](https://am.wordpress.org/plugins/neogrow-loyalty/#description)
 * [Reviews](https://am.wordpress.org/plugins/neogrow-loyalty/#reviews)
 *  [Installation](https://am.wordpress.org/plugins/neogrow-loyalty/#installation)
 * [Development](https://am.wordpress.org/plugins/neogrow-loyalty/#developers)

 [ድጋፍ](https://wordpress.org/support/plugin/neogrow-loyalty/)

## ማብራሪያ

**NeoGrow helps a WooCommerce store sell more without cutting its prices.**

It does that with the two things that actually move revenue: the reviews that convince
a stranger to place a first order, and the loyalty points that bring that customer
back for a second one. One plugin owns both, on your own store, for free.

Picture a shopper comparing your product with a cheaper one somewhere else. The 
cheaper page has no reviews. Yours has forty, several with photographs. Most people
pay the difference, because forty strangers with nothing to gain are more persuasive
than any product description you could write.

That is the whole idea. Your price can be undercut tomorrow morning. Your reputation
cannot be copied at all.

### What it does for your revenue

**1. It gets you the reviews that do the selling.**
 Customers will happily photograph
what they bought — they just need a reason to bother. NeoGrow pays them in points
for a review, and pays more for one with a photo. Published research from Northwestern
University’s Spiegel Research Center found a product showing five reviews was 270%
more likely to be purchased than the same product showing none, and that the lift
was larger on higher-priced products than on cheap ones. Reviews are worth more 
to you the more you charge.

**2. It gets you the second order.**
 Roughly a quarter of first-time customers 
ever come back on their own. A points balance waiting in the basket is a concrete
reason to return, and the second order is the one that matters: once a customer 
has ordered twice, the odds of a third rise sharply. Points are shown on the product
page before the sale, and spent right in the basket — the customer enters how many
to use and the discount comes off the subtotal — because a reward nobody spends 
buys you nothing.

**3. It stops you competing on price.**
 Discounting takes margin off every order,
permanently, and any competitor can match it. A library of real reviews takes effort
once per product and cannot be copied. NeoGrow is how you build that library on 
purpose rather than hoping for it.

**4. It costs nothing to run, at any size.**
 Hosted review and loyalty platforms
charge by review requests sent, contacts stored, or minutes of video kept — so a
good year raises your bill. NeoGrow is free and unlimited. Ten customers or ten 
thousand, the price is the same.

_More on the research behind this, with sources: [Why product reviews matter more than price in WooCommerce](https://neoplugin.com/blog/why-product-reviews-matter-more-than-price-in-woocommerce)._

### Why NeoGrow rather than a monthly subscription

**Nothing sits between the review and the reward.**
 Elsewhere this takes two plugins
wired together: one collects reviews, the other hands out points and watches for
them. That join is fragile, and when it quietly breaks you find out from a customer
who was promised points and never got them. NeoGrow does both jobs itself, so there
is no join to break.

**You keep everything if you stop.**
 Reviews, photos and every point balance sit
in your own database. There is no account to create and no company holding a copy,
so there is no month where cancelling a subscription empties your product pages.
A hosted platform cannot offer this, because holding the data is what it is.

**Growing does not cost you more.**
 Unlimited reviews, unlimited photo uploads,
unlimited points, no per-contact pricing and no licence key. Software running on
your own store has nothing to meter.

**It gives away what you meant to give away.**
 Points are earned on the order subtotal,
so tax and postage never inflate what you hand out. On a multi-currency store the
order converts through the exchange rate that order actually used, so you are not
overpaying customers in one country and underpaying them in another. Each of those
is pinned by tests — and each is a bill you would otherwise pay quietly for years.

**Built for AI-first commerce — coming soon.**
 Search is shifting toward answer
engines that read structured data rather than pages. NeoGrow already owns the review
content that matters for this; what turns it into machine-readable `Review` and `
AggregateRating` markup is [NeoSEO](https://neoplugin.com/product/neoseo), a separate
free plugin in development. NeoGrow does not require it and works fully without 
it — the two simply cover different halves of the same job.

### Core Features

**1. Loyalty Points Engine — wins the second order**
 Give customers a balance worth
coming back for, and make it trivial to spend. * **Points for Purchases:** Award
points based on the amount spent (e.g., Earn 1 Point for every $1 spent). * **Point
Redemption:** Customers can redeem their points for discounts directly at the Checkout
or Cart page. * **Automated Expiry (FIFO):** Points expire 6 months after they are
earned, oldest spent first. Choosing your own window, or switching expiry off, is
part of NeoGrow Pro. * **My Account Integration:** Customers can track their live
balance and full Transaction History inside their account dashboard. * **Correct
on Multi-Currency Stores:** Points are always calculated against your store’s base
currency, so the same basket earns the same points whatever currency the customer
paid in, and redemption discounts are shown in the currency they are browsing. WooPayments,
CURCY and FOX are supported with no configuration; other switchers connect through
two documented filters. If a switcher is converting prices and NeoGrow cannot read
its rate, it tells you rather than calculating quietly with the wrong one. * **HPOS
Ready:** Fully compatible with WooCommerce High-Performance Order Storage for maximum
speed.

**2. Photo Reviews — wins the first order**
 The proof that convinces the next shopper,
collected automatically and paid for in points rather than cash. * **Incentivized
Uploads:** Configure bonus points for photo reviews vs standard text reviews. * **
Visual Social Proof:** Display customer photos in a beautiful, native lightbox overlay
on product pages. * **Seamless Moderation:** Approve or reject reviews directly 
from the standard WordPress/WooCommerce comments queue. * **Frictionless Form:**
A clean “Upload Photo” button is automatically injected into your theme’s existing
review form.

**3. Analytics & Branding — shows you what it is earning**
 * **Growth Dashboard:**
Real-time analytics showing Points Issued, Points Redeemed, and UGC performance 
trends. * **Branding Settings:** Customize the core color palette (Primary & Success
colors) to match your store’s identity. * **Audit Trail:** A global Points Log keeps
a permanent record of every point movement (expiry, earn, spend, or manual adjustment).

### Documentation

For detailed setup guides, shortcode lists, and advanced configuration, please visit
our official documentation:
 [Documentation](https://neoplugin.com/docs/)

### External services

This plugin does not connect to any external service during normal operation. Your
store data, points ledger and review photos never leave your server.

There is exactly one optional exception:

**Deactivation feedback survey (neoplugin.com)**

When you deactivate this plugin from the Plugins screen, a short survey asks why.
It is entirely optional — “Skip & Deactivate” and “Cancel” send nothing, and selecting“
It’s only temporary / troubleshooting” sends nothing.

If you choose to submit the survey, your answer is sent from your server to `https://
neoplugin.com/neo-deactivation/receiver.php`. The request is made by your site, 
not by your browser.

 * **Always sent when you submit:** the plugin slug, the plugin version, the reason
   you selected, and any free-text comment you typed.
 * **Only sent if you tick the consent box** (unticked by default): your site URL,
   WordPress version, PHP version, WooCommerce version, whether HPOS is enabled,
   your active theme name, the folder names of your active plugins, your site locale,
   and the number of days the plugin has been installed.

No personal data about your customers, no order data and no points data are ever
transmitted.

This service is provided by NeoPlugin. Terms: https://neoplugin.com/terms/ — Privacy
policy: https://neoplugin.com/privacy-policy/

## Screenshots

[⌊Growth Dashboard - Visualize your points economy and retention trends.⌉⌊Growth
Dashboard - Visualize your points economy and retention trends.⌉[

**Growth Dashboard** – Visualize your points economy and retention trends.

[⌊Setup Wizard - 2-minute onboarding to get your program live.⌉⌊Setup Wizard - 2-
minute onboarding to get your program live.⌉[

**Setup Wizard** – 2-minute onboarding to get your program live.

[⌊Point Value Settings - Define your earning and redemption rates.⌉⌊Point Value 
Settings - Define your earning and redemption rates.⌉[

**Point Value Settings** – Define your earning and redemption rates.

[⌊Review Reward Rules - Incentivize photos with higher point rewards.⌉⌊Review Reward
Rules - Incentivize photos with higher point rewards.⌉[

**Review Reward Rules** – Incentivize photos with higher point rewards.

[⌊Branding & Design - Match the plugin's UI to your store's colors.⌉⌊Branding & 
Design - Match the plugin's UI to your store's colors.⌉[

**Branding & Design** – Match the plugin’s UI to your store’s colors.

[⌊Admin Settings - Fine-tune your loyalty program configuration and global rules.⌉⌊
Admin Settings - Fine-tune your loyalty program configuration and global rules.⌉[

**Admin Settings** – Fine-tune your loyalty program configuration and global rules.

[⌊Manual Points Adjustment - Easily add or subtract points with log notes.⌉⌊Manual
Points Adjustment - Easily add or subtract points with log notes.⌉[

**Manual Points Adjustment** – Easily add or subtract points with log notes.

[⌊Global Transaction Log - Full audit trail of every point movement.⌉⌊Global Transaction
Log - Full audit trail of every point movement.⌉[

**Global Transaction Log** – Full audit trail of every point movement.

[⌊Product Page Nudge - Display potential earnings to drive conversion.⌉⌊Product 
Page Nudge - Display potential earnings to drive conversion.⌉[

**Product Page Nudge** – Display potential earnings to drive conversion.

[⌊Frictionless Review Form - Integrated "Upload Photo" button in your theme.⌉⌊Frictionless
Review Form - Integrated "Upload Photo" button in your theme.⌉[

**Frictionless Review Form** – Integrated “Upload Photo” button in your theme.

[⌊Visual Social Proof - Customer photos displayed neatly below reviews.⌉⌊Visual 
Social Proof - Customer photos displayed neatly below reviews.⌉[

**Visual Social Proof** – Customer photos displayed neatly below reviews.

[⌊Photo Lightbox Overlay - High-resolution gallery display for UGC.⌉⌊Photo Lightbox
Overlay - High-resolution gallery display for UGC.⌉[

**Photo Lightbox Overlay** – High-resolution gallery display for UGC.

[⌊Customer Points Hub - Points balance and history in "My Account".⌉⌊Customer Points
Hub - Points balance and history in "My Account".⌉[

**Customer Points Hub** – Points balance and history in “My Account”.

[⌊Checkout Redemption - AJAX-powered redemption form for instant discounts.⌉⌊Checkout
Redemption - AJAX-powered redemption form for instant discounts.⌉[

**Checkout Redemption** – AJAX-powered redemption form for instant discounts.

## መጫን

 1. Upload the plugin files to the `/wp-content/plugins/neogrow-loyalty` directory,
    or install through the WordPress plugins screen.
 2. Activate the plugin. You will be redirected to the **Setup Wizard**.
 3. Follow the 2-minute wizard to set your point values and review rewards.
 4. Navigate to **Marketing > NeoGrow** to fine-tune your configuration or design.

## የተለመዱ ጥያቄዎች

### Will this actually increase my sales?

It works on the two moments where sales are won or lost. The first is a stranger
deciding whether to trust you: research from Northwestern University’s Spiegel Research
Center found a product showing five reviews was 270% more likely to be purchased
than the same product showing none, and NeoGrow’s job is to get those reviews written
by making it worth a customer’s while. The second is whether that customer ever 
comes back — most do not, unless they have a reason. A points balance waiting in
their basket is a reason.

Nothing here is magic, and no plugin can promise a number. What it can do is make
the two things that reliably drive revenue happen on purpose rather than by luck.

### Won’t giving away points just cost me money?

It is a real cost, and the right question to ask. Three things keep it in your favour.
You set the earn rate yourself, so you decide what a point is worth before a single
one is issued. Points are calculated on the order subtotal, so you never pay out
on tax or postage. And a point only becomes a discount when the customer returns
to spend it — which means the cost lands on an order you would not otherwise have
had.

### How many reviews do I need before it makes a difference?

Fewer than most people expect. The measured conversion benefit largely arrives with
the first five reviews on a product, so the urgent gap to close is five rather than
five hundred. Confidence keeps climbing after that, so treat five as the starting
line.

### Won’t a bad review hurt my sales?

Less than a spotless page does. Purchase likelihood peaks around 4.0 to 4.7 stars
and falls as a rating nears a perfect 5.0, because shoppers read flawless as edited.
NeoGrow rewards a customer for writing a review, never for the rating they give,
so you are never in the position of having paid for five stars.

### Where is the NeoGrow menu?

NeoGrow lives under **Marketing > NeoGrow**, alongside WooCommerce’s own marketing
tools. If the WooCommerce Marketing menu is disabled on your site, it appears under**
WooCommerce > NeoGrow** instead. Direct links to `admin.php?page=neogrow` keep working
either way.

### How does NeoGrow affect my site speed?

NeoGrow is built for scale. It uses an optimized custom database table (wp_neogrow_points)
to handle point calculations, so even with thousands of active customers your checkout
remains snappy and your server resources stay low.

### Does NeoGrow work with the Cart and Checkout blocks?

Yes. The redemption panel appears automatically in both the block-based Cart and
Checkout and the classic shortcode versions, with no setup needed. Points are applied
through the WooCommerce Store API, so the order totals update live without a page
reload.

The [neogrow_cart_redemption] shortcode is still available if you want to place 
the form somewhere else, such as a custom landing page.

### Why is the redemption form hidden for some users?

To maintain a clean and high-converting checkout experience, NeoGrow intelligently
hides the redemption form if:

 * The user is a Guest (not logged in).
 * The user has a 0 point balance.
    We believe in showing users only the actions
   they can actually take.

### Can I customize the look of the “Redeem” form?

Absolutely. NeoGrow is designed to inherit your theme’s styling for buttons and 
inputs automatically. If you need more granular control, the form is wrapped in 
unique CSS classes (.neogrow-redemption-wrap), allowing you to apply custom styles
without editing core files.

### Points weren’t awarded after a purchase!

Please verify three things:

 * Is the Order Status set to Completed? (Points are issued upon successful completion).
 * Was the user logged in during checkout? (Guest checkouts cannot track point history).
 * Have you saved your settings? Ensure you’ve clicked “Save” in the NeoGrow dashboard
   at least once to initialize the engine.

### Images aren’t uploading to reviews!

Ensure your `/wp-content/uploads/` directory is writable. Also, check that the image
size doesn’t exceed your server’s maximum upload limit.

### Why don’t my dashboard stats update immediately?

To ensure high performance, NeoGrow caches dashboard statistics for **one hour**.
Your live points data is safe; the analytics just take a moment to refresh.

### Does NeoGrow count my past reviews or orders?

No. NeoGrow starts tracking from the moment it is activated. It is not retroactive.
You can use the “Manual Adjustment” feature to reward long-time customers if needed.

### Are Shipping/Taxes included in points?

No. Points are calculated on the order **subtotal** — the value of the products 
themselves — so tax, shipping and fees never earn points. Sale prices are already
reflected in the subtotal. Coupon discounts are not, so a coupon does not reduce
what a customer earns; the `neogrow_earn_base_amount` filter lets you change that
if you would rather it did.

### What happens if I refund an order?

Points are not adjusted automatically. Go to **Users > Edit User** to add or remove
points by hand, with a reason recorded in the Points Log. Automatic adjustment on
refund and cancellation is available in NeoGrow Pro.

### Do points expire?

Yes. Points expire 6 months after they were earned. NeoGrow uses a **FIFO (First-
In, First-Out)** system, so the oldest points are always spent first. Setting your
own expiry window, or turning expiry off entirely, is available in NeoGrow Pro, 
a separate add-on.

### Can I reward customers for their birthdays?

NeoGrow is designed to work seamlessly with **[NeoLite Birthday Bash](https://wordpress.org/plugins/birthday-bash/)**.
While NeoGrow handles the points engine, Birthday Bash automates the ‘Happy Birthday’
rewards, creating a complete retention loop for your store.

### Is it compatible with my Theme?

Almost certainly, and we test rather than assume. NeoGrow is run against the most-
installed WooCommerce themes on WordPress.org before each release, in a real browser
on a real store, checking the seven places its output has to appear: the points 
message on a product page, review titles and customer photos, the photo upload control,
the redemption panel on the cart and at checkout, the points-earned notice after
an order, and the balance card on My Account.

**As of version 1.2.2: 89 themes tested, 87 fully compatible, 0 broken.** That includes
25 themes that override WooCommerce’s own templates — the case most likely to break
a plugin.

Two themes are listed as partial, and in both the reason is the same: the theme 
itself does not render the WooCommerce output NeoGrow attaches to. There is nothing
for any plugin to hook onto there.

If your theme is not on the list, that means it has not been tested yet, not that
it does not work: NeoGrow renders through standard WooCommerce hooks, so any theme
that fires them works. Ask and we will add yours.

### Still have questions?

Our engineers are here to help! Please open a ticket in the WordPress.org support
forum, and we’ll help you get NeoGrow running perfectly on your store.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“NeoGrow: Loyalty Points, Photo Reviews & UGC for WooCommerce” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ Pamir ](https://profiles.wordpress.org/mtpamir/)

“NeoGrow: Loyalty Points, Photo Reviews & UGC for WooCommerce” has been translated
into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/neogrow-loyalty/contributors)
for their contributions.

[Translate “NeoGrow: Loyalty Points, Photo Reviews & UGC for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/neogrow-loyalty)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/neogrow-loyalty/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/neogrow-loyalty/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/neogrow-loyalty/)
by [RSS](https://plugins.trac.wordpress.org/log/neogrow-loyalty/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.2.3

 * Fix: The points log screen no longer reads your whole points history to draw 
   one page of it. It was sorting every entry you had ever earned or spent on every
   page load, and the dashboard chart was reading the whole table too. Both now 
   use an index. On a store with 200,000 log entries the points log went from around
   740ms to under a millisecond, and the chart from 800ms to 200ms; on a small store
   you will not notice a difference, which is why this ships now rather than later.
 * Fix: Reactivating the plugin after its files were updated while it was switched
   off now applies any pending database changes, rather than recording the new version
   and skipping them.
 * Note: This release adds a database index, so the first page load after updating
   takes slightly longer while it is created — a moment on a typical store, a few
   seconds on a very large one. It happens once.

#### 1.2.2

 * Changed: “Reviews Rewarded” on the dashboard now counts approved product reviews
   rather than reward entries in the points log. The two disagreed: a review left
   by a guest, or approved while the review reward was set to zero, is live on your
   site earning you trust without ever having created a log entry. Your number may
   go up slightly, and it now matches what NeoGrow Pro reports.
 * Developer: Extension API raised to 1.3. Adds ReviewEarn::points_for_review(),
   ReviewEarn::best_review_points(), Points::get_review_points_quote() and the neogrow_review_points_quote
   and neogrow_reminder_review_url filters. Reminders gain `neogrow_reminder_sent`,`
   neogrow_should_send_reminder` and `neogrow_reminder_email_intro`, and a context
   array threaded from the send call to both templates — enough for an add-on to
   build a follow-up sequence, targeting rules and its own copy on top. Admin tabs
   also accept an `order` (lower is further left; Guide & Help is pinned last) and
   a `callback` that renders the tab body, so an add-on can take over an existing
   tab instead of adding another beside it. Tabs registered without a callback still
   render on `neogrow_settings_tab_{slug}` exactly as before.
 * Fix: The dashboard chart skipped a month. On the 29th, 30th or 31st it drew two
   copies of one month and left another out entirely, and the bars after the gap
   belonged to the wrong months. It now always shows six consecutive months, and
   the oldest bar counts from the first of its month rather than from partway through
   it.
 * New: A column on the Orders screen showing when the review reminder went out,
   so you can answer “did my customer get this?” without opening the order.
 * New: A “Send now” button in that column, for inviting one customer by hand without
   waiting for the schedule — and “Send again” if they say they never received it.
   It appears only on completed orders, never on processing or on-hold ones, and
   sending updates the date shown in the column. A customer who has opted out is
   never shown the button and cannot be sent one.
 * New: Review reminder emails. NeoGrow can now email a customer a while after their
   order asking them to review what they bought, and the email says how many points
   a review is worth. Off by default — turn it on under Marketing > NeoGrow > Settings.
   Customers who have already reviewed everything on their order are never emailed,
   and every message carries a one-click opt-out.
 * New: The reminder works on every supported WooCommerce version. WooCommerce 10.8
   added a review request of its own; where that is switched on and actually sending,
   NeoGrow steps aside and simply adds the points line to WooCommerce’s email rather
   than sending a second one. On older WooCommerce, or where that feature is off,
   NeoGrow sends its own.
 * Fix: The points figure quoted for a review is now the larger of the text and 
   photo rewards everywhere it appears. One place quoted the text reward only, which
   understated a photo review by five to one on default settings.
 * Changed: Reminders are now found by a daily check rather than a job queued per
   order, so changing “Send after (days)” applies to orders already waiting instead
   of only to future ones. Switching reminders on never reaches back over orders
   completed before you enabled it.
 * Changed: The daily reminder check now queues each email as its own background
   job instead of sending the whole batch itself. On a store with a slow mail server
   the old approach could run out of time part-way through, and because the progress
   marker was only saved at the end, the next day’s check would start from the same
   place and never catch up. Each email is now independently retried, and no customer
   is emailed twice.
 * Fix: The Orders screen no longer runs an extra database query for every row. 
   On a page of orders from twenty different customers that was twenty queries; 
   it is now one.
 * Fix: Deactivating the plugin now clears every job it has queued. Previously the
   expiry batch job could be left behind in the scheduler.
 * Fix: Deactivating NeoGrow no longer cancels background jobs belonging to NeoGrow
   Pro. Both plugins share one job queue, and NeoGrow was clearing the whole of 
   it — which could stop a review-invitation campaign or a review import that was
   still running.

#### 1.2.1

 * Fix: On a variable product the “Earn X points with this item!” message showed
   the range for the whole product and never changed, so a product priced $20 to
   $200 still read “Earn 20 – 200 points” after the $200 option had been chosen.
   The message now updates to the points that option actually earns, and returns
   to the range when the selection is cleared. This works with any variation swatch
   plugin, because it follows WooCommerce’s own variation form rather than integrating
   with a particular one.
 * New: The order confirmation page now tells the customer about their points — “
   You will earn 40 points once this order is complete” before you mark the order
   complete, and “You earned 40 points on this order” afterwards. Previously the
   product page promised points and nothing ever confirmed them.
 * New: The order emails WooCommerce already sends now carry the same line, so a
   customer whose order you complete days later is actually told when their points
   arrive, along with their new balance. The completed-order email also invites 
   them to review what they bought, quoting what a review is worth. This adds a 
   paragraph to your existing emails — NeoGrow does not send any email of its own.
 * Both are shown only to logged-in customers, never on guest orders (which cannot
   earn), never on orders that are cancelled, failed or refunded, and never in the
   copies sent to you as the shop admin.
 * Fix: A customer’s points balance is no longer written into the page. If you use
   a page caching plugin and it was set to cache pages for logged-in visitors, a
   cached page carrying the `[neogrow_points_balance]` or `[neogrow_points]` shortcode
   could show one customer another customer’s balance. The number is now fetched
   for each shopper after the page loads, so the cached page contains nobody’s balance.
   Nothing to configure. Your My Account page was never affected, because WooCommerce
   already tells caches not to store it.
 * New: A Site Health check under Tools > Site Health reports whether your points
   balances are safe from your page cache, and names the caching plugin it found.

#### 1.2.0

 * Fix: Points are now calculated on the order **subtotal**, as the documentation
   has always stated. Earlier versions used the order total, so tax, shipping and
   fees earned points too. On a store charging tax or postage this reduces what 
   new orders award — a $50 order with $10 postage now earns 50 points rather than
   60. Points already awarded are not changed. Use the `neogrow_earn_base_amount`
   filter to award on the order total instead, if that is what you want.
 * Fix: Correct point earning and redemption on multi-currency stores. Points were
   previously calculated on the order total in the customer’s selected currency 
   while the earn rate is configured in the store’s base currency, so a store selling
   in more than one currency awarded too many or too few points by the exchange 
   rate. Orders are now converted back to the base currency (using the exchange 
   rate recorded on the order where available) before points are calculated. Points
   already awarded by earlier versions are not changed.
 * Fix: The redemption discount is now converted into the customer’s selected currency
   before it is applied to the cart, so the discount shown and charged matches the
   rest of the cart instead of being a base-currency figure on a converted total.
 * Fix: The redemption cap, the product page “Earn X points” message and the My 
   Account earn-rate text now convert between the selected and base currency, so
   the numbers quoted match the points actually awarded.
 * New: If a currency switcher is converting your prices and NeoGrow cannot read
   the rate it is using, an admin notice now says so, rather than letting points
   be silently miscalculated. It names the currency, is dismissible, and disappears
   on its own once the rate can be read.
 * New: Native support for three currency switchers, with no configuration needed:
   the multi-currency built into **WooPayments**, **CURCY (Multi Currency for WooCommerce)**
   and **FOX – Currency Switcher Professional** (formerly WOOCS). Other switchers
   can integrate through the new `neogrow_currency_rate` and `neogrow_order_exchange_rate`
   filters; with no switcher active, behaviour is unchanged.
 * Changed: NeoGrow now lives under **Marketing > NeoGrow** (or WooCommerce > NeoGrow
   when the Marketing menu is disabled), following the WooCommerce navigation guidelines,
   instead of adding its own top-level menu. All existing links and bookmarks to
   the page keep working.
 * New: The Plugins screen now offers both a Dashboard and a Settings link for NeoGrow.
 * Changed: The read-only “Points Expiry (Months)” row has been removed from the
   settings screen. Point expiry is unchanged — points still expire after 6 months
   on a FIFO basis; the plugin simply no longer displays a setting that could not
   be edited. The NeoGrow Pro add-on provides the configurable expiry window.
 * Changed: Reworded parts of the plugin description and FAQ.
 * Compatibility: Tested up to WordPress 7.1.

#### 1.1.0

 * New: Native support for the WooCommerce Cart and Checkout blocks. The redemption
   panel now appears automatically in both blocks and updates order totals live 
   through the Store API. The old workaround of pasting a shortcode into a Shortcode
   block is no longer needed, and the notice asking you to do so has been removed.
 * New: In the Cart and Checkout blocks the redemption panel now sits directly above
   the “Add coupons” row, so points are applied alongside coupons and before shipping,
   tax and the order total are worked out.
 * New: The panel now states the discount your points are worth, for example “You
   are using 200 points for a $2.00 discount”, formatted in your store’s currency.
 * New: Two filters for add-ons, neogrow_review_media_ids and neogrow_review_media_html,
   allowing the media shown with a review to be extended or replaced.
 * New: A documented developer API of hooks and filters, plus the NeoGrow\API\Points
   class, so add-ons can extend earning, redemption, reviews, expiry and the admin
   screens. See the plugin’s HookDocs reference.
 * New: You can rename “points” to anything you like from a single filter.
 * Security: Review photo uploads now require a logged-in user and are restricted
   to product reviews. The temporary upload permission granted during an upload 
   is scoped to the review author instead of being granted site-wide.
 * Fix: Points are no longer over-deducted when the redeemed amount exceeds the 
   cart value. The points debited now always match the discount actually granted,
   and the balance is re-checked at the moment of purchase.
 * Fix: Resolved a fatal error on PHP 7.4 caused by a PHP 8.0-only function on the
   settings screen.
 * Fix: Resolved a fatal error when cart totals are calculated without a customer
   session (Store API, cron and WP-CLI).
 * Fix: The points balance cache now uses a dedicated cache group, preventing collisions
   with other plugins.
 * Fix: Applying no points, or fewer than a required minimum, no longer reports “
   Applied” on the classic cart and then quietly leaves the discount off. Both are
   now refused with an explanation, matching how the Cart and Checkout blocks already
   behaved.
 * Fix: Database updates now run on any request rather than only inside wp-admin,
   so stores administered entirely over WP-CLI or a headless front end are no longer
   left on an older database version.
 * Tweak: The redemption form now shows a message when the requested points cannot
   be applied, and caps the input at the redeemable amount.
 * Tweak: Removed the 500-point seed previously granted to the administrator who
   activated the plugin. Existing balances are unaffected.
 * Tweak: Database tables are now versioned so that future schema changes reach 
   existing installations, and uninstalling now cleans up review photos, review 
   meta and per-site data on multisite.
 * Performance: The daily expiry job is now batched instead of loading every customer
   at once, and the review photo lookup no longer runs one query per review on product
   pages.

#### 1.0.4

 * Enhancement: Dynamic Admin Colors. settings page now adapts dynamically to match
   the active WordPress user’s selected “Administration Color Scheme”.
 * UI: Implemented neo-unified-table striped layouts for both the Loyalty & Rewards
   Settings page and Design Customization page.
 * Compatibility: Fully tested and declared compatible with WordPress 7.0.

#### 1.0.3

 * New: Dynamic strategy preview in settings (Real-time ROI calculation).
 * Enhancement: Added decimal support for points-per-dollar ratios.
 * Stability: Improved input sanitization to prevent calculation errors.

#### 1.0.2

 * Fix: Resolved undefined variable warnings in Frontend Assets.
 * New: Added FAQ to documentation.
 * Tweak: Optimized asset loading logic.

#### 1.0.1

 * Added 500 bonus points for admin users upon first-time installation.
 * Improved WooCommerce Blocks compatibility (Cart and Checkout support).
 * Added Official Documentation links in the Guide & Help dashboard.
 * Fixed minor UI layout issues in the settings panel.

#### 1.0.0

 * Initial Release.
 * Loyalty Points Engine (FIFO Expiry).
 * Viral Photo Reviews & Lightbox Display.
 * Full HPOS (High-Performance Order Storage) Compatibility.
 * Custom Database Table architecture.
 * Integrated Setup Wizard.

## Meta

 *  Version **1.2.3**
 *  Last updated **1 ቀን ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Dutch](https://nl.wordpress.org/plugins/neogrow-loyalty/) እና [English (US)](https://wordpress.org/plugins/neogrow-loyalty/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/neogrow-loyalty)
 * Tags
 * [loyalty program](https://am.wordpress.org/plugins/tags/loyalty-program/)[photo reviews](https://am.wordpress.org/plugins/tags/photo-reviews/)
   [Points and Rewards](https://am.wordpress.org/plugins/tags/points-and-rewards/)
   [UGC](https://am.wordpress.org/plugins/tags/ugc/)[woocommerce](https://am.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://am.wordpress.org/plugins/neogrow-loyalty/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/neogrow-loyalty/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/neogrow-loyalty/reviews/)

## Contributors

 *   [ Pamir ](https://profiles.wordpress.org/mtpamir/)

## ድጋፍ

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/neogrow-loyalty/)