There are two different "custom fields," and you pick based on who fills them in. For your own product data — material, care instructions, specs, a size chart — use native metafields: open the product, scroll to the Metafields section (or create a metafield definition first), then connect it to your theme with a dynamic source. No code, no app. For a field your customer types into — a name, a monogram, a gift message — add a line-item property field, through a theme block in the product template or a personalization app. The first is free and built in. The second is where the real margin lives, and where it quietly leaks.

Most guides for this keyword jump straight to pasting Liquid into a theme file. That answers one version of the question and buries the other. Before you touch any code, decide which custom field you actually mean — the two paths have nothing in common.

The two things "custom field" can mean

A metafield is extra data you control. It extends a product with your own fields — "Fabric," "Print method," "Care" — so that information lives in the admin and renders on the storefront. Shopify's own docs describe metafields as a way to "extend an existing platform data model, such as products, customers, and orders with your own custom data" (Shopify Help Center — Metafields).

A customer input field is the opposite: a box on the live product page where the buyer types something that rides along with the order. On Shopify this is a line-item property, usually named with the properties[...] convention. This is the field a buyer uses to put "Grandma" on a mug.

Running an operating store, you almost always need both, for different jobs. Metafields keep your catalog consistent as it grows. Input fields turn a plain SKU into a personalized one you can charge more for. Mixing them up is why so many merchants spend an afternoon editing theme code when a built-in menu would have done it.

Path 1: Native metafields (no code)

This is the path the top-ranking guides skip, and it's the one most operators should reach for first. You need the View and Create and edit permissions under Products to manage metafield values and definitions (Shopify Help Center — Metafields).

Set up a reusable definition once, then fill it in on every product:

  1. Go to Settings > Custom data > Products and click Add definition.
  2. Name it ("Care instructions"), give it a namespace and key, and pick a content type — single-line text, rich text, a URL, a file, a true/false, and so on.
  3. Save. The field now appears in a Metafields section at the bottom of every product page.
  4. Open any product, fill the field in, and save. For a one-off you can skip the definition and add a value directly from the product's Metafields section.

To make it show on the storefront, connect it with a dynamic source. In the theme editor, add or edit a block (a text or rich-text block near the description), click the dynamic-source icon, and point it at your metafield. Shopify notes that "if you have a theme that supports dynamic sources, then you can connect most metafields to your theme" (Shopify Help Center — Metafields). On an Online Store 2.0 theme this is entirely click-based — no Liquid.

The payoff at scale: a definition applies to all products, so a 600-SKU catalog gets a consistent "Material" field without touching the theme 600 times. If you also use metafields to drive automated collections and menus, your navigation stays current as products flow in — the same logic behind a well-built drop-down menu on the product page.

Path 2: A field the customer fills in

Now the money path. When you want the buyer to type a name or upload a logo, you're adding a line-item property. Two ways to do it.

Theme block (free). On an OS 2.0 theme, open the theme editor, go to the product template, and look for a block that adds a text field or custom Liquid inside the product form. The input needs a name in the properties[...] format — for example properties[Name] — so the value attaches to the order. Text values show at checkout and in the admin; a value whose name starts with an underscore stays hidden from the customer but visible to you. Shopify doesn't officially support this theme customization, so test it on a duplicate theme first.

A minimal field looks like this placed inside the product form: an input with name="properties[Name]" and a matching label. After saving, add the product to a cart and confirm the typed value appears on the order — if it doesn't, the input landed outside the form tag, the single most common mistake.

A personalization app (paid). Apps like Product Options or similar add dropdowns, swatches, character limits, conditional logic, file uploads, and per-option upcharges without code. You trade a monthly fee for not maintaining theme edits every time you switch themes. For a store running weekly promotions and heavy personalization, the app usually pays for itself in saved hours — see how a real storefront wires this together in this Shopify dropshipping store product-page example.

Which one you actually need

Use the field-filler test. If you own the information and it's the same logic across products — specs, materials, a size chart, a "ships in 3–5 days" note — it's a metafield. If the customer types or picks something unique per order, it's an input field.

