Description
Shoppers add to cart and vanish before checkout. Keyset catches their email at the moment of intent — consent-first and under 8 KB. Free, with no lead cap, no forced branding, and nothing locked.
Most abandoned cart plugins don’t capture abandoned carts. They capture abandoned checkouts — they only fire once a shopper has already reached the checkout page and started filling it in. By then most guests are long gone. Keyset meets the shopper earlier, at Add to Cart, where intent is highest and nothing else is listening.
Many capture plugins grab emails through silent keystroke logging. Keyset refuses to. Nothing is captured without a clear, unchecked-by-default yes — and every lead carries a consent record you can stand behind.
Abandoned cart vs. abandoned checkout — why it matters
Roughly 70% of carts never become orders. The plugins that promise to “recover abandoned carts” almost all wait for the checkout page to load before they capture anything — so they only ever see the shoppers who were already going to check out. Keyset fires the moment a guest clicks Add to Cart: peak purchase intent, and the point where hesitation, distraction, and second-guessing quietly cost you the sale. It shows a calm prompt, fires only on an explicit opt-in, stores every lead in your own store’s database, and hands it to the email tool you already use. Behavioral research on cart abandonment and digital nudging points the same way: meet the shopper who has signalled intent earlier, and you keep more of it — with consent, never a dark pattern.
What it does
- Consent-first, always. An explicit, unchecked-by-default opt-in — no silent capture, no pre-ticked boxes. Every lead comes with a consent record: the exact text shown, a timestamp, and the page.
- Unlimited, forever. No lead cap and no trial. Capture, consent records, CSV export and deletion are free and uncapped, forever.
- Your leads, your database. Leads are stored locally in your own WooCommerce install. We host nothing. Export to CSV anytime.
- Unbranded by default. The prompt carries no logo and no “powered by” line. If you want to help other store owners find Keyset, you can switch on a small glyph. It’s off unless you turn it on, and it never links anywhere.
- Faster checkout. Captured name and email prefill the checkout contact fields — a genuine benefit for the shopper, not just for you. They can still edit before they buy.
- Lightweight by design. Loads only on product and shop pages, under 8 KB, no jQuery, no bloat. It answers the one complaint every merchant has about capture plugins: they slow the whole site down.
- Block-checkout compatible. Works with the modern WooCommerce block checkout and the classic one, from day one — no console errors, no layout breakage.
- No lock-in. Hands leads to the email tool you already use — Keyset never sends on your behalf. Delete a lead, or all of them, whenever you like.
How it works
- You finish the one-minute setup. Review the consent sentence and your privacy-policy link, then click “Turn on capture.” Shoppers see nothing until you do.
- A guest adds to cart. A shopper browses, clicks Add to Cart, and a calm prompt offers to save their cart — inline, dismissible, never blocking the buy.
- They opt in, with consent. They leave an email (name optional) and tick a clear consent box. The lead is saved to your own database with a full consent record.
- Checkout gets faster. Their details prefill at checkout, so buying is quicker — and if they leave, you hold a consented lead you actually own.
Honest by default
We don’t send marketing email, we don’t host your data, we don’t put our name on your store unless you ask us to, and we don’t claim to make your store “GDPR compliant.” We provide consent-first capture — a clear opt-in, a real consent trail, and full control over deletion — and we say exactly that. Trust is a feature, not a footnote.
Free, with no catch
Most free plugins come with a catch. This one doesn’t: unlimited captures, no watermark, nothing held back. Everything in the free plugin works for everyone, and capture, consent records, CSV export and deletion stay free forever.
Missing something? Tell us from the plugin’s Help shape Keyset Pro form. We read every request, reply personally, and let you know when the thing you asked for ships. What we build next comes from what you ask for.
External services
This plugin connects to one external service, and only when the site admin chooses to use it.
Feature-request form (“Help shape Keyset Pro”). When an admin fills in the form in the plugin’s admin screen and clicks send, the plugin sends the email address they enter, their message, and the plugin version to Keyset at kinto.build. Nothing is sent automatically, and no shopper or lead data is ever sent.
- Service provider: Keyset — https://kinto.build
- Privacy policy: https://kinto.build/privacy
Source Code
The JavaScript and CSS in the build/ folder are compiled. Their full, human-readable source ships with the plugin in the src/ folder:
src/storefront/— the “save your cart?” prompt shown to shoppers (TypeScript, compiled tobuild/storefront.jsandbuild/storefront.css).src/admin/— the plugin admin screens (TypeScript + React, compiled tobuild/admin.jsandbuild/admin.css).
The build uses the standard WordPress toolchain, @wordpress/scripts (webpack). The build configuration (package.json, package-lock.json, webpack.config.js, tsconfig.json) is included in the plugin. To rebuild the assets:
- Install Node.js 22 or later.
- In the plugin folder, run
npm cito install the exact build dependencies. - Run
npm run build. The compiled files are written tobuild/.
Use npm run start to rebuild automatically while you edit files in src/.
The two bundled font files (Hanken Grotesk and JetBrains Mono, both under the SIL Open Font License) are emitted unchanged by webpack from src/ into build/fonts/.
Screenshots




