DispatchFlexGuides

DispatchFlex › Guides

How to show handling time on Shopify product pages

Shopify has no per-product handling time field, so there’s no setting to switch on. There are four practical ways to do it. Which one fits depends mostly on whether your dispatch time varies between products. All four are covered here, free ones included.

Handling time is not delivery time

Handling time is how long you take to prepare an order before it leaves you. People also call it dispatch time, processing time or lead time. Delivery time is how long the courier takes afterwards. Your customer waits for both.

That distinction matters because most “estimated delivery date” apps model the carrier half. If you make things to order, the carrier half is the part you control least and usually the smaller part of the wait. A shop quoting 2-4 day delivery on an item it takes three weeks to build is being technically accurate and will still get an angry email.

Why there’s no built-in field

Shopify does model processing time, but only inside shipping settings, where it feeds rate calculation. It’s set per shipping profile rather than per product, and it never gets surfaced on the product page. So a store selling in-stock items alongside made-to-order ones has no native way to say so where the buyer is actually looking.

Method 1: a store-wide notice (free)

Put your dispatch time in the announcement bar, the shipping policy, or a line you paste into every product description. It costs nothing, takes minutes and needs no tooling.

It works right up until one number stops being true for your whole catalogue. Once some products ship same-day and others take three weeks, a single figure is either too pessimistic, costing you sales on the fast items, or too optimistic, costing you trust on the rest.

Method 2: type it into each product description (free)

Per-product and no technical work. The problems are practical. The text sits wherever you happened to paste it instead of near the Add to cart button, styling drifts between products, and changing your dispatch time in a busy season means editing every product by hand. It also vanishes in themes that truncate descriptions.

Method 3: a metafield plus Liquid (free, needs code)

This is the proper free solution. Store the value as structured data on each product, then render it in the theme.

  1. In the admin, go to Settings › Custom data › Products and add a definition called Handling time with the type Single line text. Note its namespace and key, which is custom.handling_time below.
  2. Open any product, find the Metafields section and type the value, for example “Ships in 3-5 business days”.
  3. Go to Online Store › Themes › Edit code, open your product template, often sections/main-product.liquid, and add this near the buy buttons:
{%- assign handling = product.metafields.custom.handling_time.value -%} {%- if handling != blank -%} <p class="product-handling-time">{{ handling }}</p> {%- endif -%}

The != blank check is the part people forget. Without it, products with no handling time render an empty element that can leave a stray gap in your layout.

The catch: theme code edits belong to one theme. They’re lost when you switch themes, can be overwritten by an update, and have to be redone in every theme you run. If restoring a theme from a backup isn’t something you want to deal with, weigh this one carefully.

Method 4: a theme app block (no code)

An app can give you the field and the display together. The thing worth insisting on is that it installs as a theme app block rather than injecting code into your theme. App blocks are placed by dragging them in the theme editor, and since they aren’t part of your theme’s files, removing one leaves nothing behind.

That’s what DispatchFlex does. Set a handling time per product in the admin, drag the badge where you want it, and products without a value render nothing. It’s free for 5 products and $4.99 a month for unlimited. If you only need a handful of products covered, method 3 does the same job for nothing.

Which one to pick

MethodPer productEdits theme codeCost
Store-wide noticeNoNoFree
Product descriptionYes, manuallyNoFree
Metafield + LiquidYesYesFree
Theme app blockYesNoFree / paid

One dispatch time for everything: method 1. A few products and some comfort with code: method 3. A catalogue where times vary and you’d rather not touch theme files: method 4.

Writing handling times that cut down on emails

  • Say “business days” out loud. “Ships in 3 days” gets read as including the weekend, and then Monday feels late.
  • Give a range, not a promise. “3-5 business days” absorbs a bad week. “3 business days” turns day four into a complaint.
  • Lead with the verb. “Ships in...” or “Made to order, ships in...” reads faster than “Handling time: ...”.
  • Do your slow products first. The value is concentrated in the items that surprise people. Nobody emails you anxiously about something that ships tomorrow.
  • Revisit it seasonally. A number that was true in March becomes a liability in December.

Frequently asked questions

Does Shopify have a built-in handling time field?
No. There's no per-product handling time field in the Shopify admin. Processing time exists only inside shipping settings, where it affects rate calculation. It's set per shipping profile rather than per product, and it never appears on the product page.
Is handling time the same as delivery time?
No. Handling time is how long you take to prepare an order before it ships. Delivery time is how long the carrier takes after that. What the buyer waits is both added together, which is why a delivery estimate on its own can still mislead people if you make items to order.
Will editing my theme break when I update the theme?
It can. Theme code edits live inside that one theme, so they disappear when you switch themes and can be overwritten by an update. Theme app blocks avoid this because they aren't part of the theme's files.