Delivery Estimated & Countdown
Delivery Estimated & Countdown Documentation
Install free

Documentation

Everything you need to set up, customize, and troubleshoot the Delivery Estimated & Countdown widget on your Shopify store.

Installation #

Install Delivery Estimated & Countdown directly from the Shopify App Store:

  1. Open your store's app listing on the Shopify App Store
  2. Click Add appInstall app
  3. Approve the read-only permissions: read_products, read_shipping
  4. You'll land on the in-app Dashboard

Permissions explained: The app reads product data only to show inventory in the widget (when configured). It reads shipping zones to estimate transit times. It never writes to your store, never reads customer data, and never accesses orders.

First-time setup #

The app works out of the box with sensible defaults, but takes 2 minutes to tune:

  1. Go to Settings in the in-app sidebar
  2. Under Order Processing, set your cutoff time (e.g. 14:00 — orders before this ship same-day)
  3. Set your processing days (business days to pack an order — typically 1)
  4. Pick your working days (M–F by default)
  5. Pick a widget style from the picker on the right
  6. Click Save Changes

Now add the widget to your storefront — see Placement guide.

Enable / disable #

At the top of the Settings page is a master switch labeled Widget Enabled on Storefront. Flip it off and the widget disappears from every page — product, cart, theme editor preview — instantly.

Tip: Use this for short-term outages (warehouse closures, system migrations) without removing the widget block from your theme. Re-enabling restores the previous behavior.

Order processing #

Order processing tells the app when an order can ship. Three settings combine here:

SettingWhat it meansExample
processingDaysBusiness days between order placed and order shipped1
cutoffTimeTime of day after which orders ship next business day14:00
workingDaysWhich days of the week your warehouse operatesMon–Fri

Cutoff time & timezone #

The cutoff is interpreted in your shop's timezone (configured in Shopify Admin → Settings → General). The app syncs this automatically every time you load the Settings page.

Example: cutoff 14:00 with shop timezone Asia/Kolkata means orders placed before 2 PM IST ship the same day. A buyer in New York at 8 AM EST sees the same countdown as a buyer in Sydney at midnight — both are counting down to your 2 PM IST.

Why merchant-timezone: Ship dates are tied to the warehouse, not the buyer. Anchoring everything to your timezone keeps the "ships today" promise unambiguous regardless of where the buyer is.

Working days #

Click the day pills (M T W Th F Sa S) in Settings to toggle which days you process orders. Non-working days are skipped automatically when calculating delivery dates.

If you ship Tuesday–Saturday but rest Sunday and Monday, click those two off. Ship-date math will skip them.

Widget display #

Three independent toggles control where the widget appears:

Product targeting #

By default the widget shows on all products. To restrict it to specific products:

  1. In Settings, scroll to Product Selection
  2. Switch from All products to Specific products
  3. Use the picker to add the products that should display the widget

Useful for: pre-orders, made-to-order items, or products where delivery times genuinely differ from your default.

Widget styles #

16 styles ship in two tiers. Switch between them instantly — your colors, copy, and language are preserved.

Basic (free plan)

StyleBest for
minimalClean, low-distraction product pages
badgePill-shaped accent — fits next to "In Stock" labels
cardElevated card with accent bar — classic and credible
bannerFull-width tinted banner
floatingTooltip-style with arrow
inlineSide-by-side icon and stacked text
compactTiny footprint — fits anywhere
elegantRefined with a separator line

Animated (Pro plan)

StyleAnimation
pulseSoft icon pulse + live ribbon + flip countdown
slideinTruck driving across a road background
glowBreathing border glow + text shadow pulse
flip3d3D card flip entrance + parallax floating
gradientAnimated mesh + floating particles
typewriterVintage paper with stamp animation
neonGlowing borders + sweep + pulsing dot
glassFrosted glass + animated color blobs

Date formats #

Pick the format that fits your locale and brand. Set in Settings → Date Format:

