Domo vs Metabase

Domo is an all-in-one cloud platform priced on consumption credits. Metabase is a self-hosted BI layer that queries your own warehouse. The right choice depends on whether you want one vendor for pipelines and storage or your own data stack.

On this page

Domo vs Metabase: when each one fits a team switching BI

Domo fits a team that wants connectors, storage, ETL and apps delivered as one managed cloud service, with the vendor operating the pipelines, data storage and sharing layer. Metabase fits a team that already has a warehouse and wants self-hosted dashboards and questions that its own staff run on its own servers. The reader facing a Domo renewal, a credit bill that rises with data movement, or a residency requirement is usually asking whether the second model can replace the first without rebuilding everything.

The first question is where data must live. Domo stores datasets and moves them through its own platform, so a residency rule may require checking which Domo regions and storage options apply to your contract. Metabase queries the database you point it at, so the data stays where your warehouse already sits, but Metabase itself stores only its application data (users, questions, dashboards and settings) in the database you configure. Ask Domo in writing where each dataset is stored and processed, and compare that with the location of your warehouse before you plan a cutover.

The second question is whether you already have pipeline tooling. Metabase does not extract, transform and load data for you, so a team that relied on Domo's Magic ETL needs a pipeline tool and a warehouse in place first. The third is who will operate the stack. Metabase's free Open Source edition includes unlimited users and dashboards, but SSO, row and column level permissions and usage analytics and auditing sit in the paid Pro and Enterprise plans, so confirm which of those controls you need before you compare totals. If your team cannot run upgrades, backups and the application database, budget for that work or buy support.

Which option fits which situation

This table maps common situations to the better fit between Domo and self-hosted Metabase, with the reason tied to bundling, credits, self-service and operating effort. Read each row against your own warehouse, pipeline tooling and residency rules, because the answer shifts when those change.

SituationBetter fitReason
Business teams need dashboards on a warehouse you already runMetabaseMetabase queries your existing warehouse directly, so you avoid paying for a second copy of the data inside a bundled platform
No pipeline tool exists and you need ingestion, transformation and storageDomoDomo bundles connectors, storage and ETL in one cloud platform, while Metabase leaves data movement to other tools you must deploy and operate
Strict data residency with all data kept inside your own infrastructureMetabaseSelf-hosting keeps queries and dashboards in your environment, though you must confirm which Domo deployment options meet your residency requirement
Cost driven by consumption credits for ingestion and row storageMetabaseSelf-hosted cost follows your infrastructure and staff time instead of credits, but you must budget for the pipeline and hosting components Domo would otherwise include
Embedded analytics for external customersMetabaseMetabase embedding is documented, and cost follows infrastructure rather than per external account credits, but the host application must enforce tenant isolation
Row and column permissions and SSO are requiredMetabaseThese controls sit in paid Pro or Enterprise plans on Metabase, so confirm the plan that covers your needs before choosing
Self-service exploration by non-technical staff on modeled dataDomoDomo's bundled data preparation and app tooling reduce the number of separate systems business users must learn, though Metabase also offers self-service questions
Small internal team that can operate and upgrade a Java applicationMetabaseMetabase runs as a JAR with documented upgrades and an application database, so ongoing operating effort stays with your staff or a support partner

What Domo bundles that Metabase leaves to other tools

Domo delivers connectors, cloud storage, transformation (Magic ETL dataflows) and the dashboard and app layer as one hosted service, so a single vendor contract covers most of the path from source system to chart. Metabase covers only the query and presentation layer. It connects to a warehouse or database you already run, and it stores its own application data (users, questions, dashboards, permissions) in a separate application database. Nothing in Metabase copies source data, schedules extracts or reshapes tables for you, so those jobs move to other tools.

That split changes who makes decisions. With Domo, the platform team mostly chooses which connectors and dataflows to use and the vendor operates the pipeline runtime. With Metabase, your team must select and run a warehouse (for example PostgreSQL or a columnar analytics store), a pipeline or transformation tool, a scheduler for refreshes, and the Metabase host itself. Each of these needs an owner, backups, upgrades and access reviews. Ask who will own data freshness failures at 2 a.m. before you commit to the architecture, because a broken load now shows up as stale Metabase dashboards with no vendor ticket attached.

