Title: GRO
Author: GRO Engineering
Published: <strong>Julai 3, 2025</strong>
Last modified: Oktoba 9, 2026

---

Tafuta vijalizi

![](https://ps.w.org/grocerslist/assets/icon-256x256.png?rev=3322363)

# GRO

 By [GRO Engineering](https://profiles.wordpress.org/grocerslist/)

[Pakua](https://downloads.wordpress.org/plugin/grocerslist.1.30.0.zip)

 * [Details](https://sw.wordpress.org/plugins/grocerslist/#description)
 * [Reviews](https://sw.wordpress.org/plugins/grocerslist/#reviews)
 * [Development](https://sw.wordpress.org/plugins/grocerslist/#developers)

 [Saidia](https://wordpress.org/support/plugin/grocerslist/)

## Maelezo

GRO is a suite of tools built for bloggers. The plugin makes it super easy to start
earning more revenue from your website traffic through our two plugin based services:

#### Paid Memberships

Offer website visitors access to an ad-free experience by joining your membership
program. Offer paid members exclusive access to specific posts, pages or other gated
content. Easily set your membership price, customize your membership display settings,
and we will handle the paid membership checkout, member logins, and member exclusive
content gating. Open up a predictable, recurring revenue stream on top of your existing
content site, rather than pushing your audience into substack.

#### Amazon Deep links

Earn more from the existing Amazon affiliate links published on your posts. Connect
the plugin to your existing GRO account, and we’ll quickly find all amazon links
published on your site.

We’ll then automatically convert them into deep links for Amazon. When clicked, 
it will bring the visitor into their Amazon app on their phone, where they have 
the highest likelihood of converting. Driving clicks into the Amazon app, rather
than into Amazon in the browser, converts 3-5X more.

### Features

An overview of our features:

 * Set a price for your paid membership, which will get your audience access to 
   an ad-free experience on Raptive or Mediavine.
 * Option to set specific posts, or specific pages as member-exclusive benefits.
 * Automatically sync paying members to Kit (formerly ConvertKit), Flodesk, mailer
   lite, mailchimp and more.
 * Quickly scan all your WordPress posts to find previously published Amazon links.
 * Automatically convert all published Amazon links into deep links that open in
   the Amazon app.

### External services

The plugin connects to GRO (formerly Grocers List), the service behind your GRO 
account, provided by GRO Holdings, Inc. For Amazon deep links, GRO forms and paid
memberships it calls GRO’s API at app.grocerslist.com from your site’s server, with
the API key you save in the plugin’s settings:

 * **Amazon deep links.** When a post is saved, and when the plugin scans your existing
   posts, it sends GRO the Amazon links in them, plus non-personal HTTP metadata,
   and gets back GRO short links (linksta.io) that open in the Amazon app. Your 
   pages show those links in place of the Amazon ones, so a visitor who taps one
   passes through GRO’s link service on the way to Amazon.
 * **GRO form designs.** The GRO Form and GRO Content Gate blocks and the `[gro_form]`
   and `[gro_save_to_email]` shortcodes show forms you design in GRO. When it shows
   a form, and when the block editor lists your forms, the plugin fetches that form’s
   design (its copy, layout and colors) or your list of forms from GRO. These requests
   carry no visitor data.
 * **GRO form submissions.** When a visitor submits one of your GRO forms, the plugin
   sends GRO the form’s id, the visitor’s email address, their first name if the
   form asks for one, whether the page showed the form’s checkbox (the Save to Email
   opt-in, or the consent box on a signup form or content gate) and whether they
   ticked it, and the page they were on: its URL (pointing at the WP Recipe Maker
   recipe card when there is one), its title or recipe name, its category names 
   and its featured or recipe image URL. GRO then does what you set the form up 
   to do: it adds the visitor to your contacts with the form’s tags (and “Category:”
   tags from the page’s categories), sends the email and/or adds them to the sequence
   you chose, and for a Save to Email form it fetches the page to build the email’s
   preview image and emails the visitor a link to it. When a Save to Email form 
   shows the opt-in and the visitor leaves it unticked, GRO only sends that email
   and does not add the visitor to your contacts. No WordPress user account is created.
 * **Form updates from GRO.** When you edit a form, or change the brand colors your
   forms use, GRO sends your site a notice at the plugin’s `grocerslist/v1/forms/
   invalidate` REST route. It names the form and carries no visitor data. The plugin
   then fetches that form from GRO again and, if it changed, clears your page cache.
 * **Advanced Tracking.** When you turn on Advanced Tracking for Raptive or Mediavine
   in GRO, GRO’s answer to a successful GRO form submission includes the visitor’s
   hashed email address (a SHA-256 hash, not the address itself). The plugin’s form
   script hands it to the Raptive or Mediavine ad script already on your page, which
   passes it to that ad network as it does the hash on the links GRO sends, and 
   when the form sends the visitor to another page after they sign up, that page’s
   address carries it too, except a redirect to GRO’s own links (gro.co, grocerslist.
   com, linksta.io and their subdomains), which goes exactly as you set it. When
   a form shows the opt-in checkbox and the visitor leaves it unticked, the plugin
   hands the ad script nothing and adds no hash to that page’s address. The plugin
   makes no extra request for this and does not store the hash. Separately from 
   the plugin: an ad network’s identity script — the kind your ad partner loads 
   on your pages, which this plugin does not load — can read your pages’ email fields
   itself. On a GRO test site, observed on 2026-10-07, such a script hashed and 
   sent the typed address as soon as the email field lost focus, with no form submission
   and whatever the checkbox said. The plugin does not load that script and cannot
   switch it off; what it collects is between you and your ad network. The plugin’s
   own part: after a successful sign-up the visitor’s browser remembers the address,
   and the plugin fills it into a GRO form’s email field on later page views, as
   it does for a signed-in member.
 * **Paid memberships.** When memberships are on, your pages load GRO’s membership
   script from wp-plugin.grocerslist.com in visitors’ browsers. When a visitor signs
   up, logs in, confirms their email or resets their password, the plugin sends 
   GRO what they entered (their email address and password, or the code from GRO’s
   email, with a new password for a reset) and, on sign-up, the page they were on
   and whether the address belongs to one of your site’s WordPress users (and whether
   that user can edit the site); GRO keeps their member account and sends them to
   Stripe to pay. For signed-in members the plugin asks GRO whether their membership
   is active and tells GRO the id of the WordPress account the plugin signs them
   in with, and every hour it asks GRO which members have left so it can remove 
   those accounts. It also tells GRO when a visitor sees a members-only gate or 
   taps the membership bar, without any visitor data.

GRO’s [Creator Terms of Service](https://gro.co/creator-tos) and [Privacy Policy](https://gro.co/privacy).
More detail: [How we use external services and what data we collect](https://github.com/GrocersList/grocerslist-deep-links/blob/main/docs/EXTERNAL_SERVICES.md).

### Terms of Service and Privacy Policy

 * [Creator Terms of Service](https://gro.co/creator-tos)
 * [Privacy Policy](https://gro.co/privacy)

### Contributors & Developers

“GRO” is open source software. The following people have contributed to this plugin.

Contributors: GRO Holdings, Inc | Engineering

#### GRO form events

When a GRO form submission succeeds, the form fires a bubbling DOM CustomEvent: “
grocerslist:subscribed” from a signup or content gate form, “grocerslist:saved” 
from a Save to Email form. Its detail carries eventId (that submission and no other),
kind (“signup”, “save-to-email” or “content-gate”), status (the word the route answered
with, such as “subscribed” or “sent”), placement (“block”, “shortcode” or “gate”),
subscribe and optInShown (booleans), and formId, postId and recipeId (strings). 
When the form sends the visitor to another page afterwards, that page’s address 
carries the same eventId as “gl_eid”, so a thank-you page reporting the same conversion
can be told apart from a second one.

The detail never carries the visitor’s email address, raw or hashed, and nothing
stands in for it: anything on the page can listen, including an analytics or advertising
tag, and an address reaching one is against Google Analytics 4’s and Meta’s terms.
That is about the event; a script on the page can still read the form’s email field
itself, which is its own doing and not the plugin’s. Nothing fires at all for a 
submission caught by spam protection, one your site or GRO refused, or an answer
the plugin could not read.

## Bloku

Kijalizi hivi vinawezesha bloku 2.

 *   GRO Content Gate Hide everything below it, or only what you put inside it, 
   behind one of your GRO forms. Visitors who subscribe see it straight away.
 *   GRO Form Show one of your GRO forms: a signup form, Save to Email or a content
   gate. Edit its copy and look in GRO.

## Reviews

![](https://secure.gravatar.com/avatar/42671dfa029a5b8a4ff1e9bff47a1e4b8b340ea3589485b06629a9b1512ce6c0?
s=60&d=retro&r=g)

### 󠀁[Deep Links are Game Changing](https://wordpress.org/support/topic/deep-links-are-game-changing/)󠁿

 [Mike Zielonka](https://profiles.wordpress.org/mikezielonka/) Julai 4, 2025

I've been running this in beta for a few weeks! Its a game changer! Must have for
any food creator! 💪

![](https://secure.gravatar.com/avatar/d9f1c7224165deb5053f6eb32cfd0d97bacb074eb4460c474c98225c98495c94?
s=60&d=retro&r=g)

### 󠀁[Makes you money while you relax](https://wordpress.org/support/topic/makes-you-money-while-you-relax/)󠁿

 [GRO Engineering](https://profiles.wordpress.org/grocerslist/) Julai 4, 2025 1 
reply

Install this plugin, and in just a few clicks, you'll see 3-5 times the revenue 
that old Amazon non-deep links would generate.

 [ Soma maoni yote 2 ](https://wordpress.org/support/plugin/grocerslist/reviews/)

## Wachangiaji & Wasanidi

“GRO” is open source software. The following people have contributed to this plugin.

Contributors

 *   [ GRO Engineering ](https://profiles.wordpress.org/grocerslist/)

[Translate “GRO” into your language.](https://translate.wordpress.org/projects/wp-plugins/grocerslist)

### Interested in development?

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

## Changelog

#### 1.22.1

 * Rebrand: Grocers List is now GRO.

#### 1.23.0

 * Update Mediavine ad-removal to not remove video players.

#### 1.24.0

 * Sales page generator for admins.

#### 1.25.0

 * Security updates.

#### 1.26.0

 * WP user removal and configurable badge icon for post gating.

#### 1.27.0

 * Suppress ads for paid members on WP Recipe Maker print pages.

#### 1.28.0

 * Server side CSS for gated-post lock icon.

#### 1.29.0

 * Expand server side CSS for gated-recipe-cards with lock icon.

#### 1.30.0

 * New GRO Form block: show the signup and Save to Email forms you set up in GRO,
   in your brand colors. Edits you make to a form in GRO show on your site automatically,
   usually within seconds — for a form inside a content gate, within about five 
   minutes.
 * New `[gro_form]` and `[gro_save_to_email]` shortcodes for your GRO forms. Both
   also work inside WP Recipe Maker recipe card templates.
 * New GRO Content Gate block: hide everything below it, or only the blocks you 
   put inside it (a recipe card, say), until the visitor subscribes through one 
   of your GRO forms. Visitors see a blurred preview with the form on top, and what
   the gate hides is not in the page until they subscribe — except that WP Recipe
   Maker also publishes a recipe’s ingredients and steps in the page’s recipe data,
   which the gate’s new switch can leave out.
 * Page-cache friendly: the plugin clears known page caches (WP Rocket, W3 Total
   Cache, WP Super Cache, LiteSpeed Cache, SiteGround Optimizer, WP Fastest Cache,
   Breeze, WP Engine, Kinsta, Cache Enabler, WP-Optimize, Nginx Helper, Hummingbird,
   and Cloudflare, through Cloudflare’s own plugin with its cache or APO switched
   on) when a form changes in GRO, when the plugin is activated and when it is updated.
   Updating to this version clears your page cache once. A CDN or host cache the
   plugin cannot reach — Bunny CDN, Rocket.net’s edge, Cloudflare without its plugin—
   keeps the old form until its own cache lifetime ends; a developer can purge it
   from the `grocerslist_forms_invalidated` action.
 * GRO forms keep showing from the plugin’s saved copy while GRO is slow or unreachable,
   and the copy is refreshed after the page has been sent, so your pages don’t wait
   on GRO.
 * Spam protection and rate limits for GRO forms and the content gate.
 * Optional email-consent checkbox on any GRO form, ticked to start with unless 
   the form is set in GRO to start it unticked: on a signup form or a content gate
   it must be ticked to sign up; on a Save to Email form it stays an optional opt-
   in.
 * A GRO form can send visitors to a page of your choice after they sign up (never
   from inside a content gate, which opens in place).
 * With Advanced Tracking on in GRO, a GRO form submission hands the visitor’s hashed
   email to your site’s Raptive or Mediavine ad script, as GRO’s links already do,
   unless the form shows the opt-in checkbox and the visitor leaves it unticked.
 * GRO form fixes: filling in your email with browser autofill or paste is no longer
   refused as too quick; a blank or mistyped address is caught on the page before
   anything is sent; and when a form is rate-limited, the message now says about
   how long to wait.
 * Only real sign-ups count: a form submission caught by spam protection, or an 
   answer your site could not read (a firewall or a maintenance page answering for
   the plugin), no longer counts as a sign-up. The hidden anti-spam field now hides
   itself even where a performance plugin strips the form’s stylesheet, and the 
   sign-up event a GRO form fires for your analytics no longer carries the visitor’s
   email address.
 * New switch on the GRO Content Gate, off to start with: leave a gated recipe’s
   ingredients and steps out of the page’s recipe data while the gate is locked.
   The recipe keeps its name, picture, summary, rating, times and nutrition facts,
   so it can still show as a recipe in search results. Clear your page cache and
   CDN for the post after turning it on.
 * Faster for returning subscribers: what a content gate reveals is now rendered
   once and reused for a few minutes instead of being rebuilt for every visit. Editing
   the post, or a WP Recipe Maker recipe inside the gate, shows up straight away.
 * Requires PHP 7.4 or newer. Tested up to WordPress 7.1.

## Meta

 *  Version **1.30.0**
 *  Last updated **15 masaa zilizopita**
 *  Active installations **200+**
 *  WordPress version ** 4.4 au juu **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 au juu **
 *  Language
 * [English (US)](https://wordpress.org/plugins/grocerslist/)
 * Tags
 * [affiliate](https://sw.wordpress.org/plugins/tags/affiliate/)[amazon](https://sw.wordpress.org/plugins/tags/amazon/)
   [deep links](https://sw.wordpress.org/plugins/tags/deep-links/)[memberships](https://sw.wordpress.org/plugins/tags/memberships/)
   [monetization](https://sw.wordpress.org/plugins/tags/monetization/)
 *  [Advanced View](https://sw.wordpress.org/plugins/grocerslist/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  2 5-star reviews     ](https://wordpress.org/support/plugin/grocerslist/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/grocerslist/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/grocerslist/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/grocerslist/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/grocerslist/reviews/?filter=1)

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

[See all reviews](https://wordpress.org/support/plugin/grocerslist/reviews/)

## Contributors

 *   [ GRO Engineering ](https://profiles.wordpress.org/grocerslist/)

## Saidia

Got something to say? Need help?

 [Angalia Baraza ya Usaidizi](https://wordpress.org/support/plugin/grocerslist/)