Skip to main content
Workforce LibreTexts

11.2.4: Embedded Analytics Platforms and Integrations

  • Page ID
    53417
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\dsum}{\displaystyle\sum\limits} \)

    \( \newcommand{\dint}{\displaystyle\int\limits} \)

    \( \newcommand{\dlim}{\displaystyle\lim\limits} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \(\newcommand{\longvect}{\overrightarrow}\)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\ket}[1]{\left| #1 \right>}\)
    \(\newcommand{\bra}[1]{\left< #1 \right|}\)
    \(\newcommand{\braket}[2]{\left< #1 \vphantom{#2} \right| \left. #2 \vphantom{#1} \right>}\)
    \(\newcommand{\braopket}[3]{\left< #1 \vphantom{#2}\vphantom{#3} \right| #2 \vphantom{#1}\vphantom{#3} \left| #3 \vphantom{#1}\vphantom{#2} \right>}\)
    \(\newcommand{\qmvec}[1]{\mathbf{\vec{#1}}}\)
    \(\newcommand{\op}[1]{\hat{\mathbf{#1}}}\)
    \(\newcommand{\expect}[1]{\langle #1 \rangle}\)
    \(\newcommand{\dfn}[1]{\emph{\textbf{#1}}}\)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Embedded Analytics Platforms and Integrations

    Embedded analytics refers to the integration of BI capabilities – such as dashboards, reports, and data visualization – directly into other software applications. Instead of using a separate BI app, users see analytics in the context of the app they’re already using (for example, a CRM system that has an analytics panel showing sales trends). The goal is to bring insights to users within their workflow, so they don’t have to switch to a separate BI tool – thus making data-driven decision-making more seamless. In many ways, embedded analytics is about treating analytics as a feature of a broader product or platform, rather than a standalone service.

    Definition: Embedded analytics (or embedded BI) is the integration of analytical content and capabilities into an existing business application or portal. The analytics function (be it interactive charts, reports, or even AI-driven insights) is embedded so naturally that to the end user it appears as part of the host application’s native functionality. For example, a project management software might include an embedded dashboard showing project metrics; or an e-commerce platform might have an analytics tab where sellers see visualizations of their sales data.

    There are specialized embedded analytics platforms and also embedded offerings from the major BI vendors: - Many enterprise BI tools (Tableau, Power BI, Qlik, Looker, QuickSight, etc.) provide embedding options. This could be via iframe integration, Javascript SDKs, or APIs. For instance, Tableau has a Javascript API to embed and control its dashboards in other web pages; Power BI has “Power BI Embedded” in Azure for embedding reports into custom applications with authentication handled via tokens; Looker, as mentioned, has extensive APIs for integration; Qlik can be embedded through iframes or their Capability APIs; QuickSight provides embedded dashboards for both internal and external users with AWS identity integration. - There are also vendors whose primary focus is embedded analytics. These include platforms like Sisense (which offers a version specifically for OEM embedding, including a customizable front-end), Logi Analytics (long focused on embedded BI for software companies), Yellowfin (a BI vendor that highlights embedded use cases), and newer ones like Qrvey (as seen in the Qrvey blog, which markets itself for SaaS embedded analytics).

    How embedding works: Typically, embedded analytics is achieved either by embedding BI content (like a frame or container that shows a report from the BI server) or by using BI components (like charts and pivot tables via a library) directly in the application: - IFrame or Web embedding: The host application contains an HTML container that displays the BI tool’s output. The BI platform usually provides a URL or embed code for a specific report or dashboard, possibly with filters or parameters in the URL. This is a straightforward approach: for example, you generate an embed URL for a Looker dashboard or a Tableau view and include it in your app. Authentication is handled via SSO or tokens so that the user viewing the embed has appropriate data access. The advantage is quick integration, but it can be somewhat limited by the BI tool’s look-and-feel unless further customized. - Embed SDKs and APIs: Most modern BI tools provide JavaScript SDKs to embed and interact with analytics. For instance, Power BI’s JavaScript API allows a developer to embed a report into a web page and then programmatically filter it, listen to user interactions, or dynamically change visuals. This offers a more seamless integration, where the host application can control the embedded content’s behavior. - White-labeling: Some embedded scenarios involve white-label BI, meaning the BI component is rebranded to look like the host application entirely (remove vendor logos, match styles). Many platforms allow white-label embedding with proper licensing, so the end user doesn’t even know that a third-party BI engine is powering the analytics. The analytics just appears as a natural part of the software. - Custom-built visuals using libraries: In some cases, instead of embedding a full BI tool, developers build custom analytics components using visualization libraries (like D3.js, Chart.js) directly. This isn’t “embedded BI” from a platform standpoint, but it’s another route to adding analytics to an app. The downside is you have to implement more yourself (data queries, etc.). Hybrid approaches exist: for example, using an open-source backend like Apache Superset or Metabase but only exposing its charts via API in a custom UI.
    Embedded Analytics Platform. Details in caption.

    Figure \(\PageIndex{1}\): Embedded Analytics Integration Patterns. This diagram illustrates the primary methods for embedding BI content into host applications — iframe embedding, JavaScript SDK integration, API-driven embedding, and white-label deployment — showing how each approach connects the BI platform to the host application's user interface. (CC BY 4.0; Felix Amoruwa) Access to detailed description of Figure \(\PageIndex{1}\)

     

    Embedded Analytics Platforms Features: An embedded analytics platform or module often provides multi-tenant support (so if you embed in a SaaS app, each of your customers sees only their data), API access, and the ability to integrate with the app’s security model (for example, inheriting the host app’s user roles). They also focus on being developer-friendly – good documentation, sample code, and flexible customization options are key. For internal embedded analytics (within an enterprise’s internal portals), single sign-on (SSO) integration is important so that users seamlessly access the analytics without a second login.

    The benefits of embedded analytics include: - In-context decision making: Users don’t have to leave the application they are working in to consult an external BI tool. They get insights right where they work, improving efficiency and adoption. For example, a customer support agent using a CRM with embedded analytics can immediately see a dashboard of customer interaction metrics while talking to a client, rather than running separate reports. - Increased analytics adoption: Often one of the struggles of BI is getting users to actually use the BI tool regularly. By embedding analytics into software they already use (be it an ERP, CRM, HR system, etc.), you naturally expose them to insights, which can drive a more data-driven culture. - Potential revenue streams for software companies: If you are a software provider (SaaS product, etc.), adding analytics features can differentiate your product and even be sold as a premium feature. Many SaaS companies use embedded BI to deliver value-added reports to their customers without building an entire analytics stack from scratch. - Consistency and Branding: With embedded analytics, especially when white-labeled, all analytics align with the look and feel of the host application. This provides a seamless user experience. Also, because it’s integrated, it can use the host app’s data and context – e.g., clicking on a record in the app could bring up related analytics for that record.

    From a technical standpoint, when integrating embedded analytics, developers will usually: 1. Ensure the BI platform is configured for embedding (creating embed codes, setting up authentication keys or trust between systems). 2. Place the embedded content in the desired app location (webpage, portal, etc.). 3. Test that the content renders correctly for different users and that permissions are respected (e.g., user A shouldn’t see user B’s data). 4. Potentially use API calls to automate provisioning (for example, when a new customer is created in a SaaS app, automatically create a workspace or folder in the BI tool for them and populate it with default dashboards).

    A practical example is using Power BI Embedded: Suppose you have a custom web portal for your clients and you want to show a Power BI report inside it. Microsoft provides an Embed REST API where you can register an application, get an embed token that grants access to a report for a specific user, and then use the Power BI JavaScript library to embed the report. The code snippet might look conceptually like:

    // Example pseudocode for embedding a Power BI report
    var reportContainer = document.getElementById("reportDiv");
    var embedConfig = {
        type: 'report',
        id: '<REPORT_ID>',
        embedUrl: '<EMBED_URL_FROM_POWER_BI>',
        accessToken: '<EMBED_TOKEN>',
        tokenType: models.TokenType.Embed,
        settings: {
            panes: { filters: { visible: false } },
            background: models.BackgroundType.Transparent
        }
    };
    powerbi.embed(reportContainer, embedConfig);

    In this snippet, you provide the container, the configuration including a secure token and URL, and call powerbi.embed(...). The result is that the user sees the interactive Power BI report inside your webpage, without going to Power BI’s site. Similar patterns exist for other tools: e.g., Looker’s API will give you a URL for an embedded Look, QuickSight uses embedding SDK for its dashboards, etc.

    Another example using an iframe for simplicity could be:

    <!-- Embedding a hypothetical dashboard via iframe -->
    <iframe
        src="https://bi.example.com/embed/dashboa....doe&token=XYZ"
        width="100%" height="600" frameborder="0">
    </iframe>

    This would show the Financial Summary dashboard inside a page. The token in the query string might be a secure token that ensures John Doe can only see his permitted data in that dashboard.

    When implementing embedded BI, security is paramount – the integration must ensure that the embedded content cannot be manipulated to reveal unauthorized data (which is why many platforms require using secure tokens or backend API calls rather than putting secrets in the front-end).

    Embedded analytics platforms often provide features like: - Multi-tenant architecture: so each client’s data is isolated in a SaaS context (this might involve row-level security or separate data workspaces per tenant). - Customization hooks: ability to customize the UI, or to integrate with single sign-on, or to show/hide certain menu options in the BI interface when embedded. - Responsive design: embedded dashboards should be able to fit in various screen sizes if the host app is responsive (especially for mobile app embedding). - Licensing that allows OEM: vendors usually have special pricing for embedding use cases (since the analytics is being shown to potentially hundreds or thousands of end users of an OEM’s software, rather than internal employees).

    In the current market, embedded analytics is a strong trend. Many organizations prefer to bring analytics to where users are, and many software companies partner with BI vendors or use open-source solutions to deliver analytics in their products. According to Gartner’s definition, embedded analytics “allows data analysis and insights to be actioned within a user’s workflow as they engage with an application”, essentially making analytics part of the business process itself rather than a separate activity. This leads to faster decisions and a more pervasive use of data.

    From the perspective of this chapter’s flow: Business Intelligence started as separate tools for analysts, but with embedded analytics, it’s everywhere – within ERP systems, within collaboration tools, etc. For example, Microsoft embeds Power BI visuals within Teams and SharePoint; Salesforce (which now owns Tableau) is embedding Einstein Analytics (Tableau CRM) in its CRM; and so on.

    In summary, embedded analytics is about integrating BI seamlessly into other applications to enhance those applications with data insights. Whether using specialized embedded BI platforms or features of existing BI tools, the integration requires careful planning but can greatly increase the reach and impact of analytics. It reflects a shift from “go to your BI tool to get answers” to “get answers in whatever tool you’re already using”. This is particularly important as we aim to empower more users with analytics without requiring them to be BI experts or even know that they are using a BI product. The success of embedded analytics is often measured by the adoption and satisfaction of end-users who might simply say, “I love that my software shows me exactly the numbers I need to do my job,” without realizing there’s a whole BI engine under the hood enabling that.


    This page titled 11.2.4: Embedded Analytics Platforms and Integrations was last modified on Thu, 17 Sep 2026 01:24:48 GMT and is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Felix Amoruwa.

    • Was this article helpful?