help1
shopify delivery estimateshopifyshop promiseshipping

The Shopify Delivery Estimate That Kept Coming Back

A cutting-board maker fought the Shopify delivery estimate on his checkout three ways. Two didn't hold. Here's what actually worked.

help1 Team
The Shopify Delivery Estimate That Kept Coming Back

Marcus makes custom wooden cutting boards out of a Portland workshop the size of a two-car garage. Every board is planed, glued, oiled, and packed by one of three people. A rushed order takes eight days. A relief-carved commission takes four weeks. His Shopify store has one product category and, until we sat down with him last month, a checkout page that kept promising customers their boards would ship in three to seven business days.

Marcus never enabled that promise. He had already turned the Shopify delivery estimate off. Twice. The reason he called us was an email from a wedding-gift customer who had ordered a pair of maple boards for a ceremony on August 30. Shopify's checkout had shown a delivery date of August 20. Marcus's real lead time on that order was closer to September 15.

What Marcus had already tried

Before we got on chat, Marcus had done what any careful merchant would do. He opened Settings > Shipping and Delivery, found "Expected delivery dates," and switched it off. He found the Shop Promise section a few lines below it and switched that off too. He tested checkout, saw the estimate gone, and moved on.

Two weeks later a customer emailed a screenshot showing a delivery date at checkout. Marcus tested again from his own browser. Nothing. He tested a different browser. Nothing. He tested a third product. There it was. He tried a CSS override in the theme customizer. No effect.

He opened a support conversation with Shopify. The rep confirmed his toggles were off, took a look at his theme, and suggested it might be a browser cache issue. That call took an hour.

By the time we got on with him, Marcus had spent maybe five hours on this. He assumed there was a switch he was missing. He was right. There were three.

Why the toggles didn't hold

The Shopify delivery estimate is not one feature. It is four independent features stacked on the same admin page, and disabling any single one does not turn off the others.

The four modes:

  1. Automated delivery dates. An AI-predicted range, US and 32 European countries only. Surfaces only when the predicted window is 5 days or fewer.
  2. Manual delivery dates. The date range you set yourself. The fallback whenever Automated cannot predict.
  3. No delivery dates. A third radio state that has to be explicitly chosen.
  4. Shop Promise. A separate premium program that Shopify runs on top of the other three for stores that qualify as the "top 1% of shippers."

Marcus had toggled Automated off and Shop Promise off. What he had not done, because the admin does not spell it out, was switch Manual off. Manual was still enabled with a default 3-7 business day range. When Automated could not predict a window for a made-to-order product, Manual quietly filled in. That is the "fallback when automated can't predict" behavior right out of Shopify's own documentation, but nobody hits that documentation until after they have already been burned.

We tested Marcus's store from an incognito window. Automated was off. Shop Promise was off. Manual said 3-7 business days for the "Standard" rate and 1-3 for "Express." Both were surfacing to the customer as a firm-looking date at the shipping step.

That was fix one. It did not cover fix two.

The second source: FedEx was talking behind Shopify's back

Marcus offers FedEx Ground and FedEx 2Day alongside a flat-rate USPS option. The FedEx app on his store has permission to attach delivery estimates to its rate response. That estimate flows into checkout via the rate API that carrier-calculated rates use, and Shopify displays it whether or not "Expected delivery dates" is toggled off in admin. We have seen this pattern often enough that help1's chat now has a saved diagnostic that asks two questions: are you using a carrier app with rate injection permissions, and did dates reappear after you disabled the admin toggle? If yes to both, the carrier app is the source.

Marcus disconnected the FedEx app for a day as a test. Dates disappeared on the FedEx rates. When he reconnected the app, they returned within an hour. A merchant in a June 2025 Shopify Community thread reached the same conclusion after methodically working through his carrier apps one at a time. The FedEx integration on Shopify has behaved this way for at least two years, and Shopify's developer docs do not describe it as documented behavior.

Marcus needed FedEx rates, so uninstalling the app was not an option. What worked was a lower-effort fix that came out of the same Community thread and that we have now confirmed on multiple stores.

The theme content string workaround

