Glossary
The vocabulary in Dino Discover is small but precise. These are the terms that recur across the rest of the docs, with one-paragraph definitions and a link to the page that explains each term in depth.
Answer
Section titled “Answer”One choice on a question. An answer carries an upvote mapping (which products it weights towards) and a routing pill (what question comes next when it’s chosen). See Question Builder.
Bootstrap
Section titled “Bootstrap”The small (≈1.5 KB) server-rendered HTML + inline script that the shortcode emits. Variant-agnostic and CDN-cacheable for a year. The full storefront bundle only loads after the shopper interacts with the bootstrap. See Embedding the Quiz.
Catalogue Coverage
Section titled “Catalogue Coverage”The admin page that shows which products your current published flow can reach, and which ones it can’t. Backed by the Coverage Engine. See Catalogue Coverage.
Coverage Engine
Section titled “Coverage Engine”One of the four engine interfaces. Default implementation walks every path through the published snapshot and computes the maximum upvote score each product could achieve. Runs nightly, on publish (debounced), and on demand. See Engine Interfaces.
The mutable, admin-only state of a quiz. Lives in the dd_quizzes and
related tables. The storefront never reads drafts. Only the Builder’s
preview tab can read a draft, and only via an admin-session-gated
nonce. See Drafts, Publishing & Snapshots.
Draft version
Section titled “Draft version”A monotonically-increasing integer on every quiz draft. Every PATCH
and publish carries an expected_draft_version; if the server’s value
has moved on, the request returns 409 and the Builder reloads.
Optimistic locking for two-admin edits.
Engine interface
Section titled “Engine interface”One of the four PHP interfaces in includes/Engine/ —
QuestionEngineInterface, RecommendationEngineInterface,
CoverageEngineInterface, and StatisticsInterface. The
Analytics surface (EventAggregator, SankeyBuilder,
AttributionLinker) sits alongside these but is split across several
concrete classes today. Each interface is filterable site-wide. See
Engine Interfaces.
An email address (and consent metadata) captured during a quiz session. Stored hashed at rest with the activation-generated key, and pushed asynchronously to configured integrations (Klaviyo, Mailchimp, webhook). See Lead Capture Panel.
Question
Section titled “Question”One step in a quiz. Has a prompt, a type (one of seven), and one or more answers. See Question Builder.
Question Engine
Section titled “Question Engine”One of the four engine interfaces. Decides what question to ask next
based on the answer history. Default: RulesQuestionEngine, which
honours the routing pills the merchant set. Filterable via
dino_discover_question_engine.
A named question flow with a slug, one or more variants, and a publish history. The thing a merchant edits in the Builder.
Recommendation Engine
Section titled “Recommendation Engine”One of the four engine interfaces. Turns an answer history into a
ranked RecommendationSet. Default: UpvoteRecommendationEngine,
which sums per-answer upvote weights and applies eligibility filters.
Filterable via dino_discover_recommendation_engine. See
Recommendation Rules.
RecommendationSet
Section titled “RecommendationSet”The value object the recommendation engine returns: a ranked list of
RecommendationItems, plus rationale metadata. The
dino_discover_recommendation_results filter sees this last and can
re-rank, suppress, or inject items.
Routing pill
Section titled “Routing pill”The pill on the right edge of every answer that says where the quiz goes next when the answer is chosen: Default, specific question, or End. Variant-scoped.
Session
Section titled “Session”A single shopper’s run through a quiz. Carries answer history, the
variant they were assigned, and the recommendation they received.
Started by POST /storefront/sessions; subsequent calls carry the
X-DD-Variant-Token header issued at session start.
Shortcode
Section titled “Shortcode”The [dino_discover quiz="slug"] shortcode that embeds a quiz on the
storefront. Lives in includes/Storefront/Shortcode.php. Attributes:
quiz, layout, launcher. See Embedding the Quiz.
Snapshot
Section titled “Snapshot”An immutable, sha256-stamped row in dd_quiz_snapshots that records a
single published version of a quiz. The storefront only ever reads
snapshots. Restorable to draft via the History tab. See
Drafts, Publishing & Snapshots.
Statistics Engine
Section titled “Statistics Engine”One of the four engine interfaces. Returns point estimates and
confidence intervals for A/B variants. Default: PointEstimateStatistics
(point estimate today, CI null — wired for a v2 swap). Filterable via
dino_discover_statistics_engine.
Upvote
Section titled “Upvote”A weight an answer carries against a specific product or product variant. The default recommendation engine sums upvotes across every answer a shopper picks. See Recommendation Rules.
Variant
Section titled “Variant”A version of a quiz used for A/B testing. Each variant has its own question order, routing graph, and upvote weights, but shares the same underlying question definitions with sibling variants. Traffic is split by weighted hash of the session.
What’s next
Section titled “What’s next”- FAQ — common questions about the Beta.
- Getting Started — the install path.
- How Dino Discover Works — the longer-form story.