QueryPanel vs GoodData
Semantic analytics and headroom for governance-heavy programs.
GoodData has a long history in embedded and customer-facing analytics. Programs often pair GoodData with a disciplined semantic model and centralized ownership of metrics definitions.
Last reviewed . Vendor facts are checked against public docs and pricing pages on that date.
Comparison at a glance
This table summarizes typical positioning. Every vendor changes over time—validate details against current documentation and your security review.
| Dimension | GoodData | QueryPanel |
|---|---|---|
| In-app experience for end users | Iframe, web components, or the GoodData.UI React SDK, which renders dashboards, visualizations, and the AI Assistant as components backed by GoodData's engine. | First-class `@querypanel/react-sdk` components—`QuerypanelEmbedded` for a full dashboard, or `QueryPanelProvider` with `QueryInput` / `QueryResult` for a bespoke flow. They render in your React tree like any other product screen (layout, router, modals, tokens)—not a separate iframe "mini app" on another origin. Mint short-lived JWTs on your server; never ship your workspace private key to the browser. |
| Modeling approach | Semantic layer and governed metrics are central to the platform story. | Schema-aware generation against your database; you define tenant boundaries and validation practices. |
| Trainable knowledge & steering | Semantic metrics are the contract; extending with per-column glossaries or SQL exemplars is typically owned by a centralized analytics program. | Gold SQL queries (curated examples the model prioritizes), database annotations (business context on tables/columns, re-embedded with schema), glossary (domain terms and definitions), and tenant-level definitions (isolation field, enforcement, and per-tenant sync context so every ask() is grounded in the right customer slice—not a one-size global prompt). |
| Who maintains definitions | Central analytics teams often own workspaces, metrics, and releases. | Product teams iterate with code and configuration next to the rest of the product. |
| AI positioning | AI Assistant embeddable through the React SDK, grounded in the semantic model and AI Knowledge documents that child workspaces inherit; AI query allowances depend on plan tier. | AI NL→SQL and chart generation are the product spine, not an add-on module. |
| Operational stores | Connects to warehouses and databases as data sources; queries go through GoodData's engine against the logical data model. | Connects to operational and warehouse databases you already run. |
| Multi-tenancy mechanism | Workspace hierarchy with workspace data filters per child workspace, or separate data sources per tenant. | Tenant id in a short-lived RS256 JWT minted by `@querypanel/node-sdk`; no per-tenant workspace to provision. |
| End-user dashboard editing | Tenant users can build content in their own workspace; objects inherited from the parent workspace stay read-only. | Tenants fork and customize dashboards in the Notion-like workspace and add charts through the AI assistant. |
| Deployment | GoodData Cloud by default; self-hosted deployment on demand on the Enterprise plan. | Hosted workspace and generation; SQL executes in your environment, so credentials and results stay on your servers. |
| Pricing shape | Platform fee plus per-workspace charge with unlimited users (Professional); custom Enterprise pricing. | Tenant-based: unique tenants per billing month, not seats; AI chart generation metered separately; free tier. |
| Ideal first project | Roll out a governed analytics workspace for a defined customer segment. | Ship a first embedded dashboard and NL query flow inside an existing product screen. |
Both render in React; the difference is what sits behind it
GoodData is one of the few BI vendors with a real React path: GoodData.UI renders dashboards, visualizations, and the AI Assistant as components in your app, alongside iframe and web component options. So the choice is not iframe versus native. Behind GoodData's components sit a logical data model, MAQL metrics, and a workspace per tenant that someone maintains. Behind QueryPanel's `QuerypanelEmbedded` sit your own schema, the gold SQL and annotations you train, and a JWT your backend signs.
Workspace hierarchies versus a tenant claim
GoodData implements multitenancy with a workspace hierarchy: child workspaces inherit the parent's model and dashboards read-only, and workspace data filters limit each child to one customer's rows. You can also point tenants at separate data sources. It is a clean model for governance, but every new customer means provisioning a workspace. QueryPanel needs no per-tenant object: your backend signs a JWT with the tenant id using `@querypanel/node-sdk`, and generation scopes every query to that tenant.
Metrics-first versus question-first
GoodData works best when metrics are defined once in MAQL and every dashboard and AI answer reuses them, which pays off when many customers must see identical definitions. QueryPanel starts from the question: a tenant user asks the AI assistant, gets SQL and a chart, and can save it to their own dashboard. If your metric definitions are still changing every sprint, the question-first loop is lighter. If they are settled and audited, GoodData's model is the safer contract.
When GoodData is the better fit
Honest tradeoffs help your team pick faster—and match how buyers actually decide.
- You need a full semantic modeling layer as the contract between metrics and every customer-facing dashboard.
- You have analytics engineering capacity to own workspaces, versioning, and customer rollout patterns.
- Your buyers expect a traditional embedded analytics vendor evaluation checklist.
When QueryPanel is the better fit
Choose QueryPanel over GoodData when you want tenant-scoped AI analytics in your React app directly on your application database, without building a logical data model and workspace hierarchy first. Keep GoodData when a governed semantic layer and per-tenant workspaces are the contract your customers and auditors expect.
- You want a trainable knowledge system—gold queries, DB annotations, glossary, and tenant-aware definitions—so NL→SQL and charts reflect your business, not generic schema-only guesses.
- You want customer-facing analytics as React components (`QuerypanelEmbedded`, provider-driven NL UI) in the same navigation and layout as the rest of your app, without running a separate semantic BI platform behind them.
- You want to move faster than a full semantic BI program by connecting directly to your application schema.
- You want AI-generated SQL and charts as the default building block, not only pre-authored dashboards.
- You prefer a small surface: React SDK for UI, Node SDK for signing and `ask()`, with SQL executed in your infrastructure.
Pricing notes
Checked . Pricing changes; confirm on the vendor pages before you budget.
GoodData
GoodData's pricing page lists a Professional plan priced as a platform fee plus a per-workspace charge, with unlimited users and data, full embedding, and multi-tenancy, and an Enterprise plan with custom pricing that adds AI features, enterprise security and compliance, and self-hosted deployment on demand. Each tier includes an allowance of AI queries, with more available to buy. Plans are annual. Because tenants usually map to workspaces, model cost against your customer count.
QueryPanel
QueryPanel pricing is tenant-based: plans count unique tenants per billing month, not end-user seats. AI chart generation is metered separately, and a free tier lets you embed on one route before committing.
Sources: GoodData pricing, QueryPanel pricing
Migrating from GoodData to QueryPanel
1. Inventory workspaces, dashboards, and embeds
List the parent and child workspaces, the dashboards and insights customers open, and how each is embedded (iframe, web components, or GoodData.UI). Note which dashboards are inherited from the parent and which tenants built themselves.
2. Map workspace data filters to a tenant claim
Find the column each workspace data filter uses to limit a child workspace to one customer. Use that column as the QueryPanel tenant field, and have your backend mint a JWT with `@querypanel/node-sdk` carrying the tenant id instead of provisioning a workspace per customer.
3. Sync the schema and rewrite MAQL metrics as knowledge
Run schema sync on the Postgres, ClickHouse, or BigQuery source behind your GoodData data source. Rewrite key MAQL metrics as gold SQL queries, add annotations for columns the logical data model renamed, and add glossary entries for the metric names customers know.
4. Embed QuerypanelEmbedded on one route behind a flag
Install `@querypanel/react-sdk` and render `QuerypanelEmbedded` on one analytics route for internal accounts or a few pilot tenants, behind a feature flag. Keep the GoodData components live on the existing route.
5. Compare numbers per tenant
For each pilot tenant, compare GoodData metric values with the QueryPanel charts for the same filters and periods. Differences often come from MAQL context such as attribute granularity; fix them in gold SQL rather than ad hoc.
6. Cut over and decommission workspaces
Move tenants in batches, then remove the GoodData embed code, the token or SSO setup for GoodData sessions, and the workspace provisioning job that created child workspaces for new customers.
Comparison FAQ
Is QueryPanel a good GoodData alternative for a React SaaS product?
Yes, when you want AI-first, tenant-scoped analytics in React on your application database without maintaining a semantic layer. QueryPanel's primary product is its headful React SDK with a Notion-like dashboard management system and AI assistant for tenant customization. GoodData is the better fit when a governed semantic model and workspace-per-tenant delivery are requirements.
Does GoodData embed with iframes or React components?
Both. As checked October 19, 2026, GoodData Cloud supports iframe embedding, web components, and the GoodData.UI React SDK, which renders dashboards, visualizations, and the AI Assistant as React components. Those components query GoodData's engine over its logical data model. QueryPanel's React components call your API, and SQL runs in your environment.
How much does GoodData cost compared with QueryPanel?
As checked October 19, 2026, GoodData's pricing page lists a Professional plan priced as a platform fee plus a per-workspace charge with unlimited users, and a custom-priced Enterprise plan; AI query allowances depend on the tier. QueryPanel pricing is tenant-based, counting unique tenants per billing month rather than seats, with AI chart generation metered separately and a free tier.
How does GoodData multi-tenancy compare with QueryPanel?
GoodData isolates customers with a workspace hierarchy and workspace data filters, or with separate data sources per tenant. Each customer gets a workspace that inherits shared content from a parent. QueryPanel uses a tenant id in a short-lived JWT signed by your backend, applied during SQL generation, so there is no per-tenant workspace to provision.
What happens to GoodData metrics when moving to QueryPanel?
MAQL metrics do not import automatically. Rewrite the metrics customers rely on as gold SQL queries, describe ambiguous columns with database annotations, and add metric names to the glossary so the AI uses your definitions. Then compare results per tenant against GoodData before cutting over. Plan the most time for metrics with complex filters or time logic.
Is QueryPanel a full replacement for GoodData?
Not if you rely on GoodData as a semantic layer for many consumers. QueryPanel is not a semantic-layer product or a full enterprise BI suite, and it does not focus on pixel-perfect or scheduled PDF reporting. It replaces customer-facing embedded dashboards and AI questions inside your SaaS app, scoped per tenant.
Related reading
- GoodData alternativesGoodData alternatives for multi-tenant SaaS, with embed models and pricing notes.
- Semantic layers and AI agents for multi-tenant analyticsWhen a governed model helps AI answers, and when it slows SaaS teams down.
- Embedded analytics for Postgres and React SaaSShortlist for teams running analytics on their application database.
- Embedded analytics for RLS and tenant isolationHow vendors keep one customer's rows away from another's.
- QueryPanel JWT docs
Still evaluating GoodData and QueryPanel?
Start on the free tier, embed one dashboard, and compare implementation time against your current shortlist.