How we work
Pricing
Collected automatically from each vendor's public pricing page on a schedule. Every figure carries the capture date. Non-USD prices are converted at the ECB reference rate and marked ≈. Raw page snapshots are archived for every data point. Limit: usage-based pricing is summarized from published tiers; negotiated/enterprise pricing is invisible to us.
Ratings & merchant sentiment
Ratings and review counts come from the Shopify App Store's published structured data. Sentiment themes are synthesized from each app's most recent reviews — paraphrased, never quoted, counted by theme. Limit: recent reviews overweight the current product version; sample sizes are shown.
Feature matrices
Extracted from vendor App Store listings against a fixed per-category taxonomy. Unstated features are marked unknown ("—"), never guessed. Limit: listings understate features; vendor docs may confirm more.
Brand stack detection
We scan brand storefronts' public HTML for vendor script and CDN signatures. Presence of a vendor's code is strong evidence it's in use; absence proves nothing (server-side or inner-page tools escape detection). Confidence is shown per detection.
Rankings
Category rankings use a disclosed formula — App Store rating ×10 + log₁₀(review count) ×6 + confirmed features ×0.75 + free tier ×3 — computed from the data above. Products without ratings are listed unranked rather than scored.
Independence
No vendor pays for placement or ranking. We currently have no affiliate relationships; if that changes, affected links will be disclosed on the page. Verdicts marked "auto-generated" are computed from data; editorial verdicts are signed.
Corrections and contact
Every number here is measured, and measurement can be wrong. If something about your product or storefront is inaccurate, email hello@dtcproof.com with the evidence and we will correct it and note the date. Detection reflects what a public page loaded on the date shown — server-side and checkout-only tools are invisible to us, so absence is never a claim.