How we score.
The trust score is arithmetic, not opinion. This page is the actual formula the registry runs — six components a store’s own data earns (≤80) plus a verified tier of collected external facts (≤20), computed from public data and refreshed every 24 hours. No store pays to be listed, scored, or re-scored.
What is StoreProfiles?
StoreProfiles is an independent registry of e-commerce stores. It scores 3,081 Shopify stores out of 100 using only data those stores publish themselves, and prints the arithmetic behind every number. A score is read from a store’s own public product feed — how many distinct products it lists, and how many of them are photographed, described and priced — plus, where we managed to collect them, its published refund and shipping policies, a sampled product’s review rating and a timed server response. 545,649 products are on record and every store is re-scored every 24 hours. Each audit line links to the source it was read from. Nothing here is for sale: no paid tier, no placements, and claiming a profile adds 15 points but never unlocks editing the audit or the score. The honest limit: we host no customer reviews, so a store with poor service can still score well on catalog quality.
The formula
The store is live and its public product feed answers with at least one product. Every listed store clears this, which is exactly why it is worth 5 points and not twenty — rules v0.7 cut it, because a component everyone maxes cannot separate anyone. A reachable feed with zero products earns no score at all: the profile shows “Audit in preparation”.
Depth counts DISTINCT products — the same title repeated, or a product duplicated across variants, counts once. Since v0.7 the full 25 needs 300 effective products, not 100: 100 products score 8, 200 score 17, 300 or more the full 25. A feed of 100 rows with 2 real products scores 0 points here, not 8 — and the audit flags that duplication as a con on the profile.
The fraction of products with an image on the feed, times 15. Every product photographed = 15; half = 8, because each component is rounded to a whole point. A product without an image URL counts against the whole catalog.
Only descriptions longer than 40 characters count — the floor for saying something real about a product. A bare title or a one-line “Great quality!” doesn’t clear it.
The fraction of products with a real price greater than zero, times 8. Missing prices and $0 placeholders both score nothing.
The owner proved control of the domain — a meta tag on the homepage, a file under /.well-known or a DNS TXT record, about two minutes — and answers for the data publicly. The only component a store controls directly, and v0.7 raised it from 5 to 15: standing behind your own data publicly is the strongest trust signal a store can give us. It never unlocks editing the score or the audit text; 03 lists what an owner can change.
Up to 20 points from facts beyond the feed, awarded only when we have collected them: +8 for refund + shipping policy pages that have terms written on them, +8 for a sampled product rated 4.3+ across 50 or more reviews, +4 for a sub-400 ms server response from our own probe. v0.7 moved weight here on purpose — these facts are where real stores actually differ. No fact collected means zero — never a penalty. Each fact is shown on the profile with where it was read; the audit keeps only its strongest pros, so a point does not always get a pro line of its own.
score = on_record + catalog + images + descriptions + pricing + claimed + verified · max 5 + 25 + 15 + 12 + 8 + 15 + 20 = 100What a store’s own data can earn tops out at 80 (65 unclaimed, 80 claimed). The verified tier adds up to +20 from external facts we have collected — lifting the ceiling to 100. Across the 3,081 scored stores on record scores run 19 to 85, median 60; 614 of them (19.9%) score 73 or more. See 04 for what the verified tier does and doesn’t count.
Worked example
150 products, 120 of them distinct, 140 photographed, every one described and priced — 49 before external facts, because depth needs 300 distinct products for full marks and being on record is worth only 5. Images, descriptions and pricing reach 34 of 35, past the 32-point bar, so the verified tier counts: +8 for policy pages with terms on them and +4 for a 350 ms server response; 30 reviews are too few for the review point. Claiming would add +15, for 76.
No points for sale
Every point is arithmetic on public data anyone can re-check — the store’s product feed, its policy pages, one sampled product page and one timed request (05) — plus the fixed claim points. There is no editor to persuade and no judgment call in the pipeline.
A score moves when the store’s data moves, or when we change a rule — and every rule change is on the changelog. Each day’s read is snapshotted, and the history is public — on every profile and in the JSON API.
Claiming unlocks a public reply under the audit and exactly +15 — accountability points. The owner can edit the store’s name, description, social links (one audit line counts them) and partner terms; the product data, the policy, review and speed facts, the audit text and the rest of the score stay out of reach. $0 placements sold — ever.
Limits of the verified tier
- Full review aggregation
Our review point reads structured ratings from one sampled product page, not every review across every platform. It confirms a real public rating exists and clears a bar — it is not a store-wide review average.
- Real-user (field) performance
The speed point is a single server-response measurement from our own probe, not Core Web Vitals collected from real shoppers on their own devices and networks. It rewards a fast origin, nothing more.
- Dispute & complaint history
Chargebacks, regulator actions and third-party complaint records. We do not ingest them, so they neither add nor subtract points today.
The verified tier is worth 20 points precisely because it stays narrow: we award only facts we can collect and cite, and we say what they are — a policy page, one sampled rating, one server-response measurement. When a signal above lands, the formula changes and this page changes with it. A store that has none of the verified facts is not penalised; it is simply scored by what its own data earns.
Data sources
- 1.1/products.json — the public product feedTitles, prices, images and descriptions — the same JSON anyone can open at store.com/products.json. We walk the whole feed once a day and store a sample. This is the sole input to the feed components (≤60 of the 100).
- 1.2/meta.json — store currencyThe store’s own currency setting, used to label prices on the profile. When the endpoint doesn’t answer, we display USD as a fallback — a display default, not a verified fact. Currency never affects the score.
- 1.3Policy pages · a sampled product · the homepageInputs to the verified tier (≤20): the store’s own refund/shipping policy pages — counted only when the page carries terms and not just the theme’s menu (since 10 September; see the changelog), structured review data on one sampled product page, and a single timed request to the homepage from our probe. Each is re-collected on its own schedule and cited on the profile — the only source of points beyond the product feed and the claim.
Questions
Everything a product feed and a claim can prove tops out at 80. The last 20 come from the verified tier: +8 refund + shipping policy pages that have terms on them, +8 a sampled product rated 4.3+ across 50+ reviews, +4 a sub-400 ms server response from our probe. Each is awarded only when we have actually collected the fact, and only once images, descriptions and pricing together reach 32 of their 35 points. A store with none of them still scores by its own tier alone — no penalty for facts we haven't collected. Across the 3,081 scored stores on record scores run 19 to 85 with a median of 60; 614 of them (19.9%) score 73 or more.
Because no store has claimed its profile yet. 15 of the 100 points are the claim, and they cannot be earned by data alone — an unclaimed store therefore tops out at 85, which is exactly where the fleet maximum sits. The ceiling and its reason are printed on every profile, so nobody has to infer it from the scale.
Not since rules v0.8. The verified tier is only added once the catalog itself clears a quality bar — 32 of the 35 points for images, descriptions and pricing. The facts are still collected and still shown on the profile; they simply stop being worth points while part of the catalog has no photo, no description or no price. The bar deliberately excludes catalog depth: gating on size would penalise small brands for being small rather than for being careless.
The store’s own public data, at the next daily refresh — or a claim, or a rule change, which the changelog records. Add distinct products (up to the 300 that count — duplicates don’t), photograph them, write descriptions past 40 characters, fix zero prices. Scores fall the same way when data degrades — every store is re-scored on the same schedule.
Exactly +15 on the rules v0.10 scale, plus a public reply under the audit and partner-program controls. The owner can also edit the store’s name, description and social links. The audit text and every other point of the score stay computed from public data.
Claim the profile and reply publicly — the reply appears on the profile, next to the audit it answers. If a fact we cite is wrong, we re-collect the feed and re-score. The formula is not negotiable; the data behind it is checkable by anyone.