WordPress.org

Plugin Directory

NeoGrow: Loyalty Points, Rewards Program & Photo Reviews for WooCommerce

NeoGrow: Loyalty Points, Rewards Program & Photo Reviews for WooCommerce

Description

NeoGrow is a free WooCommerce plugin that gives customers loyalty points for buying and for leaving photo reviews, which they spend as a discount at checkout. Everything runs on your own store — no account, no subscription, nothing metered.

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

  • Get the reviews that sell. Customers earn points for writing one, and more for adding a photo.
  • Win the second order. A points balance waiting in the basket is a concrete reason to come back.
  • Stop competing on price. A library of real reviews cannot be copied. A discount can be matched tomorrow morning.
  • Costs nothing at any size. Unlimited reviews, photos and points, with no per-contact pricing.

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.

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, 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.
* Works in the new Cart and Checkout: The redemption panel appears by itself in the block-based Cart and Checkout, and the order total updates live as points are applied — nothing to paste in, no workarounds. The classic checkout is covered too.
* Points expire on their own: Points last 6 months from the day they are earned, and the oldest ones are always 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.
* Ready for a busy store: Fully compatible with WooCommerce’s High-Performance Order Storage, so your store stays fast as orders build up.

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: See at a glance how many points you have given out, how many customers have spent, and how the photos your customers upload are performing.
* 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).
* Built not to slow you down: Points are kept in the plugin’s own purpose-built database tables rather than in the general-purpose ones WordPress uses for everything else, so your checkout stays fast however long your points history gets.

Documentation

For detailed setup guides, shortcode lists, and advanced configuration, please visit our official documentation:
NeoGrow documentation

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

Installation

  1. Upload the plugin files to the /wp-content/plugins/neogrow-loyalty directory, or install through the WordPress plugins screen.
  2. Activate the plugin. A notice on the Plugins screen offers the 2-minute Setup Wizard — click Set up NeoGrow.
  3. Set your point values and review rewards. You can run the wizard again any time from Marketing > NeoGrow > Guide.
  4. Navigate to Marketing > NeoGrow to fine-tune your configuration or design.

FAQ

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. Point calculations run against the plugin’s own purpose-built database table rather than the general-purpose ones WordPress uses for everything else, so even with thousands of active customers your checkout stays quick and your server load stays 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. While NeoGrow handles the points engine, Birthday Bash automates the ‘Happy Birthday’ rewards, creating a complete retention loop for your store.

What is the notice above the review form?

NeoGrow pays points for reviews, and in several markets an incentivised review programme is expected to say so — the disclosure protects you, the merchant. Since 1.2.5 a short statement sits directly above the review form: “Customers can earn points for leaving a review on this store.” You can edit the wording — or switch the disclosure off with the “Show Review Disclosure” toggle — under Marketing > NeoGrow > Settings, and it only appears while review points are actually switched on — zero both review point options and it disappears.

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, Rewards Program & Photo Reviews for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

“NeoGrow: Loyalty Points, Rewards Program & Photo Reviews for WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “NeoGrow: Loyalty Points, Rewards Program & Photo Reviews 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.2.11

  • Fix: The points log now finds a customer by the name it shows you. The Customer column reads “Marcus Webb (marcus@example.test)”, but searching for Marcus found nothing – the search read the login and the email address, never the name on screen. It now reads all three.
  • Changed: This changelog now carries the four most recent releases, and the full history back to 1.0.0 has moved to changelog.txt, which ships with the plugin. WordPress.org displays at most 5,000 words of a changelog and ours had grown past it, so the oldest release was being cut off the listing.

1.2.10

  • Fix: Searching the points log no longer reads your whole customer table twice for one page of results. On a large store the search could take seconds and got slower as the log grew; it now finds the customers first and reads only their entries, and a search matching nobody stops without touching the log at all.
  • New: The dashboard leads with the two things waiting for you — how many orders need action (processing or on hold) and how many reviews are waiting for approval. The whole card is clickable, taking you straight to the screen where you deal with them. Both are read fresh every time the dashboard loads, not from the hourly cache the other figures use, so the number is never a stale to-do list.
  • New: WooCommerce’s Product Reviews screen now shows the photo a customer attached, beside their review, so you can approve a photo review without opening it. Clicking the thumbnail opens the full picture.
  • Developer: The neogrow_expiry_months docblock said points expire after months of “inactivity”. They expire six months after they were earned — ordering again does not extend points already on the clock. The wording is corrected; the behaviour is unchanged and always was this.

1.2.9

  • Fix: The “Earn X points with this item!” message on the product page, and the “How to Earn” line in My Account, now quote the rate your store will actually pay at checkout. Both read the stored rate directly and skipped the step that prices the order, so a store paying one customer more advertised the lower figure to them and then paid the higher one — quietly paying out more than it promised.
  • Fix: Every per-customer points figure is now worked out for the customer it is about, rather than for whoever’s request happens to be rendering it. On a stock store these are the same person and nothing changes; on a store running an add-on that varies rates — a membership tier, a per-role rate — they were not. An order created by an admin, or placed through the block checkout, could take points at a stranger’s rate, and the “worth $1.15” line under a balance could be priced at the logged-out rate on a cached page.
  • Fix: The redemption limit could be worked out from two different rates inside one calculation — the customer’s own, to decide whether they could redeem at all, and whoever was logged in, to decide how much the cart could absorb.
  • Developer: New filter neogrow_customer_tier, a membership-tier carrier this plugin ships empty and never fills, so an export or a connector can read a customer’s tier without knowing which add-on supplies it. Read it with API\Points::get_tier(), which guarantees the shape.
  • Developer: New filter neogrow_earn_rate_is_personal. An add-on whose earn rate varies per customer turns it on, and the product-page message switches to the treatment balances have used since 1.2.1 — the page renders the store’s own figure, and the customer’s own arrives from neogrow/v1/balance, so a cached page cannot show one shopper another’s rate. Default off, and with it off the product page is byte-for-byte what it was.
  • Developer: neogrow_review_points_quote now receives the customer being quoted to. The added argument is additive — callbacks written for one argument are unaffected. Redemption::points_to_amount(), amount_to_points() and their API\Points equivalents take an optional user, and neogrow/v1/balance gains earn_rate, review_quote and tier. Extension API 1.6.

1.2.8

  • Fix: WooCommerce’s refund email no longer tells the customer “You earned 40 points on this order” and invites them to review what they have just sent back. Refund, partial-refund, cancellation and failed-order emails now carry no points line and no review invitation.
  • Fix: The unsubscribe link in the plain-text review reminder works again. It arrived with & in place of &, which dropped the token that identifies the customer, so clicking it did not unsubscribe them. The product links in the same email are fixed too.
  • New: The review form now says what a review earns, and when — “Add a photo to earn 50 points instead of 10 points. Points are added once your review is approved.” It is shown to signed-in customers only, since a guest’s review earns nothing, and says nothing on a store that pays nothing for reviews.
  • Fix: The Upload Photo button can now be reached and opened from the keyboard, with a visible focus ring. It used to take two presses of Tab, and the first stop did nothing on Enter.
  • Developer: New filter neogrow_review_earnings_note for the review form’s earnings line. Extension API 1.5.

Earlier versions

The full history back to 1.0.0 lives in changelog.txt, which ships with the plugin. It can also be read at https://plugins.trac.wordpress.org/browser/neogrow-loyalty/trunk/changelog.txt