Format IDOutputBest for
MMM DApr 29, 2026US English
MMMM DApril 29, 2026US, formal copy
D MMM29 Apr 2026UK, India, EU
D MMMM29 April 2026UK, India, formal
DD/MM29/04/2026Most of Europe, India
MM/DD04/29/2026US
YYYY-MM-DD2026-04-29ISO / technical

Toggle Include year off to drop the year (useful for short-window dates).

Text templates #

The widget's main copy is fully editable. The default content template is:

Order today within {counter}, you'll receive your package between {delivery_from} to {delivery_to}

A second template controls the countdown footer line:

Order within {counter} to get it by {delivery_to}

Edit both in Settings → Content & Date. Variables are substituted at render time.

Template variables #

Drop any of these tokens into your templates:

VariableValueHighlighted by default
{counter}Live countdown to cutoff (e.g. 2h 19m 37s)Yes
{delivery_from}Earliest delivery dateYes
{delivery_to}Latest delivery dateYes
{ordered_date}Today (in shop timezone)No
{processing_from}Date the order will start processing (ship date)No
{processing_to}Date processing finishesNo
{stock_left}Live inventory total for the productNo
{product_name}Title of the current productNo

Highlighted variables render in your accent color (default rose). Non-highlighted ones use the body text color.

Heads up: {stock_left} only works when Shopify's "Track quantity" is enabled for the product variant. Off-product pages and untracked products show .

Colors & icons #

Settings → Widget Styling exposes:

10 icons available: truck (default), package, clock, calendar, shield, rocket, star, mappin, check, gift.

Shipping zones #

The app pulls your shipping zones directly from Shopify on every Settings page load. For each zone you set min and max transit days — the buyer's country is matched to a zone, and the delivery window uses those numbers.

One zone is marked default (used when no specific match is found, e.g. for a country not assigned anywhere).

Editing transit days

  1. Settings → Shipping Zones table
  2. Click any zone row to open the transit-time editor
  3. Set min / max days, mark as default if needed, save

Free plan: up to 3 zones. Pro and Premium: unlimited.

Blackout dates #

Days the warehouse doesn't process orders — holidays, vacation, planned closures. Delivery math automatically skips them.

