Mastering Custom Product Labels on Shopify: Metafields & Order Printer Power-Up

Hey there, fellow store owners! As a Shopify migration expert and someone who spends a lot of time sifting through community discussions, I often see common challenges pop up that have really elegant, yet sometimes overlooked, solutions. A recent thread, started by ctevan, perfectly highlighted one of these dilemmas: how to print highly customized product labels that pull in unique product details like dimensions, warranty info, and other specific attributes.

ctevan mentioned their current process involved NetSuite and "fillable PDFs" – a pretty common scenario for businesses with specific, detailed labeling needs, especially for samples. They were looking for a similar level of flexibility within Shopify, asking if there were apps that could handle metafield data and offer truly customizable formatting. And you know what? The community delivered some fantastic insights!

The Core Challenge: Beyond Basic Barcodes

Many of us are familiar with standard barcode label apps. They’re great for printing SKUs, prices, and product titles. But as Moeed pointed out, most of these "won’t pull your metafields." This is where the real customization struggle begins. If you’re like ctevan, you need those unique details – whether it’s a specific material composition, a safety certification number, or, yes, dimensions and warranty information – to appear on your labels. This data lives in your product metafields, and accessing it for printing requires a bit more sophistication.

The Community's Consensus: Metafields + Liquid = Your Custom Label Powerhouse

The clear consensus from the experts in the thread, including Hardeep and Moeed, is that the most reliable and flexible route involves combining product metafields with Liquid templates. And the star player in this strategy? Shopify's very own, often underestimated, Order Printer app.

Hardeep specifically recommended using Shopify Order Printer if you want "the most control over formatting/layout." Why? Because it supports custom templates built with good old HTML/CSS/Liquid. This means you’re not stuck with predefined fields; you can design your label exactly how you need it and directly pull in all your custom product metafield data.

Step-by-Step: Leveraging Shopify Order Printer for Custom Labels

Let's break down how you can implement this robust solution for your store, just like ctevan was looking for.

Step 1: Get Your Data in Order with Metafields

Before you even think about printing, make sure your product data is neatly organized in metafields. If you’re not already using them, metafields allow you to add custom fields to your products (and variants, orders, customers, etc.) beyond Shopify's standard fields. For ctevan's example, you'd create metafields for "dimensions," "warranty_info," or any other unique attribute.

  • Go to your Shopify Admin.
  • Navigate to Settings > Custom data.
  • Select Products.
  • Add a new metafield definition for each piece of custom data you need (e.g., "Dimensions", "Warranty Information"). Choose the appropriate content type (e.g., single line text, rich text).
  • Once defined, go to your individual product pages and fill in the data for these new metafields.

Step 2: Dive into Shopify Order Printer

Shopify's free Order Printer app is your starting point. It's primarily known for invoices and packing slips, but as Hardeep noted, "Shopify’s docs specifically note that you can create custom templates for labels and other print documents."

  • Install the Order Printer app from the Shopify App Store if you haven't already.
  • Open the app from your Shopify Admin.
  • You'll see existing templates (like "Invoice" or "Packing Slip"). You'll want to create a new one specifically for your labels.

Step 3: Crafting Your Custom Label Template with HTML/CSS/Liquid

This is where the magic happens. You'll be using Liquid to access your metafields and HTML/CSS to format your label. Moeed highlighted the key: "Liquid can read product metafields directly."

When creating a new template in Order Printer, you'll be presented with a code editor. Here’s a simplified example of how you might pull in metafield data:


{{ line_item.product.title }}

SKU: {{ line_item.sku }}

Dimensions: {{ line_item.product.metafields.custom.dimensions }}

Warranty: {{ line_item.product.metafields.custom.warranty_info }}

Your Logo

A few important notes on this code:

  • The example assumes you're printing labels associated with an order item (line_item). If you're printing standalone product labels, the Liquid object might be product directly, but Order Printer is typically order-driven. For sample labels, you might create a dummy order or use a separate app workflow.
  • line_item.product.metafields.custom.dimensions is how you access a metafield named "dimensions" in the "custom" namespace. Adjust custom and dimensions to match your actual metafield definitions.
  • You'll need to upload any images (like a logo) to your Shopify theme's assets and reference them using asset_url.
  • The CSS (within the