Jeremy Davis
Jeremy Davis
Sitecore, C# and web development
Article printed from: https://blog.jermdavis.dev/posts/2026/content-hub-ordercloud

How Content Hub can help Sitecore commerce sites

When you need somewhere to manage products...

Published 20 April 2026

I spoke recently at the London user group, talking about a scenario where you might use Content Hub to help you with OrderCloud projects. Since that presentation didn't get recorded I thought I should write some notes on the core bits of what I said, as this is probably of interest to a wider audience...

Why was I thinking about this? url copied!

A client project was looking at building an OrderCloud-based shop. It sells a products over a wide variety of categories, and it has to have products and prices that vary by the customer looking at the shop. The navigation for products is strongly tied to search behaviour, so products need to be indexed.

Some products have a lot of data attached to them, for descriptions, images and other descriptive info. And there's a desire for the client's organisation to have easier ways to reuse product data in scenarios other than the website.

The internal system which manages the shop's catalog has some of the data for products, but there's also a need to enrich the product information further for the website - adding extra marketing information.

So the project team and I were looking at how the client's data could be taken from the internal systems, enriched, and passed to the commerce site for search indexing and sale. And this lead to some discussions about what the right ways to wire together the Sitecore products involved were.

Architectural patterns url copied!

So a first pass at the website's Sitecore-focused architecture might start with:

flowchart LR
  head["Website
head"] oc["OrderCloud"] s["Search"] oc -- Indexing
products --> s oc -- Selling
products --> head s -- Answering
queries --> head

The products might be pushed to OrderCloud from the back end systems. They can be indexed by Search from there. And then the website's front end can talk to Search for listings and navigation data, and OrderCloud for product details and transactions. OrderCloud has a model for the idea of "product visibility and price depends on the current user" so that aspect of the requirements is handled. (And hence search can pick up this data too, to correctly handle query results for individual users)

All simple then?

Well perhaps not. Turns out we had a couple of challenges with this:

Firstly, when you look into the documentation there's a hard limit on the size of OrderCloud product records. Each product has some basic standard fields, but any extra data has to fit into an 8k block of extension json referred to as "Extended Properties" or xp. Looking through the products for this site it was fairly clear that a bunch of them were not going to fit these restrictions.

And secondly, there's a potential challenge here when you're looking at building for content reuse. The OrderCloud API is designed for headless commerce, so it's not optimised for enriching product data or shipping content to arbitrary external systems.

So Sitecore suggest this is where Content Hub comes in. Its PCM feature (Product Content Management) can model products. And if you make it the target for the back-end integration you can redraw the diagram a bit:

flowchart LR
  head["Website
head"] oc["OrderCloud"] s["Search"] ch["Content
Hub
"] o["Other
systems"] oc -- Indexing
products --> s oc -- Selling
products --> head s -- Answering
queries --> head ch -- Providing content
for reuse --> o ch -- Providing enriched
content --> head ch -- Integrating enriched
product data --> oc style ch stroke-width:4px

Content Hub provides a UI that can be used to handle the extra product enrichment. Users can edit properties of products, and can apply workflow if required. And it doesn't have a limit on data size for products. We can set up the integrations to push just the product data necessary for search into OrderCloud (which means it doesn't have to store the large things like sets of images and descriptions that might exceed the xp limits). And Content Hub also makes use of the same sort of edge cache as Sitecore AI does, so it can be used to efficiently serve that enriched product data (that OrderCloud doesn't have) to the website's front-end.

That edge cache is also fairly useful as a data source so other systems can read product data and reuse it.

You can customise Content Hub url copied!

Another good reason for building on top of the Product Content Management features here is that Content Hub is designed to be pretty flexible in these scenarios.

We can manage the schema stored for products and customise it to the needs of a specific project. And we can modify the UI to handle things like optional sections of data, or applying security and workflow to the business processes of enrichment. And (unlike OrderCloud) that UI comes out-of-the-box. I've written about customising the product schema in the past, so I won't repeat it here.

Syncing and fetching data url copied!

Similarly, I've written previously about how you can use GraphQL and the edge cache to query products from Content Hub for display on a website.

But there's another feature here that's useful for this scenario: Sitecore document a direct integration between Content Hub and OrderCloud. You configure some connection security between your instances, and then you provide a mapping for fields in Content Hub into OrderCloud's schema. With that in place you can create a Trigger in Content Hub to push data each time it's updated.

So changes to the product content in OrderCloud can be pushed automatically into OrderCloud so that they can be used for sales and search indexing.

There are a couple of caveats to be aware of here, however:

Firstly there's no mention of prices anywhere in that bit of sync documentation. You have to handle the setup of Price Schedules through some other pattern. That's not necessarily an issue - you'd probably not try to manage anything to do with pricing in Content Hub anyway. It's much more likely to be sourced from some sort of finance-focused internal system instead. These are much less likely to require enrichment, so fit fairly well with a "copy the data direct to OrderCloud" approach.

And secondly a good chunk of the content that's being pushed out of Content Hub is likely to be mapped into the Extended Properties json field in OrderCloud's product record. (As noted above, since OrderCloud has a fairly simple model for products anything extra goes into the "xp" field where you can define the schema of the data) If you read the details of how to configure mapping you'll note that while there is a feature here for pushing into OrderCloud's xp fields, but that it's not fully supported at present:

A paragraph of documentation which specifies that the 'map_xp' feature is not fully supported

So you'll want to verify that it can make the mapping you need before you commit to using this route. If not, you're probably looking at building some custom integration here.

Conclusions url copied!

Content Hub can be a flexible tool for managing data like this. It can store and serve product data for you, and it has a flexible schema that allows you to tweak this to match your project requirements.

It has a useful ways to manage integrations for data. There's the GraphQL API and its edge cache for serving data to websites or other systems. And it also has SDKs for more direct read/write integrations to help you import product data and manage synchronisation with your back end if necessary.

And you get out-of-the-box integrations to other Sitecore products too. There's mechanisms provided to integrate Content Hub data with OrderCloud. And you can also send data directly to Sitecore Search as well.

↑ Back to top

How Content Hub can help Sitecore commerce sites