This post covers one of those back-to-basics things about SharePoint Information Architecture everyone could benefit from knowing about. This post has been sitting in my Drafts folder for over 2 years. That’s right… 2 years.
I hesitated to post it at the time because I thought it was too basic, but then just last week, I was wondering why my term values weren’t updating after I changed a term in the term store… I had forgotten what I had written about in this post! I decided to resurrect the post, run thru the process again and include the Modern library experience to make sure the information in the post is up-to-date. I can only assume there are 1 or 2 of you out there who, like me, could benefit from a quick reminder of how this works. 🙂
I’m talking about what happens behind the scenes in SharePoint Online when you change a term’s value within a term set from the tenant-level term store that you’ve used on a bunch of sites across your tenant.
I encourage the use of the tenant-level term store to provide consistency across a tenant for corporate-wide terms.
Ensure all Term Group Administrators and Contributors (often from the business) understand the behavior I describe in this post so they don’t think they’ve done something wrong.
For a detailed explanation of when to use a Managed Metadata column associated to a Term set, refer to my previous post Choice, Lookup or Managed Metadata?
If you’ve ever had to update managed terms in the tenant-level term store, you’ll notice term values are not updated immediately in site collections using the term. This is because there’s a hidden list called TaxonomyHiddenList on each site collection in SharePoint that caches the terms used in that site collection. Content on the site references this local list to display the values associated with the underlying term IDs. As any cache requires, it periodically needs to be updated to reflect the latest content.
The hidden list can be found on any site collection at this URL:
/sites/SiteCollectionName/Lists/TaxonomyHiddenList
In SharePoint on-prem there is an hourly (by default) Taxonomy Update Scheduler timer job that updates term changes on each site collection. Since you control an on-prem environment, you can run the job more frequently if needed. However, you have no control over when this job runs in SharePoint Online, so I was curious to see if a similar timeframe (up to 1 hour) would apply there as well.
To demonstrate, I’ll use a list of Region terms defined in a tenant-level term set called Regions. There are 4 regions defined as follows:
I’ve also added a list of customers in a SharePoint site and have assigned each to a number of regions using a multi-value Managed Metadata column as follows:
When I do this, it will populate the TaxonomyHiddenList with all the values I’ve used (NOT all the values in the Term set). This hidden list links back to the tenant term store thru a set of IDs as you can see in the image. The managed metadata column will reference this list thru an ID and will show the term value that’s in this list.
Let’s split the South region into Southeast and Southwest. This is a simple change in the Term Store – I edit the original South term to be Southeast and add a new term to be Southwest.
If I immediately edit an existing item that was previously associated with South, it should say Southeast. If you’re in the Classic experience, it does. If you’re in the Modern experience, it doesn’t – likely caused by different ways the 2 experiences retrieve the term values:


From the modern edit form, if I select the Region tag to edit the term South , it does show the updated term value as expected:
However, if I look at the All Items view of the Customers list in either the Classic or Modern experience, it still shows the old value of South:
This is because the TaxonomyHiddenList on the site is being used in the view and it hasn’t been updated yet.
Wait…
I waited approximately 1 hour in my tenant and the values in the TaxonomyHiddenList were indeed updated so the new values would show in the view as well. This may be a factor of the number of site collections in the tenant – the one I’m testing with has less than 20. I’d be curious to know if a tenant with hundreds or thousands of site collections would have to wait longer – I suspect so.
Note: I tried searching for a PowerShell cmdlet to sync the lists in SharePoint Online, but was unable to find one. If you know of one, please let me know and I’ll update this post.
This is useful to know if you’re making changes to terms in SharePoint Online’s term store particularly if you’re in a large tenant with thousands of site collections and is another example of something you have no control over in an Online environment.
The takeaway? Plan ahead for term changes!
Thanks for reading.
-JCK
Hi Joanne,
Is there any updates regarding “How to update the taxonomy Hidden List or how to force rerun the Taxonomy Update scheduler job to Sync updates to Taxonomy Hidden list”
Regards,
Mohammad Amer
Hi Mohammad,
I assume you’re referring to SPO? To my knowledge, that process remains the same. I don’t see that changing.
-JCK
Hi Joanne,
Is there any workaround to update the hidden list or changes to be reflected on libraries where terms has been tagged as metadata in SPO.
I have huge numbers of pages and document with the scenario.
Regards,
Sunita
Hi Sunita, I’m not aware of one. You could check if there’s some PowerShell to do it, but I doubt there is in SPO.
-Joanne
Hi, has there been any feedback from large tenants? Does it take an hour to update on large tenants too? If so, it may be just a SOP conversation with content owners setting the right expectations.
Hi Arik, I haven’t worked on really large tenants to answer that question first-hand. If I get a chance, I’ll reach out to my network to ask if it takes longer in a large tenant.
-JCK
Thanks! We’re bidding on a couple of large-tenant projects, and Term Store behaviour will be key, we’ll continue to snoop around. Appreciate your help.
Hi Joanne,
Have you ever heard of terms in Term Store getting depreciated if we do not access it after some time? One of my users says they heard of this after attending a Microsoft seminar. Basically, if we do not update/modify the terms in Term Store after a long time, the terms will auto-deprecate themselves. To our knowledge, it does not work that way.
But let me know if you’ve heard of this! We’d like to plan ahead for our users.
Hi Kaara, I’ve never heard of this and this doesn’t sound right to me.
Joanne
Same issue for me as welll…any help to update the hiddent list in spo.
Hello, you can’t update it in SPO. It’s done in a backend process and you don’t have any control over it as far as i know.
-Joanne
Hi Joanne, I search of a nasty bug (saving required managed metadata fields) in Modern SharePoint I stumbled upon this article. Thank you for the write up. Somehow Modern SharePoint does not save values and your article might be onto why. We do have a large taxonomy and a large number of documents (50k or so), so might also have to do with Modern choking in the UI…Oh and I’m not alone on this: https://techcommunity.microsoft.com/t5/sharepoint/error-when-saving-properties-even-if-filled-out/m-p/393670
– regards Carry
Hi carry2web, I don’t have insight into any throttling that may be going on for your situation however that is a likely culprit.
-JCK
Thank you for this exhaustive analysis Joanne. Always a pleasure to read your content 🙂
It appears they’ve added “TermStore.UpdateUsedTermsOnSite(Site)” to the CSOM, which might help
https://docs.microsoft.com/en-us/dotnet/api/microsoft.sharepoint.client.taxonomy.termstore.updateusedtermsonsite
I know this is an older post, but I have just started using term store for Records Management. I had a term set loaded, and working but had an updated csv file. So I renamed the term set [filename]OLD and loaded the new terms, and switched the site column to look at the new set. Weird thing is that on the old set, a user could bring up the term list, hover over with a mouse, and the descriptions of each term would pop up allowing them to choose based on description. The new set seems to have lost the ability to have the descriptions pop up. Any ideas as to why this would happen? Do I have to completely delete the old set to have the full functionality of the new set work? Lol I am baffled…