Set Up The Shipping Information App


Set Up The Shipping Information App

For any online business — especially Shopify stores that ship orders worldwide — your visitors need to know exactly what to expect in terms of delivery times and shipping costs. Showing this clearly on the product page builds trust and reassures customers that they can safely order from your store.

The Shipping Information app now supports two modes, so you can pick the setup that fits your store best:

  • Delivery Date (Recommended) — Show customers an estimated delivery date. Simple setup, no shipping zones needed.
  • Dynamic Shipping Rates (Advanced) — Zone-based rates with text templates and variables, pulled from your Shopify shipping settings.

You can switch between the two modes at any time from the Mode section at the top of the app's Settings tab.


This is the fastest way to get the app live. There are no zones to configure — you only define your processing time, your shipping time, and how the message should look. The app then calculates and displays an estimated delivery date range on the product page.

Processing time

The time between receiving an order and handing it over to the carrier. Use 0 for same-day processing.

  • Processing days — Enter the number of business days you need to prepare an order (e.g. 1, 2, 10).
  • Daily cut-off time — Orders placed before this time count toward today's processing; orders placed after roll over to the next business day.
  • We ship on weekends — Enable this if your fulfillment team also processes orders on weekends. When enabled, you can choose Saturday, Sunday, or both.
  • Show live countdown — When enabled, the storefront displays a real-time countdown next to the delivery estimate (e.g. "Order within 2 hr 51 min to get it by Jun 10 – Jun 12"). This is a great urgency booster on product pages.

Shipping time

How long the carrier takes to deliver the order after you've handed it over.

  • Minimum — The shortest expected transit time in business days.
  • Maximum — The longest expected transit time in business days.
  • The carrier delivers on weekends — Enable this if your carrier counts Saturdays and/or Sundays as delivery days. When disabled, weekends are skipped when calculating the date range.

💡 Together, Processing time + Shipping time = the estimated delivery date shown to the customer.

Free shipping

  • Show free shipping message — Toggle on to display a free-shipping line below the delivery estimate.
  • Free shipping threshold — The cart subtotal above which shipping becomes free (e.g. 75 USD ). The storefront message updates accordingly (e.g. "Free shipping over $75.00 USD.").

Appearance

Customize how the widget looks on your product page so it blends with your theme.

  • Accent color — The color used for the status dot and other highlights.
  • Background color — The background of the widget area.
  • Text color — The color of the main text.
  • Corner radius — Slider from 0px  to 32px  to round the widget's corners.
  • Margin — Set the Top and Bottom spacing (in px ) around the widget.

Mode 2: Dynamic Shipping Rates (Advanced)

Use this mode if you need zone-specific rates with custom text templates and variables — for example, different copy and prices per country, region, or shipping profile. It pulls data directly from your Shopify shipping settings.

Shipping zones

The data here is pulled automatically from your Shopify shipping settings. To add a new shipping zone:

  1. Go to Shopify Admin > Settings > Shipping in your Shopify admin.
  2. Edit an existing shipping zone or create a new one.
  3. Add a price-based shipping rate — based on minimum order amount.
  4. Back in the Vitals app, click Sync now to update the shipping table.

⚠️ Only the General Profile and only price-based rules will be imported. Weight-based or carrier-calculated rates won't appear here.

💡 When creating shipping rules in Shopify, ensure the currency used matches the default currency on your Shopify store. The app uses your store's default currency as the base when converting to the visitor's currency.

Shipping profiles

Once synced, your shipping profiles appear here grouped by zone (Domestic, International, etc.) with the list of countries each zone covers. This is also where you'll see if a profile is missing the minimum/maximum delivery estimate.

How to create Shipping Rules in Shopify

Understanding the Shipping Information Rules

⚠️ Shipping rules that do not have a shipping time estimate (minimum and maximum) will not be displayed on the storefront.


Format (both modes)

Position

By default, the app uses Automatic placement to position itself on your Product Page. You can also pick a specific section:

  • Product description
  • Buy buttons section
  • Add to cart button
  • Product end section

For each option, use the Position dropdown to choose where the widget appears relative to the selected section (e.g. Below the section).

Manual placement is also supported through the Shopify Theme Editor — click Go to editor, then use Add Section or Add Block and select the Vitals app. Manual placement will override automatic placement.

Translations

To translate the texts into more languages, head to the Translations page. Common strings you can customize include:

  • Hide shipping options button
  • See all shipping options button
  • Day / Days
  • Business day / Business days
  • And other widget labels

💡 Want this app to appear only on specific product pages? Use the Display Rules section of the app to target the product pages where it should show. See: Displaying apps only on specific products using Display Rules


Frequently Asked Questions (FAQs)

Which mode should I pick — Delivery Date or Dynamic Shipping Rates?

Start with Delivery Date. It takes about a minute to set up, doesn't require any zones, and is enough for most stores that just want to reassure customers with an estimated arrival date. Switch to Dynamic Shipping Rates only if you need to display different shipping rates and copy per country or zone.


I'm seeing a "Profile has Missing Info!" error in Dynamic Shipping Rates mode. What does this mean?

This means there are no minimum and maximum days entered within the detected Shipping Profile. To fix it, click on the shipping profile that has the error and fill out the Minimum and Maximum estimate. Shipping rules without a minimum and maximum will not display on the storefront.


I activated the Shipping Information app and added the proper estimates, but I'm still not seeing the app on the product page.

In Dynamic Shipping Rates mode, the app only appears in the locations defined in your Shipping Profiles. If your current location isn't part of any profile, the widget won't show for you natively. To preview how it looks for a covered country, use a VPN to switch your location to a valid one.

In Delivery Date mode, the app shows for all visitors regardless of location, so this restriction does not apply.


Does the Free Shipping message support free shipping rules for specific regions, states, or cities within a country?

Shopify provides visitor location data only at the country level. This means if a visitor is from a region, state, or city outside the area where your free shipping rule applies, Shopify will still only identify their country of origin. As a result, the free shipping message will display for all visitors within that country, regardless of their specific region or state.


Does the Shipping Information app include order tracking or tracking numbers?

No. The Shipping Information app does not support order tracking or provide tracking numbers. Its purpose is solely to display estimated delivery dates (Delivery Date mode) or zone-based shipping rates (Dynamic Shipping Rates mode) based on the visitor's country.


Will switching modes lose my existing settings?

No. Each mode keeps its own settings, so you can switch between Delivery Date and Dynamic Shipping Rates without losing your previous configuration. Just remember to click Save after making any changes.

Is this resource helpful? Thanks for the feedback There was a problem submitting your feedback. Please try again later.