Use data you already have
If your products already say what they fit, a finder can read it from your catalog. Open a finder, go to the Sources tab and use Add source from catalog:
Pick where the fit data is: Product tags, a JSON metafield, Models stored as metaobjects, One list per level or an Attribute.
Set it up (the tag prefixes, the metafield, the fields or lists per level, the attribute).
Preview shows what Quizproof reads: the products with data, the fits, the configurations that are new to the finder, the products it can't read and why, and ten sample products with their configurations. Nothing reaches shoppers yet.
Create source turns the preview into a change for you to review and activate. Cancel drops it.
Each source reads complete configurations only. Quizproof never combines separate fields (one for the brand, one for the model) into a configuration: a product made for the HP OfficeJet and for the Canon PIXMA doesn't fit an "HP PIXMA". The one exception is lists you confirm are aligned (see below).
Product tags#
One tag is one whole configuration, its levels in order and separated by |:
| Tag | Means |
|---|---|
fits:hp|officejet|9015e | fits the HP › OfficeJet › 9015e |
fits:hp|officejet | fits every OfficeJet model (fewer levels fit everything under them) |
fits:apple|iphone 15 pro max | labels may contain spaces |
fits:2017+|toyota|camry | a year level takes 2017, 2015-2017 or 2017+ (a comma can't be used in a tag) |
fits:* | fits every configuration of the finder |
nofit:apple|iphone 15 pro max | doesn't fit there, even if a wider tag says it does |
Labels match the finder's names and their other names, ignoring case (
applematchesApple). A label the finder doesn't have yet adds that configuration.You can change the prefixes (
fits:andnofit:) when you add the source.A tag Quizproof can't read (an empty level, more levels than the finder has) is skipped and listed under the source's errors. The product's other tags still count.
JSON metafield#
Pick a product or variant metafield of type JSON. Its value is a list of configurations, one object each, keyed by the finder's level keys:
[
{ "brand": "HP", "series": "OfficeJet", "model": "9015e" },
{ "brand": "HP", "series": "OfficeJet", "fit": "excluded", "note": "not the 2-pack" },
{ "brand": "Canon" }
]
Leave out the last levels to fit everything under them. The levels fill from the first:
{"brand": "HP", "model": "9015e"}without a series is an error."fit"is"fits"(the default) or"excluded"."note"holds up to 80 characters.{"universal": true}fits every configuration.A year level takes a number (
2016) or text ("2015-2017","2017+").A value that doesn't follow these rules (an unknown level key, a
fitother than fits or excluded) is never guessed: that product (or variant) is listed with the reason, and what it fitted before is suspended until the value is fixed. Fixing it brings the fits back at once.If Quizproof doesn't read the metafield yet, it reads it from your whole catalog first: the preview shows "Reading your catalog…" until that's done. Quizproof reads at most 50 metafields; a metafield a source uses stays read until the source is removed.
Use metaobjects or list metafields#
Models stored as metaobjects#
If you keep one metaobject entry per model (a printer_model entry with a brand, a series and a model) and your
products reference the entries they fit through a metafield, pick Models stored as metaobjects:
Pick the product or variant metafield that references the entries (a metaobject reference, one or a list). Quizproof reads the metaobject type it references.
Pick the field each level reads, from the first level on (a year level takes a number or text field).
Preview shows each product's configurations, one per referenced entry.
The entry is the configuration's identity:
Rename an entry's last level (
9015e→9015e Pro) and the configuration is renamed in the finder: same configuration, the old name kept as another name, nothing to review. If another source or another entry also names that configuration, the renamed entry becomes a new configuration instead: its products' new fits wait for your review, and their old fits stop at once.Change a higher level (the brand or the series) and the entry becomes a new configuration (as above).
Delete an entry and its fits stop within one check; a configuration nothing else names leaves the finder.
Two entries with the same brand, series and model share one configuration.
Quizproof checks your entries every 10 minutes (and sooner when Shopify reports a change). It checks up to 20,000 referenced entries every 10 minutes; with more, each is checked at least once an hour. If entries can't be read for 24 hours you get a notice; an entry that couldn't be checked for 72 hours stops vouching for its fits (shoppers see "we don't know") until it is read again.
One list per level#
If each product has one list metafield per level (custom.fit_brand, custom.fit_series, custom.fit_model) where
item 1 of every list belongs together, item 2 likewise, pick One list per level:
Choose whether the lists are on products or variants, and the list for each level from the first (a year level may use a list of integers).
Preview shows five products' configurations beside their lists.
Tick Item 1 of each list belongs together. Quizproof pairs items by position only when you confirm it; Create source stays off until you do.
A product whose lists have different lengths (two brands, one model) is never guessed: it is listed with "lists have different lengths", and what it fitted before is suspended until you fix its lists. An empty item is treated the same way.
Attribute#
For a finder with one level: pick a text attribute (see Attributes). Each approved value of the attribute becomes a configuration, and the products with that value fit it. Value changes follow your approvals.
Staying current#
When you edit products in Shopify, the source reads them again within a few minutes. Removed fits stop at once; new fits wait under Changes for your review, as one change per source.
Every night each source reads your whole catalog again, which repairs anything a quick update missed.
Pause stops a source reading (its fits stay as they are); Resume reads it again. Remove stops its fits at once; removing its exclusions waits for your review.
When the catalog sync stops#
A source is only as current as Quizproof's copy of your catalog. If that copy hasn't synced for 24 hours, Home shows a notice and you get one email. After 72 hours the finder stops counting fits it read from your catalog: shoppers see "we don't know" instead of "fits", and exclusions still apply. Once the catalog syncs again, products come back as they are read again (at the latest in the next nightly read).
Menu paths such as Settings › Privacy are inside Quizproof: in your Shopify admin, open Apps › Quizproof. Where an article means Shopify's own settings, it says so.
Something unclear? Email support@quizproof.app. We aim to reply within 1 business day.
More in Building quizzes: Connect your product data to a template, Draft a quiz with AI, Questions, answers and branching, How Quizproof chooses products: rules, Preview, test, publish and roll back, A/B test two versions of a quiz, Match your brand: design and shopper text, Build a size guide, Check and test a size guide, Build a part finder, Review, check and cover a part finder, Import fit data from a spreadsheet, Add a finder step to a quiz