A quick gut check for an operating catalog: metafields are catalog infrastructure, input fields are a pricing lever. One keeps you tidy. The other changes your P&L. That second one deserves real math, which is exactly what the guides ranking for this term never do.

The profit math on personalization

Personalization is the whole reason a POD seller adds a customer input field — and it's where margin quietly disappears. Say your store does 340 orders a month at a $31 average order value. You add a "Name" field to your bestselling mug and charge a $6 personalization upcharge.

Walk one order. The mug sells for $30 base plus the $6 upcharge, so $36. Your Printify or Printful cost — known before the first sale, because supplier pricing is set upfront — is, say, $8.40 printed and shipped. Processing takes roughly $1.34 on a $36 order. Per-order profit: $36 − $8.40 − $1.34 = $26.26, versus $20.26 on the un-personalized version. The $6 upcharge dropped almost entirely to the bottom line, because personalization adds no extra production cost on a print-on-demand item.

Now the risk the upcharge hides. A personalized mug can't be restocked or resold — it says "Grandma" on it. If that order is refunded, you eat the full $8.40 production, which is already printed, plus the processing fee, which Shopify does not return to you on a refund (Shopify Help Center — Shopify Payments refunds). A "full refund" on that order costs you $8.40 + $1.34 = $9.74 out of pocket, on top of the sale you lost. At 340 orders a month, even a two-percent personalization refund rate is real money walking out the door.

That's why personalization needs a tighter order process than plain SKUs: a fulfillment hold before the file reaches the supplier is the last cheap exit once a name is typed wrong. The broader playbook for running these edits without drift is in the Shopify store operations guide. If you'd rather not run it yourself, some sellers hand the day-to-day to outsourced Shopify store management.

Where Victor fits

PodVector AI's Victor is an AI employee who runs this across your live store. Victor sees every order, every ad dollar, and every supplier cost together, so he computes the true per-order profit on each SKU — including the personalized ones carrying an upcharge. When a personalized product's real margin is thinner than it looks, Victor reprices it in Shopify. He pauses the Meta ad set feeding a product that's refunding too often, and drafts the customer-support email when a personalization goes wrong.

Victor pulls product cost from Printify, Printful, and Gelato, your ad data from Meta Ads and Google Ads, and your email from Klaviyo — then tells you which custom-field products actually make money and which just make orders. He's not a dashboard you read; he's the one making the change. Put Victor on your store and let him do the margin math your product page is hiding.

Once a personalized SKU is priced right, the next lever is presentation — pairing the upcharge with a visible markdown, covered in showing a discount on the product page.

FAQs

Do I need an app to add a custom field to a Shopify product page?

No, not for either type. Metafields are fully native — set up a definition in Settings and connect it with a dynamic source, no app and no code. A customer input field can be added with a free theme block using the properties[...] naming convention. You only need an app when you want advanced personalization (upcharges per option, file uploads, conditional logic) without maintaining theme edits.

What's the difference between a metafield and a line-item property?

A metafield is data you control that describes the product — material, care, a size chart — stored in the admin and shown on the storefront. A line-item property is data the customer enters at purchase — a name or message — that attaches to the order. Metafields keep your catalog consistent; line-item properties let the buyer personalize what they're buying.

Will my theme show the custom field automatically?

Not always. Metafields render only once you connect them to a theme block with a dynamic source, and that requires a theme that supports dynamic sources (Shopify Help Center — Metafields). Customer input fields only work if the input sits inside the product form tag — the number-one reason a typed value never shows up on the order is that the field landed outside the form.

Should I charge more for a personalized field?

Usually yes. On a print-on-demand item, a name or monogram adds no extra production cost, so most of the upcharge drops to profit — in the worked example above, a $6 upcharge turned into about $6 of margin. Just budget for the refund asymmetry: a personalized item can't be resold, and the processing fee isn't returned (Shopify Help Center — Shopify Payments refunds), so a mistyped order costs you production plus fee.

Can I add the same custom field to hundreds of products at once?

For metafields, yes — a metafield definition applies across your catalog, so one definition gives every product the same field, and you can fill values in bulk with the admin's bulk editor or a CSV. For customer input fields, a theme block added to the shared product template shows on every product using that template, while an app lets you scope fields to specific products or collections.