digital worklace
By · 9 min read

Somewhere in the quarterly pack there is a slide that says the digital workplace generated 412,000 interactions. It came from three exports pasted into one spreadsheet: SharePoint page views, Viva Engage post views, and newsletter opens. Nobody in the room knows that those three numbers were produced by three different counting rules, that one of them fires when content scrolls past in a feed, and that the same person is probably in all three.

This is the central measurement problem of a digital workplace, and it is not solved by better dashboards. The unit is broken before the dashboard starts. Until you decide what a view means on each surface, a cross-channel total is a number with no referent. This article is about fixing the unit first.

A digital workplace is a measurement surface, not a product

No organisation ever bought a thing called a digital workplace. What they bought was Microsoft 365, and what emerged was a bundle: a SharePoint intranet, Viva Engage communities, Teams channels, Viva Connections on mobile[1], and a newsletter tool bolted to the side. Each of those has its own analytics, built by a different product team, for a different reader, with a different notion of what constitutes an event worth recording.

That is a reasonable design decision on Microsoft’s part. A SharePoint administrator worrying about portal performance and an Engage community manager worrying about participation genuinely do need different reports. It becomes a problem only when an internal communication team, whose remit runs across all of them, treats those reports as interchangeable inputs to one total.

Four things called a view that are not the same thing

Be specific about what each surface records, because the differences are larger than most teams assume.

A SharePoint news article records page views and unique viewers for the site, aggregated in the site analytics and portal health tooling[2]. This is the closest thing in the stack to a deliberate act: somebody navigated to a page. It is also the strictest counter, which means the channel that requires the most intent produces the smallest number.

A Viva Engage post lives in a feed. Feed impressions and deliberate opens are not the same behaviour, and community insights report activity inside the community rather than attention paid to a specific message[3]. The number is real. It just measures something looser than the SharePoint number sitting next to it.

A Teams channel message is looser again. The Teams reporting reference is built around activity counts, messages posted, active users, meetings held[4]. Those are usage metrics for an administrator. Treating a message count as readership is a category error, and it is one of the more common ones we see.

A newsletter open is inferred from a tracking pixel. In a workforce where image blocking, preview panes and shared devices vary by population, the open rate overstates in some segments and understates in others, which matters most when you are comparing head office against a plant.

Surface What is counted How much intent it implies Main distortion
SharePoint news Page views and unique viewers High: somebody navigated there Undercounts passive audiences
Viva Engage post Feed activity and post-level response Medium: feed exposure is not attention Inflates against SharePoint
Teams channel Messages, active users, activity Low: usage, not readership Not a communications metric at all
Newsletter Pixel-inferred opens Medium, and uneven Varies by device and population
Viva Connections Card impressions in a mobile feed Low: exposure Hardest to compare with anything

Three things that break when you add them up

The same person counted three times

A regional sales manager reads the strategy update in the newsletter on the train, sees it again as a SharePoint news article, and reacts to the Engage post. That is one person reached and three events counted. In a well-integrated organisation the overlap is not a rounding error, it is a third of the total. Reporting cumulative events as reach systematically overstates how many people you actually touched, and it overstates most in the populations that are already easiest to reach.

Channel mix drift that looks like performance

Move a campaign from newsletter to Viva Engage and your total will jump, because the Engage counter is more generous. Move it back and the total collapses. Neither movement tells you anything about whether the organisation is better informed. A team that reports cumulative interactions will eventually be rewarded or punished for a routing decision that had nothing to do with communication quality.

Optimising for the cheapest unit

This is the one that does real damage over two or three years. If the total is what gets reported, the rational response is to push volume onto the surface with the loosest counter. The numbers go up, the frontline population stays exactly as uninformed as it was, and the reporting confirms success the whole way. Gallup’s long-running workplace research keeps finding the widest engagement gaps in frontline and deskless populations[5], which is precisely the group a cumulative total hides.

Normalise before you total

Four steps, in order. None of them require new tooling to start.

Define the unit and write it down. Pick one definition, something like “a person who had a genuine opportunity to see this message on this channel”, and then write the specific rule for each surface. For SharePoint that might be a unique viewer of the article. For Engage, a post view rather than a feed impression. For Teams, in most cases, nothing at all, because Teams activity counts are not readership. Publishing this definition alongside your numbers is the single highest-return thing you can do, because it makes the report auditable.

Define the population before the numerator. Reach is a fraction, and the denominator does not come from any channel. It comes from Entra ID or an HR extract: the people who were supposed to receive this. Channel membership is not a population. If you take one thing from this article, take the habit of stating the denominator on every reach figure.