Confirm early which Domo features your reports depend on: connector coverage for each source, dataflow logic, and any app or card-level sharing rules that rely on Domo's own storage. Then map each one to a named open-source or existing component, and check the Metabase plan you need for the access controls you rely on, since row and column level permissions and SSO sit in paid plans. Metabase pricing lists which features apply to each plan. Keep this inventory, because it becomes the scope for the pipeline and warehouse work.

Where data lives and who controls the platform

Domo runs as a vendor-hosted cloud platform, while Metabase runs wherever you deploy it, so data location, hosting duties and identity controls are the first decisions to settle. DeployOpen prepares systems, controls and evidence for compliance readiness, but independent auditors and certification bodies issue any audit report or certification.

Data location and platform control

Domo stores datasets and runs its platform in its own cloud, so the hosting location and operator are set by the vendor and your contract. With Metabase, the application server, its application database and the query path to your warehouse all sit where you deploy them. Map each data class to a location before migration, including the Metabase application database that holds dashboards, questions and user records. Ask Domo to confirm in writing where its copies of your data reside and how they are deleted at exit.

Self-hosting with the Docker image or JAR

The open-source edition can run from the metabase/metabase Docker image or from the JAR, so your platform team controls the container host, patch windows and network placement. For production, point the application database at PostgreSQL instead of the embedded H2 database that ships for demos. Plan who owns database backups, the reverse proxy, TLS certificates and upgrades, because none of these come with the software. Ask Domo which of its operational duties would move to your staff.

Air-gapped deployment needs Enterprise

Metabase's pricing page places air-gapped deployment only in the Enterprise plan, which is priced by quote starting at $20,000 per year. If your requirement is a network with no outbound internet access, treat it as a licensing question before an architecture question, and put it in the quote. Separately, confirm whether your own network controls already meet the requirement on the open-source edition, and ask Domo for its isolation terms in writing.

Identity, SSO and SCIM by plan

Open Source and Starter support Google sign-in and LDAP, while SAML, OIDC, JWT, advanced LDAP group sync and SCIM provisioning require Pro or Enterprise. Row and column level permissions also sit in those paid plans, so a single sign-on requirement can change the license tier before it changes the architecture. Decide early who deprovisions a leaver and how directory groups map to Metabase groups. Check both against your directory and against the Domo permissions you must match.

Self-service features and the conditions where they matter

Domo users often rely on governed self-service in one platform, so the question is which self-service controls Metabase provides on each plan. The four cards below cover the decisions where plan choice changes the outcome: business-user analysis, row and column access, auditing, and external users.

Questions and dashboards for business users

Metabase's free Open Source edition includes unlimited users and dashboards, so business teams can build questions and dashboards without a seat fee at that tier. This matters most when most of your Domo cards are read-only views that analysts maintain for managers. Check that your data team can model the underlying tables cleanly, since business users will only be as self-sufficient as the datasets you expose to them.

Row and column permissions

Row and column level permissions require the Pro or Enterprise plan. If Domo's row-level rules restrict regional managers to their own data, you need that control in Metabase before migrating those dashboards. Open Source and Starter do not include it, so a deployment that hides sensitive columns from some viewers must budget for Pro or design separate datasets per audience.

Usage analytics and auditing

Usage analytics and auditing are included only in the Pro and Enterprise plans, not in Open Source or Starter. Regulated teams often need to show who viewed which report and when, which Domo's governance features provide. If audit evidence is a requirement, confirm with Metabase which log data is available on your chosen plan and how long it is retained in your own database.

Single sign-on and group sync

SSO, JWT, OIDC, SAML and SCIM provisioning need Pro or Enterprise, while Open Source and Starter support Google sign-in and LDAP. Identity-led access control usually decides whether a Metabase rollout can drop Domo's user administration without a manual step. Confirm which identity provider you use and whether its group attributes must flow into Metabase permissions.

Embedding for external users

Metabase embedding serves dashboards to customers or partners inside your application, where cost follows your infrastructure rather than per-user credits. The host application must enforce tenant isolation, because Metabase's permissions do not replace your access checks. Plan this with the multi-tenant and embedding requirements in mind, and confirm which plan covers your embedding model before committing.

Metabase editions and what each one costs to license

