Analytics

Embedding analytics in your product: what to know before you build

Build embedded analytics into your product: understand why customers demand it, the technical challenges, and how to do it without hiring a data team.

📅
📖6 min read

Embedding analytics in your product: what to know before you build

Quick answers

What is embedded analytics? Embedded analytics means putting data visualizations and querying capabilities directly inside your own product — so your customers can see and interact with their data without leaving your app. Done right, it's invisible: customers think it's a native feature, not a third-party tool.

Should I build embedded analytics or use an existing platform? Build means: charting library, query engine, permission model, multi-tenant isolation, dashboard UI, and ongoing maintenance. That's a quarter of engineering, not a sprint. Embedding an existing platform like Metabase gives you all of that as configuration work, not engineering work. Build only if your requirements are genuinely unique to your product.

What are the two ways to embed Metabase in my product? Full-app embedding puts the entire Metabase interface inside an iframe in your app — fast to set up, less control over the UI. Modular embedding lets you place individual Metabase components (a chart, a dashboard, the query builder) directly into your app — more control, more native feel.

How do I make sure customers only see their own data in an embedded dashboard? Metabase handles this with row-level permissions combined with JWT-based authentication. Each embedded session is scoped to a specific user or tenant — Customer A can't see Customer B's data even if they're on the same dashboard. You define the rules once; Metabase enforces them on every query.

Can I white-label Metabase so it looks like my product? Yes. Embedded Metabase supports custom domains, your logo, your color scheme, your fonts, and removal of all Metabase branding. With Modular embedding, you control the full surrounding UI — Metabase provides the data layer, you control everything the user sees.

Can I give customers natural language querying inside my product? Yes. Metabot via modular embedding lets customers ask questions about their own data in plain English, scoped to their tenant and respecting their permissions. You ship AI-powered analytics without building any of the query logic yourself.

How long does it take to build embedded analytics with Metabase? Most teams have a working embedded dashboard on localhost within a day using the SDK quickstart. Multi-tenant setup and branding take longer — but those are configuration problems, not engineering problems.

---

At some point, most SaaS products get a feature request that goes something like: "Can we show customers their own data inside the app?"

It sounds simple. It almost never is — if you build it yourself. The right analytics platform makes it something you can ship in a sprint instead of a quarter.

The build-vs-buy problem for embedded analytics

Building analytics from scratch means: picking a charting library, writing query logic, managing multi-tenant data access, handling permissions per customer, building a dashboard UI, and maintaining all of it as your product evolves.

That's not one sprint. That's a roadmap item that competes with your actual product.

Embedding an analytics platform solves the infrastructure problem. You get the charts, the query engine, the permissions model, and the UI — and you configure it to fit your product instead of building from scratch.

What "embedded analytics" actually covers

There are two distinct patterns:

Full-app embedding: You embed the entire Metabase interface inside your product behind an iframe. Your customers get a full analytics experience — dashboards, query builder, charts — all within your app. Fast to set up, less control over the UI.

Modular embedding: You embed individual Metabase components — a single chart, a dashboard, the query builder — directly into your app. Your UI, your layout, Metabase's data engine underneath.

Modular embedding is the right choice when you want embedded analytics to feel native to your product, not like a tool within a tool.

Multi-tenancy: the hard part

The hardest problem in embedded analytics isn't the charts — it's making sure each customer only sees their own data.

Metabase handles this with row-level and column-level permissions combined with JWT-based authentication. Each embedded session is scoped to a specific user or tenant. Customer A can't see Customer B's data, even if they're looking at the same dashboard.

The data segregation features handle the multi-tenant isolation — you define the rules once, Metabase enforces them on every query.

Branding and customization

Out of the box, embedded Metabase can be white-labeled: custom domain, your logo, your color scheme, your fonts. Remove all Metabase branding including help center links. Your customers see your product, not Metabase.

Modular embedding goes further — since you're rendering individual components inside your own React app, you control the full layout and surrounding UI. Metabase provides the data and the chart; you control everything else.

Giving customers natural language querying

With Metabot embedded via the SDK, customers can ask questions about their own data in plain English — scoped to their tenant, respecting their permissions. You get AI-powered analytics inside your product without building any of the query logic yourself.

The practical path to embedded analytics

  • Build your first embedded dashboard
  • Add JWT SSO to scope sessions per customer
  • Configure row-level permissions for multi-tenant isolation
  • Apply custom branding
  • Ship it
  • Most teams go from zero to a working embedded dashboard in a day. The multi-tenant setup and branding take longer, but those are configuration problems, not engineering problems.

    ---

    Key takeaways

  • Build-from-scratch embedded analytics is a roadmap item; embedding an analytics platform is a sprint
  • Two patterns: full-app embedding (fast, less UI control) vs. Modular embedding — React-native feel
  • Multi-tenant isolation is handled by JWT auth + row-level permissions — configure once, enforced on every query
  • Full white-label support: custom domain, logo, colors, fonts, no Metabase branding
  • Metabot embeds as a component — give customers natural language querying scoped to their data
  • Start with the SDK quickstart — working dashboard on localhost in under an hour