Skip to content

FAQ

Where do I find Dino Discover in the admin?

Section titled “Where do I find Dino Discover in the admin?”

Once activated, there’s a top-level Dino Discover menu in the WordPress sidebar. It has four sub-pages: Dashboard, Quizzes, Catalogue Coverage, and Settings. The Dashboard has a setup checklist that walks you through publishing your first quiz.

Why doesn’t the menu show up after activation?

Section titled “Why doesn’t the menu show up after activation?”

Probably a capability issue. Dino Discover registers a custom manage_dino_discover capability and grants it to administrators and shop managers by default. If you’re logged in as a different role, the menu is hidden. Either add the capability to your role, or filter dino_discover_capability to point at a capability your role already has.

Not during Beta. The Beta builds run without a licence key. Once we ship 1.0 the Settings page will gain a Licence tab — there’s already a Licence namespace in the codebase so the wiring will be incremental.

No — Dino Discover is HPOS-compatible. Every order read goes through wc_get_orders(), and a PHPStan rule fails the build if any code path reaches the legacy posts table. The plugin works on both HPOS-enabled and legacy-storage stores; HPOS-enabled is the recommended setup.

Yes — the storefront quiz is theme-agnostic. The templates use scoped CSS classes and a small set of --dino-discover-* design tokens you can override site-wide. Both block themes and classic themes are supported.

No, with one note. The shortcode emits a server-rendered container plus a small bootstrap; full-page caching of the host page is fine. Only don’t cache the /wp-json/dino-discover/* endpoints — those carry session state.

Supported. Activate per site or network-activate; each site gets its own tables, secrets, and scheduled jobs. There’s no cross-site shared state.

The storefront bundle has a hard CI gate on its gzipped size — currently parked at 18 KB, target 12 KB. The page that hosts the quiz only injects a ~1.5 KB inline bootstrap; the full bundle fires on first interaction. The recommendation calculation happens off the cart hot path entirely.

Yes — published snapshots and the per-target product expansions are cached behind a versioned cache key, invalidated on publish.

Seven: single-select, multi-select, rating, slider, number, image choice, and free text. See Question Builder for what each one looks like and when to use it.

Yes. Every answer carries a routing pill — default (next question in order), jump to a specific question, or end the quiz immediately. Routing is variant-scoped, so each A/B variant can have its own graph.

How does the default recommendation engine work?

Section titled “How does the default recommendation engine work?”

Each answer carries upvote weights against specific products or variants. The engine sums every upvote a shopper accumulates and ranks the result. Out-of-stock and non-purchasable products are filtered out before ranking. See Recommendation Rules.

Yes. Each quiz can have multiple variants — independent question order, routing, and upvote weights, with weighted traffic split. The PointEstimate statistics engine gives you point estimates today; confidence intervals are wired for a v2 swap.

What if I publish something wrong by accident?

Section titled “What if I publish something wrong by accident?”

Restore the previous snapshot from the History tab and republish. Every publish is a hashed, immutable snapshot row — none of them are deleted unless you explicitly do so. See History & Snapshots.

Can two admins edit the same quiz at once?

Section titled “Can two admins edit the same quiz at once?”

Yes, but the second writer can’t clobber the first. Every PATCH and publish carries an expected_draft_version; on mismatch the request returns 409 dd_draft_version_mismatch and the Builder shows a “refresh to see the latest” banner.

No. The storefront only reads published snapshots, enforced by a custom PHPStan rule. The single exception is the Builder’s preview tab, which is admin-session-gated, nonce-protected, expires after 30 minutes, and is audit-logged.

Three: Klaviyo, Mailchimp, and a generic webhook. They’re configured per quiz on the Connect tab in the Builder. API keys are encrypted at rest with the activation-generated key; pushes happen asynchronously off the request path.

The leads CSV endpoint exists (GET /leads/export.csv) and works. A one-click export button from the Connect tab is on the Beta gap list — ship-soon, not shipped today.

Beta gap list — what’s not yet shipped

Section titled “Beta gap list — what’s not yet shipped”

These are documented for transparency. They’re tracked as tasks in the repo and will land in subsequent Beta builds:

  • Popup and slide-in launchers — the shortcode attributes parse, but only inline rendering is wired.
  • Native Gutenberg block — use the core Shortcode block.
  • Sankey / flow-map analytics — the Metrics tab is currently funnel-style.
  • A/B declare-winner action — drop the losing variant’s traffic weight to 0 as a workaround.
  • Results-page WYSIWYG designer — the engine produces results; the designer surface is pending.
  • One-click leads CSV export from the Connect tab — the GET /leads/export.csv REST endpoint works.
  • Top-level Embeds admin page — the per-quiz Share tab is the current place.
  • Per-quiz analytics Flow + Coverage sub-tabs — the Metrics tab carries Dashboard A1 KPIs + A/B today.

The right way to report a bug is the Report a bug form linked in the footer of every page. No GitHub account required — your report goes straight into the issue tracker.