Power BI embedding lets you put reports and dashboards inside your own applications, but the licensing splits sharply on a single question: are the viewers your own internal staff, or are they external customers using a product you sell. Embedding for internal users runs on the same per user and capacity licensing as the rest of the estate. Embedding for external users runs on a separate embedded capacity model designed for software providers, and the two are not interchangeable. The expensive mistakes happen at the boundary. Estates build a customer facing analytics feature on the internal model and create a compliance exposure, or they buy a dedicated embedded capacity for an internal use case that the licenses they already own would have covered, and pay twice for the same analytics. The right call is to classify the audience precisely, match it to the correct model, and size the capacity to real concurrent load rather than to a headcount that does not apply.
Microsoft draws a hard line between embedding analytics for people inside your organization and embedding it for people outside it. The licensing follows that line, and getting the classification right is the whole decision. Everything downstream depends on which side of it your audience sits.
When the people viewing embedded reports are your own employees, they are licensed exactly as they would be for any other Power BI consumption: a per user license, or a capacity that covers them as viewers. Embedding the content into an internal portal or line of business application changes the delivery surface, not the licensing. There is no separate product to buy for this, and buying one is paying twice.
When the viewers are external customers using an application or product you provide, internal per user licensing does not apply and is not permitted. This use case runs on a dedicated embedded capacity sold for software providers, where you pay for compute rather than per external user. This is the correct and only compliant model for customer facing analytics, and building it on internal licenses is a real exposure.
Embedded licensing fails in two opposite directions, and an estate can carry both at once across different applications. One direction is a compliance exposure, the other is pure overspend. Both come from misreading the audience or mis sizing the capacity.
A team builds a customer portal with embedded dashboards and licenses it as if the viewers were staff. This is the exposure direction. External customer access through internal per user licensing is not compliant, and a review reads it as a population that should have been on an embedded capacity all along. The longer the feature runs, the larger the corrected position.
The reverse error. A team stands up a dedicated embedded capacity to serve internal users who are already covered by the Pro, Premium Per User, or shared capacity licenses the organization owns. This is paying twice for the same analytics. The fix is to retire the redundant capacity and serve those users from the licensing already in place.
Embedded capacity is priced on compute, not on the number of customers. Estates size it to a customer headcount or a peak that never occurs, and overprovision badly. The correct size comes from measured concurrent load and refresh pressure, the same discipline as any capacity, applied to the real usage pattern of the embedded workload rather than a theoretical maximum.
The defensible and economical position is reached in two steps: get every embedded scenario onto the correct model for its audience, then size any embedded capacity to measured load rather than to a headcount that has no bearing on a compute based price.
We inventory every place Power BI content is embedded across the application estate and classify each audience as internal or external with precision, because mixed scenarios and partner access blur the line. Customer facing scenarios move to the embedded capacity model to close the exposure. Internal scenarios running on a needlessly bought capacity move back to the licenses you already hold, removing the double pay. The output is a clean map where every embedded surface sits on the model its audience requires.
For the legitimate embedded capacity that remains, we size to measured concurrent demand and refresh pressure rather than to a customer count, because the price is compute and compute is driven by simultaneous use, not by how many customers exist. This typically lands on a smaller SKU than the headcount based guess, with monitoring set so the capacity scales with genuine growth. The result is a compliant external analytics offering on the smallest capacity that serves it reliably, and no redundant spend anywhere internal users could be served by existing licenses.
The internal versus external test, the three traps that leak money or create exposure, and the load based sizing approach for embedded capacity. Sent on request.
We map every embedded scenario, move customer facing analytics onto the embedded capacity model to close the exposure, return internal use to the licenses you already own, and size any embedded capacity to measured load. The result is compliant external analytics and no double payment internally.