Suggested queries — how the suggest engine works

How we propose monitored questions for your domain — multi-page grounding, category presets, and the provenance badge that tells you which is which.

8 min read

You can write your own monitored prompts from scratch, but most people want a starting set. Generate starter queries on the Prompts page calls the suggest engine and proposes a batch of buyer-style prompts calibrated to what your site actually says it does. This article explains where those prompts come from.

Two grounding modes

A suggested query can be one of two kinds:

  • Grounded in your pages. The engine read your homepage plus any stored Content Audit pages (about, pricing, docs, features…) and used a real understanding of your product to write the question. These are tailored to you and tend to surface signals unique to your positioning.
  • Category preset fallback. When we don't have enough page data to ground a query, we draw from a library of 23 preset categories and emit one of the canonical buyer questions for the category that most closely matches your domain.

Each suggestion in the dialog carries a small provenance badge showing which mode produced it. Look at the badges to gauge how much each query is custom-fit vs. category baseline.

Build a full question battery (paid plans)

Generate starter queries gives you a quick batch to react to. When you want broad coverage in one go, paid plans add a Build full battery option that generates a complete, layered set of prompts sized to your tier:

LimitFreeStarterProBusinessScale
Suggested battery size102550150300

Instead of a single flavour of question, the battery spans five layers so you're not just measuring one slice of how buyers ask:

  • Brand — questions that name you directly ("is Acme any good?").
  • Factual — anti-hallucination probes that check whether AI states true things about you ("what does Acme do?", "who is Acme for?").
  • Category — the unbranded "best X for Y" questions buyers ask before they know any vendor.
  • Comparison — head-to-head framing ("Acme vs Rival").
  • Buyer-intent — deeper, decision-stage questions ("which X handles specific need").

A bigger battery takes longer to generate, so it builds in the background: kick it off, leave the page, and the new questions are added to your list when it finishes — no need to sit and wait. You can keep working in the dashboard meanwhile.

The 23 preset categories

When the engine falls back to category presets, it picks one of:

CategoryExamples of products it covers
deployment_hostingVercel, Netlify, Render, Fly.io, Railway, Northflank
analyticsMixpanel, Amplitude, PostHog, Plausible
crmHubSpot, Pipedrive, Close, Salesforce
helpdesk_supportIntercom, Zendesk, Front, Help Scout
email_outreachResend, Postmark, SendGrid, Customer.io
project_managementLinear, Asana, Jira, ClickUp
collaboration_docsNotion, Confluence, Coda
payments_billingStripe, Lemon Squeezy, Paddle
design_prototypingFigma, Framer, Penpot
security_monitoringSentry, Datadog, Honeybadger, BetterStack
developer_toolsCursor, GitHub Copilot, JetBrains AI, Linear
automation_workflowZapier, n8n, Make, Pipedream
agency_marketing_brandBrand, performance, and content marketing agencies
agency_dev_consultingDev shops, legacy-modernisation and platform consultancies
hr_tech_performanceLattice, 15Five, Culture Amp, Deel
ai_toolingLangChain, LlamaIndex, vector DBs, eval and observability tools
conversational_aiIntercom Fin, Ada, Voiceflow, support and sales chat agents
ecommerce_toolsKlaviyo, Gorgias, Rebuy, Shopify-adjacent apps
creator_content_toolsVidIQ, TubeBuddy, Descript, Opus Clip
fintech_advisoryRamp, Brex, Pilot, bookkeeping and CFO-as-a-service
vertical_saasIndustry-specific platforms (dental, legal, construction, fitness)
media_literacy_toolsFact-checking, source-criticism, and media-analysis products
generic_saasAnything that doesn't fit the others — last-resort fallback

Categories are deliberately narrow — narrower categories produce sharper questions. If your domain straddles two (e.g. a CRM with strong analytics features), the engine picks one and labels it; you can re-run Auto-generate to bias toward another category by re-scraping with a different page emphasis.

How "grounded" actually works

When you have stored Content Audit pages (the weekly cron has run at least once), the suggest engine builds a Domain Understanding Profile from:

  • The homepage hero text and meta description.
  • The <title> + meta description of every audited page (about, pricing, docs, features…).
  • The Discovery Readiness signals (which pages have JSON-LD, what schema types, what the canonical URLs look like).

This goes into the LLM prompt as ground truth so the model can write questions that reflect what your product actually does — not what its category usually does. Grounded suggestions tend to:

  • Use specific feature words from your pages ("preview deployments", "instant rollback", "edge functions") rather than generic category vocabulary.
  • Phrase the buyer intent in ways that match what your hero copy promises.
  • Cover use cases that show up in your /docs or /features pages rather than asking generic "best X" questions.

Provenance warning when grounding fails

If the engine cannot get page data — fresh domain, homepage unreachable, no stored page audits yet — it falls back to weaker grounding and says so in the dialog rather than quietly shipping generic questions. Three states you can actually hit:

  • Generated with reduced context (amber banner). The LLM understanding pass failed twice, so the category came from rule-based detection instead. Suggestions are usable but broader. The banner carries a Regenerate now → link; the retry is free.
  • "We could not fetch the homepage (timeout or network)." Shown on the language step. You can still pick a language and continue — we retry the fetch when generating.
  • "Could not analyze website. You can add prompts manually." The hard-failure state. Nothing was generated; add prompts by hand or retry later.

Page audits are the other grounding input, and they arrive on their own schedule — the weekly content audit runs Mondays 07:00 UTC — so a domain added mid-week is grounded on the homepage alone until then. Re-run Auto-generate once the underlying issue is fixed. The dialog is non-destructive either way: your existing monitored prompts stay put.

Quality badges per suggestion

Inside the dialog, each suggested prompt carries a quality badge derived from the ranker score in lib/domain/query-ranker.ts (roughly topic overlap × 8 + buyer intent × 6, plus a length bonus). Hovering the badge shows the raw score:

  • Strong (green, score ≥ 14) — the prompt overlaps your own topic vocabulary and reads as buyer-intent. Most likely to surface real signal. The threshold is deliberately high so "Strong" means something rather than being the default.
  • OK (amber, score 6–13) — grounded on one axis but not both. Worth keeping; check the framing matches your positioning.
  • Weak (red, score < 6) — thin grounding. The dialog has a Hide weak toggle, off by default; turning it on both hides these rows and excludes them from the batch add, so a row you stopped seeing can't be added by a stale selection. Rewrite in your own words before tracking.

What happens when you click "Add to monitored"

Each prompt you add becomes a row in the queries table with:

  • Schedule: Pulse (stored as daily_pulse — a database value, not a frequency; the real cadence is weekly). You can change it later.
  • Engines: whatever your tier provides.
  • Source tag indicating it came from suggest, not manual entry — used for analytics on which suggested prompts actually move the needle.

The first scan against the new prompt runs at the next pulse run — new prompts are due immediately, so it is usually the next cron tick rather than a week away — or right now if you click Run scan with it selected.

Honest limits

Read further