Installation
- Install and activate WooCommerce.
- Install and activate Keyset Cart Lead Capture.
- Follow the short setup flow — capture goes live when you finish it.
FAQ
-
How do I capture emails before checkout in WooCommerce?
-
Install and activate Keyset, then finish the one-minute setup and click “Turn on capture.” From then on, when a guest clicks Add to Cart, a calm consent-first prompt appears inline on the product or shop page, before they reach checkout. Anyone who opts in is saved to your own store’s database as a consented lead, with a full consent record.
-
What’s the difference between an abandoned cart and an abandoned checkout?
-
An abandoned cart is a shopper who added items and left — often without ever reaching the checkout page. An abandoned checkout is someone who got to checkout and started filling it in before leaving. Most “recover abandoned cart” plugins only capture the second group, because they don’t fire until the checkout page loads. Keyset fires at Add to Cart, so it reaches the far larger group who leave before checkout.
-
Is there a lead limit or a paid version?
-
No limit, ever. Capture is unlimited and everything in the free plugin works for everyone — no trial, no locked settings. There’s no paid tier yet; if we add one, capture, consent records, CSV export and deletion stay free. If there’s something you need that isn’t here, tell us through the form in the plugin and we’ll get back to you.
-
Will my shoppers see your branding?
-
No. The prompt is unbranded by default. During setup we ask once whether you’d like to show a small Keyset glyph to help other store owners find the plugin. It’s unticked, you can skip it, and it never links anywhere. You can switch it on or off in Settings with one click.
-
Does this send marketing emails for me?
-
No. Keyset is the capture layer only. It collects consented leads and hands them to the email tool you already use — it never sends on your behalf. That’s on purpose: one job, done well.
-
Where is the captured data stored?
-
In your own WordPress/MySQL database. We host nothing. You can export to CSV or delete leads — one or all — at any time.
-
Does the plugin connect to any outside service?
-
Only if you use the “Help shape Keyset Pro” form. When you click send, it posts your email, your message and the plugin version to us at kinto.build. Nothing is sent otherwise, and shopper data never leaves your site.
-
Does this make my store GDPR-compliant?
-
No plugin can promise that, and we don’t. What we provide is consent-first capture: an explicit, unchecked-by-default opt-in and a full consent record for every lead. We don’t claim to make your entire store compliant — that depends on your wider setup — but the capture step is clean by design. Your legal compliance remains your responsibility.
-
Does the prompt work with my theme?
-
The prompt hooks into standard WooCommerce add-to-cart markup: the single product form (classic and AJAX add-to-cart themes) and the shop/archive grid buttons. It is tested on Storefront, Twenty Twenty-Four, Astra, Blocksy, and Botiga, plus common mini-cart drawer plugins. A theme that replaces WooCommerce’s markup or intercepts clicks with its own early handlers may bypass the prompt — when that happens the shopper’s add-to-cart works exactly as before; the prompt simply doesn’t show. Nothing ever blocks the buy flow.
-
Does it work with the WooCommerce block checkout?
-
Yes. It’s compatible with both the modern block checkout and the classic one from day one — no console errors, no layout breakage — and captured details prefill either.
-
Will it slow my store down?
-
No. The script loads only on product and shop pages, weighs under 8 KB, and uses no jQuery. It answers the one complaint every merchant has about capture plugins.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Keyset Cart Lead Capture” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Keyset Cart Lead Capture” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.1.3
- Ship the human-readable source (
src/) and build configuration for the compiled JavaScript and CSS, and document how to rebuild them in a new “Source Code” readme section, to meet a WordPress.org plugin review requirement. No functional changes.
0.1.2
- Rename the plugin to “Keyset Cart Lead Capture” (previously “Kinto Capture”) to meet a WordPress.org plugin review requirement. The display name, plugin slug/text domain (keyset-cart-lead-capture), and internal identifiers change; there are no functional changes.
0.1.1
- Fix Plugin URI and Author URI to point at the live kinto.build product and homepage (the previous GitHub URLs returned 404). No functional changes.
0.1.0
- Initial release.
