FAQ & HELP CENTER
Frequently asked questions.
Find answers to the most common questions about implementation, fit logic, data, and pricing.
Last verified: 25 August 2026
Data & privacy
3What data leaves our servers?
Your product records — the fields you choose to send, including the measurements — and nothing else. ShirtMath does not receive your order data, your customer records or your payment data.
Where are shopper images processed, and are they retained?
Images are uploaded to the ShirtMath scan service, measured there, and it is the measurements rather than the photograph that the product uses afterwards. The retention period is set by the scan service configuration and is documented at integration time rather than estimated here.
What happens when a shopper's photo is unusable?
The scanner leaves the measurements it cannot read blank. If too little is readable to compare anything, the response is INSUFFICIENT_DATA and the shopper is told plainly, rather than shown a guess.
Integration
4Which catalog formats are supported?
Three connectors are implemented: a CSV product feed, a JSON product feed and a custom retailer API. A feed can be uploaded inline or fetched from an https URL, a field map handles column names that are not ours, and large catalogs are paged. Shopify OAuth, WooCommerce and BigCommerce are declared coming soon and are not built.
What happens on a partial or failed import?
Records that validate are imported. Records that do not — a row with no product id, a size chart too ambiguous to classify — are recorded as dropped or quarantined and reported back to you rather than coerced into the catalog. The apply runs in one transaction and the snapshot is only marked complete once it succeeds, so a failed sync leaves your last known-good catalog exactly as it was.
How do product updates and deletions propagate?
Through a re-sync. Product and variant identifiers are derived from the content, so running the same feed again is idempotent: rows are matched rather than duplicated, and a product that has left the feed stops being eligible to be recommended. Webhook signatures are verified where a connector supports them, but none of the three implemented connectors registers webhooks yet, so scheduled and manual syncs are the honest answer today.
What happens if a product has no measurement data?
It is excluded from fit matching rather than given invented numbers, and the response says so. This is the same rule the consumer site runs on.
Product
3How do shoes differ from garments?
A shoe photograph alone never produces a verified size or fit claim. Fit guidance for shoes requires trusted evidence — a known shoe size, a foot length or width, a width designation, or verified retailer sizing. Without that, the result is style similarity only.
What do sunglasses require?
The declared frame numbers — lens width, bridge width and temple length, the figures printed inside the temple arm. With those, exact dimensions can be compared. Without them, the result is style similarity only. No claim is ever made about a face.
Is website crawling used?
Only as an authorised opt-in fallback for retailers with no feed to provide. It is never the default onboarding path and never happens without permission.
Developers
3What does the integration require from a developer?
A catalog connection, a verified domain, and a script tag with a mount element on the product page. The widget sends your publishable key as X-ShirtMath-Key to open a session, then calls the match endpoint with the product reference and the measurements it read, passing the session back as X-ShirtMath-Session.
How does key rotation work?
Keys are created, rotated and revoked per workspace. A secret key's plaintext exists exactly once, in the create response; only a keyed hash is stored, so it can never be shown again. Rotation mints a new key and marks the old one rotated, pointing at its successor, so the audit trail survives. Revocation is terminal.
What does disconnecting do?
It stops the catalog sync and the widget stops returning recommendations for your products. Your data stops being served rather than being silently retained in an active state.
Pricing
3What is the pricing model?
$320 per month, or $3,400 per year — $440 less than twelve monthly payments. There is no free tier, no trial and no pilot rate. Checkout is not self-serve yet, so the plan is set up with you during onboarding.
Has this been tested against messy real-world catalog data?
It is built for messy data rather than tested into a claim about it. Malformed rows, missing columns, mixed units and charts that turn out to be body measurements rather than garment measurements each have a defined outcome — dropped, quarantined, or classified on the evidence — and each one is reported instead of silently absorbed. What ShirtMath does not have yet is a live retailer catalog in production, because the product is pre-launch.
How is this different from body-scanning tools?
Body-scanning tools ask the shopper to photograph or measure themselves. ShirtMath asks them to photograph a garment they already own. That is a different privacy posture and a different failure mode, and garment-first sizing sets out both schools honestly, including where garment-first is the weaker choice.
Still have questions?
Our team is here to help you move forward with clarity and confidence.
Book a demo Scan a shirt