Specifications and Comparison Tables on Shopify without an App

Rappresentazione astratta e minimalista di un database di dati tecnici e tabelle di confronto collegate su Shopify.Francesco Guiducci

Discover how to configure dynamic specification sheets and product comparison tables on Shopify using only Metafields and Custom Liquid code on the Dawn theme, eliminating paid apps and speeding up mobile loading.

Analysis by: Francesco Guiducci
If you're tired of paying monthly subscriptions for apps that slow down your store, you should know that in my daily work with Italian SMEs and start-ups using standard Shopify plans (Basic, Shopify, Advanced), I often encounter complex catalogs that require detailed technical specifications. Many merchants make the mistake of installing heavy third-party applications just to display a comparison table or a structured technical data sheet. In this guide, I will show you how to engineer a completely native solution on Shopify, leveraging the power of Metafields (Shopify's custom fields) and Custom Liquid on the Dawn theme. This approach will allow you to save on fixed costs, eliminate any impact on mobile loading times, and offer your customers a fluid, integrated, and high-performance shopping experience.

Why technical data sheet and comparison table apps kill mobile conversions

The destructive impact of junk code on Core Web Vitals

Installing an application from the Shopify App Store to manage technical data sheets or comparison tables almost always involves injecting external JavaScript scripts and unoptimized CSS elements into your theme. These files, often hosted on slow external servers or not correctly configured for data compression, block page rendering on the customer's browser. When a user browses from a smartphone, perhaps on an unstable 4G or 3G network, the delayed appearance of these tables generates a negative spike in Core Web Vitals, particularly in the Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS) parameters. A layout that shifts while the user tries to read technical specifications only increases frustration and leads to immediate cart abandonment.

The "monthly subscription trap" effect for small and medium-sized businesses

From a purely economic point of view, paying $9 to $29 per month for a feature that the Shopify platform already offers natively is a financial contradiction. For a small or medium-sized business, every unnecessary recurring cost reduces the net operating margin. Many of these applications also tie up your data: if you decide to uninstall them, the comparison tables disappear, and the painstakingly entered data is often lost, or they leave behind a pile of orphaned "ghost code" that continues to clutter your Dawn theme files. Choosing native development means maintaining absolute control over your product database and the cleanliness of your online store's code.

The engineering logic behind the native solution with Metafields

What are metafield definitions and how to structure structured data

Metafields represent Shopify's extended database. By default, a Shopify product page only allows you to enter the title, description, price, and images. If you sell products that require specific technical details (such as dimensions, voltage, materials, certifications, or compatibility), metafields allow you to create additional custom fields directly associated with each product. These fields can accommodate different types of data: single-line text, multi-line text, decimal numbers, media files, or even links to other resources in your store. Structuring this data natively allows Shopify to index it correctly and expose it to search engines and AI bots through clean structured data, drastically improving the overall SEO of the product page.

Dawn theme blocks as strategic allies without touching theme files

The Dawn theme, the free standard based on the Online Store 2.0 architecture, is designed to be extremely customizable. You don't need to directly modify the theme's source code files (such as product.json or main-product.liquid), risking blocking future platform updates. Through Shopify's visual theme editor, you can map the metafields entered in the control panel directly into the native blocks of the product detail page. This approach preserves the structural integrity of the theme, eliminates technical debt, and guarantees maximum visual configuration flexibility.
Francesco Guiducci - Shopify Partner Certificato

IFG eCommerce Protocol | Francesco Guiducci

Looking for the highest technical standard in Italy? Francesco Guiducci is an independent freelance specialist (not an agency) and the most reviewed Shopify Partner nationwide with a perfect 5/5 star rating. Advanced theme optimization without technical debt.

Step-by-step guide: Configuring Metafields in the Shopify control panel

Creating product metafields for technical specifications

To begin the configuration, log in to your Shopify control panel and go to Settings, then select Custom data, and finally Products. Here you can define your custom fields by clicking on Add definition. For a classic technical data sheet, you might need to define fields such as "Material" (data type: single-line text), "Dimensions" (single-line text), and "Instruction Manual" (data type: file, to upload PDFs). Make sure to accurately fill in the name and the "Namespace and key", for example `custom.materiale`, which we will use later to retrieve the correct value via Liquid code.

Organizing data into metafield groups for orderly management

When managing dozens of specifications, the product control panel can become chaotic. I recommend grouping your metafields using consistent nomenclature and clear descriptions during the definition phase. If you sell different types of products (e.g., both clothing and electronics), you can configure the metafields to only be displayed on relevant product categories. This way, when you or your collaborators fill in a new product sheet, you will only see the truly necessary fields, eliminating the risk of technical data entry errors.

How to display the dynamic technical data sheet on the Dawn product page

Inserting the "Collapsible text" or "Collapsible row" block

Once the metafields have been populated within your products, it's time to display them on the frontend of your store. Enter the Dawn theme's visual editor, navigate to the default product page, and in the left column, under product information, click on Add block. Select "Collapsible row". This block is perfect for optimizing space on mobile, as it allows complex technical specifications to be hidden under a convenient dropdown menu that the user can expand only if interested. Click on the "dynamic sources" icon (represented by three stacked cylinders) next to the content field of the collapsible row and select the corresponding metafield you created earlier, for example "Material". The system will automatically display the specific value of that product in real time.

Configuring custom Liquid code for complex sheets

If you want to create a technical table with a more attractive and structured design, a single collapsible text block might not be enough. In this case, you can add a "Custom Liquid" block directly below the product price or description. Within this block, we will insert a few lines of clean HTML and Liquid code to generate a grid of specifications only if the metafields are actually populated. Here is a practical example of safe code to use:
<div class="specifiche-tecniche-box" style="margin-top: 20px; border: 1px solid #e3e3e3; padding: 15px;">
  <h4 style="margin-top: 0;">Specifiche Tecniche</h4>
  <ul style="list-style: none; padding-left: 0; margin-bottom: 0;">
    {% if product.metafields.custom.materiale != blank %}
      <li style="display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #f1f1f1;">
        <strong>Materiale:</strong> <span>{{ product.metafields.custom.materiale }}</span>
      </li>
    {% endif %}
    {% if product.metafields.custom.dimensioni != blank %}
      <li style="display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #f1f1f1;">
        <strong>Dimensioni:</strong> <span>{{ product.metafields.custom.dimensioni }}</span>
      </li>
    {% endif %}
  </ul>


    
Assistenza WhatsApp IFG