The Open Source edition carries no license fee and is self-hosted in your own infrastructure. Metabase's pricing page describes it with unlimited users and dashboards, so the cost you carry is the infrastructure, the database that holds Metabase's application data, and the people who operate it. Metabase's license split matters here: the open-source code outside the enterprise directory is licensed under the AGPL, and the open-source Docker image (metabase/metabase) is separate from the enterprise image (metabase-enterprise). Deploy the open-source image if you run the free edition.

  • No license fee: The free edition is priced at zero by Metabase, with unlimited users and dashboards.
  • Image choice: Use the metabase/metabase image for this edition, not the enterprise image.
  • Recurring costs: Servers, PostgreSQL or MySQL for the application database, backups and staff time still recur.
  • Feature limits: SSO, row and column level permissions, multi-tenant data segregation and usage analytics and auditing are not included.
  • Support: Vendor support is not part of this plan, so budget for internal or partner support.

Confirm with Metabase which features in your requirements sit in this plan before you commit to it.

How cost splits between Domo credits and your own infrastructure

Domo bills consumption credits for ingestion, dataflows, storage and external users, while Metabase's cost sits in a license tier (if you buy one), infrastructure and people. The cards below separate what is one-time from what recurs, and what moves each line up or down, so you can ask for a like-for-like quote.

Domo consumption credits

Domo prices usage in credits, so the bill tracks how much data you ingest, transform, store and share rather than how many seats you hold. Ask Domo to map your current credit consumption to each activity: connector syncs, dataflow runs, stored rows and external user accounts. Credits recur every billing period and tend to rise with data volume, refresh frequency and the number of external viewers.

Metabase license tier

The Open Source edition is free to self-host with unlimited users and dashboards. Starter and Pro add support, SSO, and row and column level permissions, and only Enterprise offers air-gapped deployment, priced by quote. Choose a tier based on which features you need, because SSO and row-level permissions are the main reasons a team moves up. Subscription fees recur annually or monthly.

Warehouse and compute

Metabase queries your database or warehouse directly, so the query cost moves to the platform that already holds the data. Compute on a cloud warehouse is usually billed per query or per hour of capacity, and dashboards that refresh often or scan large tables multiply it. This cost recurs, and it is the line most likely to replace Domo's storage charges, so model it from your actual query history.

Pipeline tool and hosting

Domo's connectors, Magic ETL and storage are bundled, but Metabase does not ingest or transform data on its own. You will need an ELT or pipeline tool for ingestion and a server, container platform or cloud account to run Metabase and its application database. Both are mostly recurring, and the pipeline tool cost depends on connector count and sync frequency.

Backups, upgrades and monitoring

Back up the Metabase application database before every upgrade, since the docs recommend it and upgrades run migrations automatically. Plan for a standby environment to test releases, and for backup storage that holds dashboard and permission metadata. These costs recur in storage and staff hours, and they rise with the number of environments and the frequency of your upgrade cycle.

Migration and staff time

Migration is largely one-time work: moving datasets into a queryable warehouse, rebuilding cards as questions and dashboards, and mapping row rules to Metabase permissions. Staff time is the largest variable, and it depends on how many dashboards you rebuild, how many row-level rules you have, and whether your team already runs pipelines and databases. Ask any partner for a written scope that separates one-time migration from ongoing support, so you can compare it with your current Domo renewal.

What a move from Domo to Metabase involves