In Themes > Edit theme content there is a search field. Type "Checkout shipping estimated delivery date" and the exact label string comes up. Replace it with something honest: "Ships when your board is ready. You'll get a tracking number." Do the same for "Checkout delivery." Save.

This is a label swap, not a calculation change. The underlying value is still being computed and sent, but the customer no longer sees a specific date at the checkout shipping step. The Shopify delivery estimate that FedEx was injecting still exists in the rate data behind the scenes, but no visible label wraps it. For a made-to-order shop, that is the difference between a customer expecting a Wednesday delivery and a customer accepting a phased fulfillment.

We first saw this workaround documented by a merchant in August 2024, and another merchant confirmed it still worked in March 2025. As of the current rollout of Shopify's checkout extensibility, it still works. That is not nothing: most non-Plus checkout customizations have already been eaten by the extensibility migration.

What we could not remove

We fixed the checkout shipping step. The customer stops seeing a specific date at the moment of payment. But Shopify also displays a "Current delivery estimate" block on the order confirmation page (the thank-you page after payment), and that block resisted every removal path we tried.

CSS injection into the theme customizer's Additional Scripts field: no effect. Custom code injected via a thank-you page app: no effect on that specific block. A checkout function that suppressed the estimate at the shipping step: does not cover the thank-you page. Marcus is not on Shopify Plus, so the checkout extensibility branding editor was not available to him.

The one non-Plus lever that does work is the order confirmation email template. Settings > Notifications > Order confirmed > Edit code. There is a Liquid block that renders the delivery date variable. Delete that block, save, and the email goes out without a date. But this only affects the email. The on-page thank-you estimate is still there, and we know of no confirmed way to remove it for a store on the standard Shopify plan as of today. If your business breaks when a customer sees a wrong date on that page, plan for it: add an app-driven note block above the fold that visually dominates the estimate and sets expectations in your own words.

What this means for your store

If you sell products that ship in a predictable window using standard carrier rates, the Shopify delivery estimate usually gets the answer roughly correct. It is not built for you, but it does not hurt you.

If you sell anything else, made-to-order, pre-order, print-on-demand, perishable with shipping cutoffs, regional delivery with cut-off times other than noon at the shipping origin, the Shopify delivery estimate will lie to your customers unless you actively fight it. The fight has three stages, in order:

  1. Go to Settings > Shipping and Delivery > Estimated delivery dates. Disable Automated. Disable Manual. Explicitly select "No delivery dates" rather than assuming the previous two toggles cover it. Then find Shop Promise on the same page and disable it too.
  2. Audit any carrier apps you have installed. FedEx is the most common culprit; UPS and DHL apps can behave the same way. Look inside each app for a "delivery estimate" or "transit time" setting. Switch it off. If the app has no such switch, contact the developer. If the estimate is not switchable, the theme content workaround is your only lever short of uninstall.
  3. In Themes > Edit theme content, replace the "Checkout shipping estimated delivery date" and "Checkout delivery" strings with honest text about your fulfillment pattern. If you want to zoom out to the whole question, our older piece on why we tell many merchants to turn Shopify delivery dates off entirely covers the "should you use this feature at all" side of the debate.

Accept that the on-page thank-you estimate is currently outside your reach on a non-Plus plan. Communicate around it. Your product page copy, your cart notes, and the shipping section of your confirmation email are all under your control.

How Marcus's store reads today

Marcus's checkout now shows a shipping tier and a line that reads "Estimated shipping time depends on your board. We'll email a tracking number when yours is done." The thank-you page still shows a Shopify-calculated estimate, and Marcus knows we could not kill it, and his product pages now open with a two-sentence lead time block that names actual weeks. His order confirmation email has been rewritten to explain the phased fulfillment.

The wedding-gift customer got her boards a week before the ceremony, because she had ordered a spot design rather than a carved one, and Marcus flagged the order and prioritized it. Marcus has stopped getting "why did Shopify say August 20" emails since. The system did not stop lying, exactly; Marcus stopped letting the system be the loudest voice on his own store.

Still stuck? Talk to an expert.

Our vetted Shopify experts can fix this issue for you in a live session. $39 per session. Your first 15 minutes are free.