Beyond Culture: Using Umbraco 16 segments for contextual experiences
Senior Developer and Umbraco MVP, Sean Thorne, shares his take on Umbraco 16's segments.
What are Umbraco segments, and why are they important?
Segments in Umbraco 16 let you show different versions of the same content based on more than just language. Until now, content variation was mostly tied to cultures (like English or Danish), but segments add another layer - one that can respond to things like user context, device type, or even connection quality.
Instead of duplicating pages or hacking around with custom logic, you can now use segments to cleanly manage those variations within Umbraco! It’s a small shift with big potential: the same content node, shown differently depending on the situation. Variants have always been around, but Umbraco 16 shows a positive trend in making them a first-class citizen.

Use case: Emergency mode/low-bandwidth
Imagine this: someone tries to load your beautifully designed homepage while stuck in a lift with one bar of signal and a dying battery.
They don’t need hero videos or parallax scroll — they just need the essentials, fast. That’s where segments can come in. I created a "low-bandwidth" segment to serve a stripped-back version of the site: fewer images, no heavy scripts, just clear, critical content. It’s also handy for emergency scenarios, where speed and clarity matter more than brand polish. Same content structure, just... lighter on its feet.
Of course, this is just one use case. Segments aren’t limited to saving bandwidth or handling emergencies; they’re about showing the right content for the right context. You might have a simplified view for users with lower reading ages, or a distraction-free layout for neurodivergent audiences who benefit from reduced visual noise. The real power of segments is in how flexible they are - you define the need, and Umbraco lets you tailor the experience without duplicating everything.
Setting up segments in Umbraco
Setting up new segments in Umbraco couldn't be simpler now! The first step is to create a class that implements the interface. My complete article on how to set this up in Umbraco will be published in the Umbraco community magazine in August, and will include the code on how to do this.
Next, you'll need to tell Umbraco to use your custom segment service instead of the default one.
Kenn Jacobsen has a great write-up that explains this in more detail: Umbraco 16 brings back segments.
Once the segments are enabled, it's as simple as just enabling them for document types and then applying them to property types.
Rendering the segments
Once you’ve set the segment in the variation context, Umbraco does most of the heavy lifting for you. Whether you're using classic Razor views or a headless setup, content for the current segment will be served automatically — as long as it exists.
Umbraco MVC
If you're using Umbraco's built-in view rendering, you can inject the segment logic directly into your Razor layout or view - especially for quick prototyping or small-scale scenarios.
Headless
I’ll admit it - I love Vue. It’s been my go-to for frontends for years, and it pairs beautifully with Umbraco when running headless. In this case, I used a Vue 3 app (with a little help from @vueuse/core) to detect network conditions and request the right content segment dynamically.
If the user is on a slow connection or has data-saving enabled, we send the Accept-Segment: low-bandwidth header to the Umbraco Delivery API. That’s it. Umbraco handles the rest, returning the appropriate version of the content based on the segment.
Conclusion
Segments aren’t new to Umbraco, but in version 16, they’ve finally stepped into the spotlight.
What used to be a hidden, behind-the-scenes feature is now fully editable, previewable, and genuinely useful, not just for marketing teams running A/B tests, but for developers building smart, flexible experiences.
You could use segments for accessibility modes, regulatory views, device-specific content, or anything else your users might need - all without duplicating nodes or making your CMS a tangled spaghetti mess. The low-bandwidth demo here is just one example.
The direction is clear: Umbraco is giving us serious power to build content that adapts. One node. Multiple dimensions. Real-world context, built in.
If you'd like to find out more about Umbraco segments and speak to one of our experts, drop an email to Mike here.