The sequence moves dashboards and data from Domo into a warehouse Metabase can query, then into a self-hosted Metabase with its own application database and permissions. Each step closes with a check the team can confirm before the next one starts.

  1. Inventory dashboards, datasets and pipelines

    The BI owner lists every Domo card, page, dataset and dataflow, marks which ones business teams use, and records the source systems behind each one. Domo's own content export and the admin console show what exists, but the team should confirm what each export includes, since dataset contents and row rules may need separate handling. Done when every dashboard has an owner, a source, and a keep, rebuild or retire decision.

  2. Choose and load the analytical warehouse

    Because Metabase queries databases rather than storing data itself, the data engineering team selects a warehouse such as PostgreSQL or another SQL store that fits the volume and latency needs of the dashboards. They then move the datasets that Domo currently stores into that warehouse and validate row counts and key totals against Domo for each one. Done when each retained dataset reconciles with its Domo source for an agreed set of reports.

  3. Rebuild the Domo pipelines in a pipeline tool

    Magic ETL dataflows do not transfer as-is, so the data team recreates each transformation in a pipeline tool of their choice, scheduled against the warehouse. Credential handling and failure alerts move into the team's own secrets and monitoring setup. Done when every scheduled load runs on its new schedule and its output matches the previous Domo output for a review period the team sets.

  4. Deploy Metabase with PostgreSQL as the application database

    The platform team deploys the open-source Metabase, using the JAR or Docker image, and configures PostgreSQL as the application database rather than the embedded H2 file, which Metabase ships for demos only. The team confirms the database connection, backups and access controls for the Metabase host before any business user logs in. Done when Metabase connects to the warehouse and to the application database, and a test login succeeds.

  5. Rebuild cards as questions and dashboards

    Analysts recreate each retained Domo card as a Metabase question, combine questions into dashboards, and rewrite Beast Mode-style calculations as SQL or model logic in the warehouse. Each rebuilt dashboard is compared with its Domo original on the same filters and date range, and the owner signs off. Done when every in-scope dashboard has a documented sign-off and any differences are recorded.

  6. Map row rules to permissions by plan

    Domo's row-level rules must be translated into Metabase permissions. The team confirms which row and column restrictions they need, then checks which Metabase plan provides them, since the pricing page places row and column level permissions and SSO in Pro and Enterprise rather than Open Source. Groups are set up and tested with a sample of users from each group. Done when a test user in each group sees only the rows the rule allows.

  7. Back up, upgrade safely and cut over

    Before any Metabase upgrade, the operations team backs up the application database, because upgrades run application database migrations automatically. For major upgrades, the cluster is reduced to a single node, and older versions are upgraded release by release. Users are moved to Metabase in a planned cutover, with Domo kept read-only until the business confirms the dashboards they need. Done when the backup restore has been tested, users have access, and the Domo subscription end date is agreed.

Questions buyers ask before switching from Domo to Metabase

What does it cost to move from Domo to self-hosted Metabase?

The total depends on components you pay for separately, not on a single license line. Metabase's free Open Source edition has no license fee, but you still pay for the servers or cloud accounts that run the Metabase JAR, the PostgreSQL or MySQL application database, the warehouse Metabase queries, and any pipeline tool that replaces Domo's connectors and Magic ETL. Staff time for setup, migration, upgrades and support is usually the largest recurring item. If you need SSO, row and column level permissions, or usage analytics, the Pro plan is required, and Metabase's pricing page lists Starter at $100 per month ($90 billed yearly, with the first 5 users included) and Pro at $575 per month ($517.50 billed yearly, with the first 10 users included). Ask any quote to itemize infrastructure, pipeline tooling, migration and recurring support separately.

How long does a Domo to Metabase migration take?

The timeline is set by how much you are moving, not by Metabase itself. The main drivers are the number of datasets that must move into a warehouse Metabase can query, how many cards and dashboards must be rebuilt as questions and dashboards, how complex the Domo row-level rules are to map to Metabase permissions by plan, and how many users need to cut over together. Each of these should appear in a written scope before work starts. No migration duration is supplied for this comparison, so ask any implementation partner to base the timeline on an inventory of your Domo content, not on a generic estimate.

What does our internal team need to provide for the migration?

Your team needs to supply access and knowledge that only you hold. Typically this includes an export or inventory of Domo datasets, cards, dashboards and dataflows, the source systems and their credentials, a target warehouse or database that Metabase can query, and the list of business owners who approve the rebuilt dashboards. Security and identity staff must also decide how Metabase will authenticate users, since SSO and SAML setups require a Pro or Enterprise plan. Finally, plan for a named owner who can accept cutover and sign off on data accuracy. Confirm each responsibility in the written scope so gaps show up before cutover.

Can our own team migrate from Domo to Metabase without outside help?

A team with data engineering and BI experience can migrate on its own, and Metabase's documentation covers installation, the application database and upgrades. The harder parts are usually rebuilding Domo dataflows in a pipeline tool, preserving row-level access rules, and testing that numbers match the source. If your team lacks capacity in these areas, DeployOpen can plan, implement, customize, integrate, back up, document and support a self-hosted Metabase inside your own infrastructure under a fixed-scope agreement. Most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

How do Metabase upgrades and version support work?