Adding a blackout

  1. Settings → Blackout Dates
  2. Pick a date
  3. Optional: add a reason (for your own records — never shown to buyers)
  4. Toggle Recurring to repeat every year on the same month-day (e.g. New Year's, Christmas)

Free plan: up to 5 blackouts. Pro and Premium: unlimited.

Country detection #

The widget detects the buyer's country in this order:

  1. Shopify Markets / session — synchronous, no external call, most accurate
  2. IP geolocation — three providers in fallback chain (ipinfo.io, ipapi.co, api.country.is)
  3. Default — if all detection fails, falls back to US

Whichever country wins is matched to a shipping zone and the corresponding transit-day range is used.

App embed vs app block #

Shopify gives apps two ways to inject content into your theme:

App EmbedApp Block
Where it livesGlobal, attached to <body>Inside a section you choose
Toggle inTheme editor → App embedsTheme editor → section → "Add block"
Used forLoading scripts, cart-page injectionThe actual visible widget on product pages

You need both for the widget to show on product pages: the embed loads CSS/JS, the block places the widget container.

Placement guide #

Step 1 — Enable the app embed

  1. Open your theme editor (Online Store → Themes → Customize)
  2. Click the App embeds icon in the left sidebar (puzzle piece)
  3. Toggle Estimated Delivery on
  4. Click Save

Step 2 — Add the app block to a product page

  1. In the theme editor, navigate to a product page
  2. In the left sidebar, find your product info section (usually called Product information)
  3. Click Add block → under "Apps", pick Estimated Delivery
  4. Drag it where you want it (we recommend right above or below "Add to cart")
  5. Save

Tip: Theme support varies. If you don't see "Apps" under "Add block", your theme isn't Online Store 2.0 — most paid themes from 2021+ are. Dawn, Horizon, Sense, Refresh all work out of the box.

Cart auto-inject #

If you want the widget on the /cart page but haven't placed a cart-specific block, the app auto-injects one — provided the Show on cart toggle in Settings is on. The injection point is whichever of these elements appears first in the DOM:

button[name='checkout']
[data-checkout-button]
.cart__ctas
.cart__checkout-wrapper
.cart__footer
#main-cart-footer
.cart-footer
.cart__summary
.totals
form[action*='/cart'] [type='submit']

For cart drawers (which vary wildly between themes), add the Estimated Delivery (Cart) block manually to your cart drawer template instead — auto-injection isn't reliable enough there.

Plan comparison #

FeatureFreePro $2.99/moPremium $5.99/mo
Product page widget
Shipping zones3UnlimitedUnlimited
Blackout dates5UnlimitedUnlimited
Date format optionsBasicAllAll
Countdown timer
Animated styles
Full color customization
Analytics dashboard
Priority support

Billing & cancellation #

All paid plans bill via Shopify's standard app subscription flow — same place you manage your other Shopify apps.

Troubleshooting #

Widget isn't showing on the product page

  1. Check the master Widget Enabled toggle in Settings (top of the page) is on
  2. Open the theme editor and confirm Estimated Delivery is enabled under App embeds
  3. In the theme editor, confirm the Estimated Delivery app block has been added to your product section
  4. Hard-refresh the storefront (Cmd/Ctrl+Shift+R) — Shopify CDN caches assets
  5. Check the browser console for errors (look for messages prefixed with [ShipDate])

Wrong delivery date shown

Countdown shows "0h 0m 0s"

This means the server-side countdown calculation failed. Check that your Cutoff Time is set in 24-hour format (e.g. 14:00, not 2:00 PM) and that your shop timezone is recognized.

Stock count shows "—"

The product variant doesn't have Track quantity enabled in Shopify Admin, or the buyer is on a non-product page. This is expected.

Widget loads but with the wrong style

You may be seeing a cached asset. Hard-refresh and wait ~60 seconds for Shopify CDN to update. If it persists, save your settings again to bump the cache.

FAQ #

Does the widget slow my product page?

No. The bundle is < 15KB gzipped, loads asynchronously, and delivery dates are fetched in parallel. Lighthouse impact is zero.

Will it work with my theme?

Any Online Store 2.0 theme — Dawn, Horizon, Sense, Refresh, and most paid themes from 2021+. Older themes that don't support app blocks won't work; consider upgrading.

Can I show different copy per country?

Not yet, but it's on the roadmap. For now, the same template renders for all buyers; only the dates and country-specific transit days differ.

What happens to my data if I uninstall?

Settings, zones, and blackouts are deleted within 30 days. Impression counts are aggregated and anonymized. See the Privacy Policy for details.

Can I A/B test different styles?

Premium plan only. The analytics dashboard tracks impressions and clicks per style switch.

Changelog #

Latest v1.4.0 — April 25, 2026
  • Master kill switch added — disables widget everywhere instantly
  • Country detection: Shopify Markets signal first, IP fallback second
  • Cutoff label below countdown ("Cutoff 2 PM EST")
  • Sticky live preview in Settings — independent scroll
v1.3.0 — April 21, 2026
  • 3 new animated styles: Typewriter, Neon, Glass
  • Inventory display via {stock_left} template variable
  • Cart-specific delivery blocks
v1.2.0 — April 15, 2026
  • 5 new animated styles: Pulse, Slide-In, Glow, Flip3D, Gradient
  • Live preview component in Settings
  • Cart-page auto-inject
v1.1.0 — April 8, 2026
  • Blackout dates with recurring support
  • Working days configuration
  • Product-specific targeting
v1.0.0 — April 1, 2026
  • Initial release: 8 widget styles, basic delivery date estimation, IP-based country detection

Still stuck?

If the docs don't cover what you're looking for, reach out through the support channel on the Shopify App Store listing — we usually respond within 24 hours.