Deduplicate at the person level. Cross-channel reach is the count of distinct people reached on at least one surface, not the sum of per-surface counts. That requires a common identity key across channels, which is the technical heart of the problem and the reason most teams stop here. Our note on measuring cross-channel internal communications goes through the deduplication in more detail.

Set the window by campaign, not by calendar. A safety campaign has a life of about ten days. Reporting it in a calendar month splits it across two reports and makes both wrong. Define the window when you brief the campaign, not when you write the report.

How far the native tooling takes you

Honestly, further than vendors usually admit for single-surface questions. SharePoint site analytics is genuinely good at telling you how a site is performing. Viva Engage community insights is genuinely good at telling a community manager whether their community is alive. Both are free, both are already switched on, and if your question fits inside one surface you should use them and stop reading here.

The gap is structural rather than a quality problem. Each panel reports its own surface with its own unit, none of them join to workforce attributes, and none of them deduplicate people across surfaces. That is not a criticism of Microsoft, it is a description of what those tools were scoped to do. The same boundary is described from the SharePoint side in our piece on the limits of SharePoint native analytics and from the Teams side in measuring internal communications on Microsoft Teams.

Teams often try to close it with a Power BI build on the Microsoft Graph reporting API. It can be done, and it is more work than the first estimate. The reporting API is not consistently reliable and produces days with missing data. Customers have observed KPI values in Power BI that do not reconcile with the native SharePoint reports for the same period. A dependable build needs a robust ingestion process, scheduled reconciliation against native figures, and a named owner for the pipeline. Budget for the pipeline, not the dashboard.

Tryane exists in that gap. It reads SharePoint, Viva Engage, Teams and newsletter platforms together, applies one consistent definition of reach across them, deduplicates at the person level, joins to your organisational structure through Entra ID or an HR file, and keeps unlimited history across product transitions. SOC 2 Type 2 certified, GDPR compliant by design, EU hosting by default with US data residency on request, single sign-on through Azure AD or Entra ID, deployed in a couple of hours with no agent to install.

What a normalised report looks like

Three lines replace the 412,000. Unique reach against the defined population, expressed as a percentage. The same figure broken by function and site, because the aggregate hides the only thing that is actionable. And channel contribution to unique reach, which answers the question the cumulative total was pretending to answer: which surface actually added people that the others did not. Once those three exist, the measures in our guide to internal communication KPIs become straightforward to populate.

Frequently asked questions

What counts as a digital workplace for measurement purposes?

Practically, every surface on which internal communication reaches people: the SharePoint intranet, Viva Engage, Teams channels used for communication rather than project work, Viva Connections on mobile, and the newsletter tool. Draw the boundary explicitly, because an undeclared boundary is how surfaces quietly enter and leave the total between quarters.

Can I just add SharePoint views and Viva Engage views together?

No, and the error is larger than it looks. The two surfaces count different behaviours with different thresholds of intent, and the same person frequently appears in both. The sum is neither reach nor engagement. If you need one headline figure, use unique people reached against a stated population.

Should Teams activity appear in an internal communications report?

Usually not as a reach metric. Teams reporting is built around usage and activity for administrators, so message counts describe how much the platform is used rather than how many people read a communication. Teams belongs in the report when you are measuring a specific communication posted to a specific channel with a defined audience.

How do we handle people who have no email and no desk?

Define them as a population first, then measure coverage against that population rather than against the whole organisation. Frontline reach usually needs different surfaces and a different window, and folding those people into a company-wide average is how their exclusion stays invisible. Our piece on measuring frontline worker communications covers the practicalities.

Do we need to replace our native analytics to do this?

No. Native panels keep doing what they do well, per surface. What changes is that a layer above them applies one definition of reach, deduplicates people across channels and joins the result to your organisational structure. You keep the Microsoft 365 investment and add the part that native was never scoped to provide.

Sources

Microsoft Learn, Viva Connections overview

Microsoft Learn, SharePoint portal health and site analytics

Microsoft Learn, Viva Engage overview

Microsoft Learn, Teams reporting reference

Gallup, State of the Global Workplace

Further reading

Measuring cross-channel internal communications

Digital workplace analytics

The limits of SharePoint native analytics

Measuring internal communications on Microsoft Teams

Internal newsletter metrics beyond the open rate

Tryane runs a 15-minute working session with Heads of Internal Communication, taking one recent campaign and rebuilding its reach on a single normalised definition across your own SharePoint, Viva Engage and newsletter data. Book a slot with Jérémy to schedule yours.