Metabase publishes two release types with different support windows. LTS versions are supported for 14 months, while non-LTS versions usually reach end of life after 2 months. Every release receives bug fixes and security updates until its end-of-life date, as listed on the Metabase version support page. Metabase 64 is an LTS release published on 16 September 2026 with end of life on 1 December 2027, and Metabase 65 was released on 12 October 2026. Upgrades run application database migrations automatically, so back up the application database first, reduce a cluster to a single node for major upgrades because of a migration lock, and upgrade release by release if you are coming from a version older than 40.

Can Metabase run in an air-gapped network?

Air-gapped deployment is available only on Metabase's Enterprise plan, according to Metabase's pricing page. The free Open Source edition is self-hosted with unlimited users and dashboards, but it does not include air-gapped deployment as a listed feature. Enterprise is priced by quote starting at $20,000 per year. Before you plan around this, confirm with Metabase which components, such as license validation and updates, must reach the network, and confirm how your own air-gap policy treats the Metabase JAR and container images that are pulled into the isolated environment.

What should we check about the application database before going live?

The application database stores Metabase's users, questions, dashboards and settings, so its setup affects reliability and recovery. Metabase ships with an embedded H2 database for demos and recommends PostgreSQL for production, with MySQL 8.4.0 or MariaDB 10.6.0 and later also supported when using utf8mb4. If you start on H2 for a pilot, Metabase documents a one-time load-from-h2 command to move to PostgreSQL or MySQL, which must run with the same Metabase version that last updated the H2 file. Confirm your backup and restore process for this database before cutover, because upgrades depend on it.

Who operates each stack day to day

Domo's day-to-day operation sits with Domo: the platform, connectors, storage and hosted runtime are run by the vendor, so your team manages content, users and data logic inside the product. A self-hosted Metabase stack moves those jobs to your staff. Someone must own the host or cluster, the application database, identity integration with your SSO provider, backups, monitoring, and the warehouse and pipeline tools that feed Metabase, because Metabase queries data but does not move or store it for you. Before you commit, name an owner for each of these in writing and confirm whether that person sits in platform engineering, data engineering or a partner's managed service.

Upgrades are the recurring task most teams underestimate. Metabase LTS versions are supported for 14 months, while non-LTS versions usually reach end of life after about 2 months, so a non-LTS install needs an upgrade roughly every two months to stay supported. Plan a release calendar, a staging copy of the application database, and a rollback path. Metabase runs application database migrations automatically at startup, and its upgrading guide recommends backing up the application database first, reducing a cluster to a single node for major upgrades because of a migration lock, and upgrading one release at a time from versions older than 40. Confirm the current end-of-life dates on the Metabase version support page before setting your cadence.

Identity is the other ongoing dependency. Open Source and Starter plans support Google sign-in and LDAP, while JWT, OIDC, SAML and SCIM provisioning require Pro or Enterprise, so the plan you choose decides who maintains the directory link. Ask your identity team which protocol you will use and whether group sync is required before you size the operating model. Finally, budget staff time for the upstream data path, since a Domo customer who gave up connectors and dataflows must now maintain them as code or tooling of their own.

How DeployOpen helps evaluate and move from Domo to Metabase

DeployOpen plans, implements, hardens, documents and supports self-hosted open-source platforms inside your own infrastructure, including Metabase. For Domo vs Metabase, the work starts with an inventory of what Domo does for your teams today, then a written scope that separates dashboard delivery from the connectors, storage and ETL you would need to replace.

How we scope

  • Inventory Domo cards, pages, dataflows and external users to see which dashboards business teams actually depend on
  • Map each Domo capability to a Metabase feature or a separate tool such as a warehouse and pipeline
  • Agree scope, deliverables and timelines in writing before work starts, with fixed-scope engagements

How we build

  • Stand up Metabase on your infrastructure with PostgreSQL as the application database rather than the embedded H2 database
  • Set up SSO and row or column permissions on the plan tier you choose, confirmed against current Metabase pricing
  • Rebuild priority dashboards as Metabase questions and dashboards and test results against Domo figures

How we hand over

  • Document the deployment, upgrade runbook, backup procedure and permission model for your administrators
  • Provide a cutover checklist covering user access, scheduled reports and retirement of Domo content
  • Walk your team through building new questions and dashboards so analysts can maintain them

How we support

  • Ongoing support, version upgrades and continuous testing are available as retainers after handover
  • Plan Metabase upgrades around the version support dates published by Metabase and back up the application database first
  • Review data access and permissions periodically as teams, plans and data sources change

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.