Issues with Dynamic Source Limit

I’m rebuilding our Shopify site onto a new 2.0 template - Surveillance. I have done the layout of our product page & written content however, due to the level and amount of detail needed in our product page and that there are differences between each model and we have 40+ models I have maxed out the product metafields in the Shopify product backend and then hit the Shopify dynamic source limit of 100 when connecting the metafileds to the theme. I’m wanting to get an expert to solve my issues but they must keep the ability for me to have customised text where needed for each product as this is especially important for GEO/AEO/SEO reasons. Yes, I have gone through and tried my best to limit my customisation of my the content. Would if possible prefer an expert who has worked with the Surveillance theme before. Ready to start now on working together.

The 100 is per JSON template, not per store, and that is the bit that usually opens this up. Shopify lists dynamic sources in a JSON template at 100, and separately 50 in a static section and 50 in a single setting.

So if your 40 plus models do not all need the identical field list, duplicate the product template and split them across a few. Online Store, Themes, Customize, then in the template dropdown at the top create product.model-a, product.model-b and so on, and set each product to one of them from the Theme template field on the product page. Each template gets its own 100.

You are duplicating the layout you already built rather than rebuilding it, so the design work you spent so long on carries over, and every product still reads its own metafield values, so the per model text you need for search stays per model. The cost is real though. A design change now has to be repeated on each template you made, so keep the count low, two or three, grouped by which models share a spec shape.

The other lever, if you have not seen it yet, is that Liquid reading product.metafields directly does not consume a dynamic source at all. That does not mean redesigning either. You can leave your sections as they are and only move the field heavy part, usually the spec sheet, into a Custom Liquid section dropped into the same slot.

Which of those 100 connections are spec rows that repeat across every model, and which are one off copy that only a few products have? Spec rows point at the Liquid route, one off copy points at splitting templates.

Hey @user2096 ,

It sounds like you’ve run into two separate Shopify limitations: the number of product metafields you’re maintaining and the 100 dynamic source connections available within the theme editor.

Rather than continuing to add more individual metafields, I’d recommend reviewing the data architecture. In many cases, Metaobjects can be used to group related information together, reducing the number of individual metafields and dynamic source bindings while still allowing product-specific content where needed.

You could also consider:

Moving repeated content into reusable sections or shared data structures.
Using custom Liquid sections to reduce reliance on dynamic source connections.
Keeping only truly unique product content in product-specific metafields while referencing shared information where appropriate.

Since maintaining unique content for SEO, GEO, and AEO is a priority, I’d look for a Shopify developer with strong experience in Online Store 2.0, Metaobjects, Metafields, and Liquid development. Experience with the Surveillance theme is certainly a bonus, but an experienced OS 2.0 developer should be able to implement a scalable solution regardless of the specific theme.

I hope you’re able to find someone who can help you build a more maintainable structure without sacrificing your product-specific content. If you found this helpful, feel free to mark it as the accepted solution so it can help others facing a similar issue.

Thank You !

Hey @user2096, the 100 cap is on theme-editor dynamic source connections, so binding every spec field through the editor is what’s boxing you in. Liquid reads metafields straight off the resource with no such ceiling. I’d group your per-model spec fields into a metaobject definition, put one metaobject-list reference metafield on the product, then loop over product.metafields...value in the product section and output each entry’s fields. Your custom wording per model stays exactly as you typed it, so nothing changes for search. That’s the same on any Online Store 2.0 theme, so you don’t need someone who’s specifically been inside Surveillance. Test it on the model with the most fields first - if every entry renders there, the other 39 will.