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.
stop connecting them one by one. Print them all with a single Custom Liquid section instead.
Liquid reads your metafields directly and does not count against the 100 limit
Custom Liquid
- Online Store, Themes, Customize on your Surveillance theme.
- Open a product template. Under Template, click Add section.
- Choose Custom liquid.
Paste code that prints your fields
- Put your fields in the Liquid box. Swap
specsfor your namespace and the keys for your own:
{%- assign s = product.metafields.specs -%}
<div class="spec-sheet">
{% if s.resolution != blank %}<p><strong>Resolution:</strong> {{ s.resolution }}</p>{% endif %}
{% if s.field_of_view != blank %}<p><strong>Field of view:</strong> {{ s.field_of_view }}</p>{% endif %}
{% if s.night_vision != blank %}<p><strong>Night vision:</strong> {{ s.night_vision }}</p>{% endif %}
</div>
- Add one line per field.
- Save.
If you also ran out of metafields
- Group related fields into one Metaobject (Settings, Custom data, Metaobjects), then point to it from the product with a single metafield.
Thanks for your reply. We are using existing blocks/layouts from either the theme or section store for example a collapsible content block. Does your custom liquid solution work for this? We are hoping to not have to redesign the page (it took us so long)
you do not have to redesign anything.
Custom Liquid is additive. You keep every section and block you already built.
-
Put one Custom Liquid section wherever the detailed content sits and move the bulk of your fields into it.
-
For a block like Collapsible content: you cannot paste Liquid inside a collapsible row itself. That field only takes typed text or one connected metafield. So either leave those few rows as they are, or, if the collapsible rows are what is eating your 100, rebuild that one accordion in Custom Liquid. It uses the browser’s native collapsible, so it looks and behaves the same.
Here it is tested on Surveillance: zero dynamic sources.
I can make it concrete for your page. Paste your product template or the section you are using (or a link to the page) and I will mark exactly which fields to move and which to leave, so your layout stays as is.
Hi @user2096
The good news is probably don’t need to abandon the detailed product content or cram everything into Shopify’s standard metafield/dynamic-source workflow.
The 100 dynamic-source limit is a theme-editor limitation, not necessarily a limit on how much structured product data you can maintain. For 40+ models, I’d look at restructuring the implementation so the product template pulls the relevant data directly from Liquid/mmetafields rather than creating a separate dynamic source connection for every field.
A few approaches worth considering:
- Metaobjects: useful when you have repeated specifications or structured information shared across many models.
- Metafield namespaces/groups: organize specifications logically rather than treating every field as an isolated theme setting.
- Direct Liquid rendering: the theme can access product metafields directly, avoiding the need to expose every field as dynamic source in the editor.
- Conditional sections: only render a specification/content block when that product actually has data for it.
- JSON-LD/scehma: keep important structured product information available in the actual page output rather than relying purely on visible them-editor fields.
For SEO/AEO/GEO, I would not solve this by making evrything genric just to stay under the limit. Your model specific information is valuable; the implementation should be changed instead.
If you’re hiring someone, I’d specifically ask them to demonstrate how they would handle 40+ product templates/models with unique mettafield content while staying within Shopify’s theme-editor dynamic-source limits. That will quickly separate someone who undrstands the underlying Shopify architechture from someone who will simply try to add more fields.


