WooCommerce CRO Technique
Where delivery, shipping cost and returns should go on a WooCommerce product page
This technique places delivery timing, shipping cost and a plain-English returns line directly in the product-page buy area, close to the price and Add to Cart control, instead of making shoppers hunt in tabs, banners or the footer.
Summary
Bottom Line: Put delivery, shipping cost and returns inside the WooCommerce buy area itself — ideally grouped around the Add to Cart control — not buried in tabs, banners or the footer alone.
- The right placement is the buy box, not just a footer link: Baymard’s product-page research says shipping cost belongs on the PDP near the buy section, and return-policy copy or a link should be in the main product content as well as the footer.
- “Delivery by Tuesday 9 June” is usually clearer than “ships in 2 business days”, because shoppers care when the order arrives, not how the merchant labels transit speed.
- If you can calculate a mandatory delivery charge, UK pricing guidance says it should be included up front; if you cannot, you must still give shoppers prominent information to work it out, and for delivery options you should show the cheapest delivery choice until they pick another one.
- In WooCommerce, the lightest-touch implementation is usually either a hook-based microcopy block on classic templates or a native block inserted in the Single Product template in the Site Editor for block themes.
- Exact delivery dates only help if they are believable: Baymard found shoppers treat dates as a promise, so cut-offs, weekends, holidays, backorders and destination rules must be accounted for before you show one.
How To Implement
Define the minimum promise before you touch the page
Decide what you can honestly show for standard delivery on the PDP: an exact cost, a “from” cost, a country-aware estimate, or a tight delivery window. UK CMA guidance says that if a mandatory delivery charge can reasonably be calculated, it should be included in the total price up front; if it cannot, you still need to give shoppers enough prominent information to calculate it, placed next to the price information they can already see.
Set the message hierarchy for the buy area
For most stores, the cleanest stack is: delivery date/window → shipping cost / threshold / destination note → returns line with policy link. Baymard’s product-page guidance is clear that shipping cost belongs somewhere on the product page, close enough to help shoppers assess total order cost before adding to basket, and that returns copy or a link should also sit in the main product content, not just the footer.
Choose the exact placement around the CTA
The practical default is either directly above the Add to Cart area or directly below the Add to Cart button, keeping all three lines visually tied to the buy decision. Baymard explicitly recommends showing shipping cost near the “Buy” section, and its return-policy guidance says the return-policy summary or link should be displayed prominently on the main product page.
If you run a classic WooCommerce theme, start with a hook, not a template override
The safest implementation for buy-box microcopy is usually a child-theme or snippets-plugin action on
woocommerce_after_add_to_cart_button, which exists in classic add-to-cart templates and is also listed in the current code reference for the newerAddToCartWithOptionsrenderer. Woo developer docs say hooks are generally more robust than overriding templates, because template overrides have to be kept up to date with core changes. Also avoid editing the parent theme or WooCommerce core files directly.Only use a template override when the layout genuinely needs it
If you must change the visual structure of the buy area, use a child-theme override in
/woocommerce/rather than editing plugin files, and remember that override files need ongoing maintenance when core templates change. Woo’s classic-theme handbook explicitly warns that template overrides are heavier-maintenance than hook-based changes.If you run a block theme, use the Single Product template in the Site Editor
Go to Appearance → Editor → Templates → WooCommerce → Single Product, then add a native Paragraph, List, Group or similar block next to the product summary / Add to Cart area. WooCommerce’s Single Product template docs confirm that pricing, summary and Add to Cart live in the editable block template, and the blocks docs note that you need a block theme to use the Site Editor for template customisation.
Treat the Add to Cart + Options block as version-sensitive
WooCommerce docs say the Add to Cart + Options block was introduced in WooCommerce 10.0 and is still labelled Beta in the docs, even though the current stable tag is WooCommerce 10.8.1 and the hooks reference shows
woocommerce_after_add_to_cart_buttoninAddToCartWithOptions.php. On staging, confirm the block is not developer-locked in your theme and that your chosen placement survives variation changes, sold-individually products and mobile layouts.For exact delivery dates, use rule-based logic, not hand-written text
Baymard’s delivery-date research shows shoppers treat delivery dates as a promise and recommends calculated delivery dates that account for order-processing time, cut-offs, weekends and holidays. If your date varies by product, stock, country, zone or method, use an extension rather than hard-coding text. An official Woo Marketplace example is Estimated Order Delivery and Pickup Date, configured at WooCommerce → Settings → Estimated Delivery Date and WooCommerce → Estimated Delivery Rules → Add New Rule; its docs say it can display on the Single Product Page, target product/category/shipping country/zone/method, and use minimum/maximum days, cut-off time and excluded days/dates. Measurement note: before rollout, make sure GA4 already captures
view_item,add_to_cart,begin_checkout,add_shipping_infoandpurchase, so you can compare exposed PDP sessions cleanly.Prefer an arrival date or tight date window to dispatch-speed language
Replace vague microcopy like “Ships in 2 days” with wording like “Standard delivery: by Tue 9 June” or “Estimated delivery: 9–11 June” only when your rules genuinely support it. Baymard found “delivery date” is easier for shoppers to interpret than “shipping speed”, and wide windows — especially more than about 5–7 days — create hesitation.
Make the returns line plain English, short and linked
Good PDP copy is a buyer-facing summary, not the whole policy. For example: “30-day returns. Full policy and exclusions.” or “Free UK returns within 30 days. See policy.” Baymard says the link or summary should be prominent on the product page and understandable to the average user; it also warns against hiding this behind a generic “Help” label or clever wording that shoppers will not scan for. For UK stores, keep statutory rights accurate: GOV.UK says distance sellers must tell customers about their cancellation right up to 14 days after delivery, and a retailer must not mislead customers about their refund rights.
Add country-aware messaging only where it materially changes the promise
WooCommerce can geolocate customers from WooCommerce → Settings → General → Default customer location using Geolocate or Geolocate (with page caching support), and shipping zones determine which methods and rates a customer sees based on address matching. Use that to swap the destination note, cheapest standard shipping at a zone level, or free-shipping threshold — but always state the basis of the estimate, and let shoppers override it if needed. Baymard also notes that if live carrier APIs are too heavy for every PDP view, use a precomputed estimate rather than a slow live call.
QA the edge cases before publishing
Test simple products, variable products, bulky items with surcharges, local pickup, international destinations, pre-orders, backorders and holiday cut-off periods. Static PDP copy does not create an HPOS issue on its own, because HPOS concerns order storage, not front-end product-page text; however, if your delivery extension writes data into orders, emails or checkout, verify current extension compatibility in staging because Woo says incompatible extensions are flagged when HPOS is enabled, and HPOS has been the default for new installs since WooCommerce 8.2.
How To Measure
The primary KPI is add-to-cart rate from PDP visits, read as add_to_cart relative to view_item for the treated product pages. Secondary KPIs are RPV, PDP conversion rate, shipping-step completion (begin_checkout → add_shipping_info), and pre-sale support clicks on returns/shipping help links or widgets. Google recommends view_item, add_to_cart, begin_checkout, add_shipping_info and purchase as ecommerce events, and those events populate ecommerce reporting in GA4.
In GA4, read the result in an Exploration or report set filtered to the changed PDP URLs only, ideally restricted to physical, in-stock products and split by country/zone, device, and new vs returning users if the messaging is destination-aware. Use the Landing page report or an Exploration filtered to PDP landing paths for PDP conversion and RPV, and a funnel built from view_item → add_to_cart → begin_checkout → add_shipping_info → purchase for downstream completion.
For support behaviour, create a GA4 custom event for clicks on the returns link, delivery-estimate explainer or support widget entry point, for example returns_policy_click, shipping_info_click or a broader support_click_shipping_returns. GA4 supports custom events for interactions that matter to your business but are not already covered by recommended events.
What success looks like — higher add_to_cart per view_item on treated PDPs, stable or improved checkout completion and purchase rate, and fewer support/help clicks driven by basic delivery or returns questions. Because this technique reduces uncertainty rather than changing offer economics, look for a cleaner upstream funnel before you expect a large AOV change.
Guardrail metrics — AOV, overall conversion rate, checkout completion, and PDP LCP/INP/CLS must not get worse. If you add geolocation, API lookups or a heavyweight estimator widget, watch real-user Core Web Vitals on the treated PDPs; web.dev notes that field measurement is the right way to judge Core Web Vitals because real-user conditions vary.
Pitfalls
- Myth: a sitewide free-shipping banner does the job. Baymard found that banner-only or header-only free-shipping messages are often missed, and they are not substitutes for direct shipping information on the product page.
- Myth: the footer is enough. Baymard found a real subgroup goes straight to the footer for shipping/returns, so the footer still matters, but the same research also says that product-page content must carry this information too. In other words: main product content and footer, not either/or.
- Mistake: using “ships in 2 days” when the shopper actually needs an arrival date. Baymard’s research shows users stop to do mental maths when they only see shipping speed, and that clarity improves when the wording answers “When will I receive my order?” directly.
- Mistake: promising an exact date without cut-offs, holidays, stock status or destination logic. Baymard says shoppers treat delivery dates as promises, so inaccurate dates may help a click today and hurt trust tomorrow.
- Mistake: putting a single generic message on all variations or backorders. If one variation is backordered or one destination is slower, a store-wide static line can mislead. Use stock-status-aware or shipping-rule-aware messages where needed. Official Woo delivery-date extensions explicitly support product/category/shipping-country/zone logic and different messages by stock status.
- Mistake: using vague labels like “Help” instead of “Returns policy” or “Shipping info”. Baymard says shoppers scan for those keywords specifically.
- Mistake: hiding mandatory calculable delivery charges until later. UK CMA guidance says mandatory charges should be shown up front when reasonably calculable, and if not calculable yet, customers still need enough prominent information to work out the total price.
- Mistake: letting the PDP copy conflict with UK statutory rights. GOV.UK says online customers generally have a 14-day cancellation period after delivery for distance sales, and retailers must not mislead shoppers about refund rights. Your voluntary returns promise should sit alongside, not replace, those rights.
Examples
FAQs
Put them in the buy area itself, either directly above the add-to-cart form or directly below the Add to Cart button, as long as they are visually tied to the purchase decision. Baymard’s guidance points to the “Buy” section and the main product content, not hidden tabs or distant page chrome.
Usually not. A concrete arrival date or a tight delivery-date window is clearer because shoppers care when the order will arrive, and Baymard found users hesitate when they have to convert shipping speed into an arrival date themselves.
Not always. Static buy-box microcopy can be added with a hook on classic templates or a block in the Single Product template on block themes, but if the promise varies by country, zone, cut-off, excluded dates, stock status or shipping method, a rule-based delivery-date extension is usually the safer option.
No. Keep the footer link because some shoppers go there first, but Baymard’s product-page guidance says the PDP should also show a clear returns summary or link in the main product content, close to where buying decisions are made.
Sources & Further Reading
- Product Pages Need to Show ‘Estimated Shipping Costs’ (Yet 43% of Sites Don’t) – Baymard research on why shipping cost estimates belong on the PDP and near the buy section; source of the 64% PDP shipping-search figure and the 43% implementation gap. Published 20 June 2017.
- Product Page UX Best Practices 2026 – Baymard’s broader product-page benchmark; source of the return-policy-on-PDP guidance, the 60% PDP returns-search figure, and the “44% don’t” finding. Published 24 October 2023.
- Have Direct Links to ‘Return Policy’ and ‘Shipping Info’ in the Footer – Baymard research on footer behaviour and why footer links matter but do not replace main PDP content; the page notes it was updated with new data in 2025. Published 16 January 2019; updated with new data in 2025.
- Use “Delivery Date” Not “Shipping Speed” (41% Don’t) – Baymard research on why delivery dates beat shipping-speed labels and why dates must be accurate. Published 27 June 2023.
- 50 Cart Abandonment Rate Statistics 2026 – Baymard’s source page for abandonment reasons including 21% “delivery was too slow” and 15% “returns policy wasn’t satisfactory”. Last updated 22 September 2025.
- Providing clear and accurate information about prices: summary – UK CMA / GOV.UK guidance on upfront total pricing, delivery charges and drip pricing. Updated 7 January 2026.
- Online and distance selling – GOV.UK guidance on pre-contract information, delivery arrangements/costs and the 14-day cancellation right for distance sales. Current GOV.UK guidance page; update date not shown in the captured excerpt.
- Accepting returns and giving refunds: the law – GOV.UK summary of UK refund and return rights, including distance-selling cancellations and the rule against misleading customers about rights. Current GOV.UK guidance page; update date not shown in the captured excerpt.
- Customizing Single Product Pages Documentation – Official WooCommerce docs for editing the Single Product template in the Site Editor. Current documentation page; publication date not shown in the captured excerpt.
- Using Blocks in WooCommerce Documentation – Official WooCommerce docs explaining that a block theme is required for Site Editor template customisation. Current documentation page; publication date not shown in the captured excerpt.
- Add to Cart + Options Block Documentation – Official WooCommerce docs confirming the block’s purpose and that it was introduced in WooCommerce 10.0. Current documentation page; publication date not shown in the captured excerpt.
- WooCommerce Code Reference – Official hooks reference showing woocommerce_after_add_to_cart_button in classic add-to-cart templates and in AddToCartWithOptions.php. Current code reference page; date not shown in the captured excerpt.
Want us to implement this for you?
We run measured CRO consultancy for WooCommerce. If you want help prioritising, testing & implementing these improvements, tell us about your store.
Book PilotAbout This Page
- Written By: Eliot Webb – Founder & WooCommerce CRO Consultant
- Last Reviewed: 5 Jun 2026
- Last Updated: