Goodspring Keel · in build

Find the problem.
Fix it. Keep it fixed.

Your admin, your product pages, their structured data and your Merchant Center feed each tell a different story about the same product. Keel reads all four, shows you where they disagree, fixes the data underneath in bulk, and proves it with a re-scan.

The grader reads your store with no install and no email. Keel is from $19 a month.

productHarbor Jacket, size M
adminbarcode empty · 138.00 · in stock
page138.00 · in stock
markup148.00 · no GTIN
feeddisapproved: missing GTIN
found2 things
  1. admin, feedno GTIN, so Google disapproves the item
  2. page, markupthe markup says 148.00, the page 138.00
  3. fixGTIN from the supplier sheet, check digit valid
  4. thenre-scan the page, the markup and the feed

Illustrative, a made-up product.

What it represents

The measurement is neutral.

The grader reads a store's product pages from outside and reports what fails, with counts, denominators and examples: no install, no email. In the app, the audit covers the whole catalog, every finding with its evidence.

The fix has a public price.

Every plan is printed where you buy it. Never per order, never a share of revenue, no retainer, and no implementation team waiting at the end of a report.

Your catalog is never a guess.

Keel never invents an identifier and never writes without a preview, a snapshot and an undo. What it cannot read it reports as unknown, not as a pass.

Feed apps submit what you have. SEO suites grade it. Keel is built for the part in between, which the App Store has barely had: read every surface a shopper never sees, name what disagrees and the Shopify field that fixes it, fix it in bulk without a developer, and keep it correct as new products arrive and as Google and Shopify change the rules underneath you.

Tell me what is wrong in my terms. Fix it without a developer. Prove it worked. Warn me when it breaks again.

The four jobs Keel is built to do, in the merchant's own words.

One product, four surfaces

Product data that agrees with itself.

Search engines, ad feeds and shopping agents read the surfaces you never look at. Keel reads them too, names the one that disagrees, and points at the Shopify field that fixes it.

Field
Admin
Product page
Structured data
Feed
GTIN
0851245038…
not shown
absent
disapproved: missing_gtin
Price
138.00
138.00
148.00
138.00
Availability
in stock
in stock
InStock
could not read

Illustrative, a made-up product. This is the shape of what Keel shows: which surface disagrees, what it says, and the field that fixes it.

What it checks

Identifiers

What the channels match by.

A GTIN missing, failing its check digit, or shared by two products; a brand missing; a part number missing where there is no GTIN.

Category and attributes

What products are classified by.

No Standard Product Taxonomy category, or its attributes left empty; a Google product category that disagrees with it.

The product page's markup

What machines are told.

A Product node missing, duplicated by the theme and an app, or disagreeing with the admin or the visible page; an Offer without its price, currency or availability.

Price and availability

Where the surfaces part ways.

Price, currency and availability compared across the admin, the page and the Merchant Center feed, down to the variant where they differ.

Images

What Google will refuse.

No image, one too small, or a single image standing in for several colors.

What arrives and what changes

Why the subscription exists.

A new product created incomplete; an edit that breaks a check it used to pass; Google or Shopify changing a rule, with the count of your products it affects and the source linked.

With Merchant Center connected, each item's status sits beside the field that fixes it. Everything else works without the connection.

The first ten minutes

  1. Install. The audit starts on its own, with no setup screen. The first finding, from your own catalog, is built to show within a minute. Choose Watch for fixes; without a plan, Home shows your store's counts and the three biggest issues.
  2. The three biggest issues. Each in plain language, with a count out of your catalog, one example product, and its evidence. What could not be read is reported as unknown, beside the count and never inside it.
  3. Fix from a preview. Identifiers come from you or your supplier's sheet, check digits validated, never guessed. Every write is snapshotted, and the undo is one click.
  4. See before and after. Keel re-scans what it changed, the page as well as the admin, and shows what resolved and what is still open, with its denominator.
  5. Then it keeps watching. Every day Keel reads the catalog again, and it alerts you when a surface disagrees or a fix reverts. A digest follows, daily or weekly, as you choose.

The rules it keeps

  • Every write has a preview, a snapshot and an undo. Bulk jobs included, and the undo lasts 30 days.
  • Counts with denominators, never a score. "20 of 190 products lack a GTIN" is a finding; a number out of a hundred is not. Every finding carries its evidence.
  • Unknown is a status. What Keel could not read, it says it could not read. It is never counted as a pass.
  • It never invents an identifier. GTINs, part numbers and brands come from you, your supplier's sheet or the manufacturer. A suggested category is only a suggestion until you confirm it.
  • Neutral where it cannot help. Keel names the tool that can, with no affiliate link.
  • Your data stays yours. Each store's data serves that store only. On uninstall, what Keel wrote stays in your store, and what Keel holds is deleted within 30 days.

Plans and the grader

Keel starts at $19 a month.

Watch: $19 a month, or $190 a year, up to 500 products. On a monthly plan, each 1,000 products past 500 adds $5 a month, up to $19.

Findings: free. A full audit when you install, your store's counts in each area, and the three biggest issues, with examples.

A store URL in. A linkable report out. No install, no email.

The grader reads a sample of a store's product pages from the outside, the way a search engine or a shopping agent would, and prints the sample size and what it could not read. It cannot see admin fields or Merchant Center status, and says so; that gap is the reason to install. It reads through the same crawler as the practice; a store that blocks it gets an honest "could not read", never a workaround. It lives at check.good-spring.com.

Want it fixed for you? See the Fix & Prove Sprint.

What Keel does not do

Keel fixes your product data.

It does not file Merchant Center appeals, does not act as an EU responsible person, does not classify customs codes, and does not give legal advice. It edits no theme code, adds no script to your storefront, and sends no feed of its own: the Google channel you already use keeps doing that, with better data. Google re-evaluates items on its own schedule; Keel tells you when the status changes.

Questions

Does fixing the data clear a disapproval?
Keel fixes the data in your store and re-scans it. Google re-evaluates items on its own schedule; with Merchant Center connected, Keel tells you when the status changes.
Does it work with my theme?
Keel fixes the data, and most current themes generate their Product markup from it. Where a theme does not, Keel says so and offers its own markup, off by default. It never edits theme code.
Do I need Merchant Center?
No. Everything except Merchant Center status works without it. Connecting is optional, Keel only reads from it, and you can disconnect it from Settings at any time. How Keel handles that data is in the privacy policy.
What happens when I uninstall?
What Keel wrote stays in your store, because it is your data; use the undo first if you want a change reversed. What Keel itself holds is deleted within 30 days.
How is the grader different from Keel?
The grader reads a sample of a store's product pages from outside: no install, no email. Keel reads the whole catalog, your admin and Merchant Center included, and fixes the data, from $19 a month.

Where it stands

October 2026: Keel is in Shopify's App Store review.

The check engine and a 340-product test store with known defects pass their tests, deterministically, and the platform pieces are proven on a live development store: reading the catalog, writing to it with an undo, and billing. The app is built and submitted, and the grader is live. No date is printed because review sets it; sign up below and you hear the day it is live.

The first installs are worked by hand.

Hear when Keel is live.

One email when the listing is live, and nothing else. Your address goes to hello@good-spring.com, read by a person, not a list vendor; reply "stop" and it is gone. Say what you would want fixed first and you can be among the first installs.

Tell me when Keel is live Opens an email to hello@good-spring.com with the subject filled in.