WooCommerce CRO Technique
How to add address autocomplete and postcode lookup to WooCommerce checkout
Add predictive address search to WooCommerce checkout, then validate the result without breaking native browser autofill or trapping valid edge-case addresses. It helps most when mobile or guest users are spending too long in the shipping/contact step, when postcode and address-entry errors are common, or when fulfilment teams are correcting avoidable address mistakes after the order is placed.
Summary
Bottom Line: On modern WooCommerce, the cleanest route is to use the native address-autocomplete provider architecture introduced in WooCommerce 10.3 and plug in a compatible provider such as Google Places or a postcode-lookup provider.
- Since WooCommerce 10.3, core checkout can work with address-autocomplete providers in both the classic shortcode checkout and the Checkout Block; you no longer have to build a separate checkout UI just to support autocomplete.
- If you want a near-native no-code route, Woo’s Universal Address Autocomplete extension exposes providers such as Google Places, Ideal Postcodes, Fetchify, PostcodeSoftware and Loqate from WooCommerce → Settings → Advanced → Address Autocomplete, then enables predictive search from WooCommerce → Settings → General.
- Browser autofill is separate from Google or postcode lookup. It depends on correct autocomplete values plus stable name and id attributes, so a careless checkout rebuild can make autofill worse even if address suggestions appear.
- Do not replace the whole address form with one opaque search box. Baymard found that when suggestions fail, many users fall back to manual entry; in one study, 69% manually completed the address when lookup did not return the right match.
- Autocomplete is not the same as deliverability validation. Google’s own checkout guidance separates Place Autocomplete from Address Validation, and recommends “Fix”, “Confirm”, or “Accept” logic rather than a hard reject loop.
How To Implement
Choose the WooCommerce checkout surface first
If you are on native Woo checkout, WooCommerce 10.3 introduced provider-based address autocomplete for both shortcode and block checkout. If you are on the Checkout Block, remember that older legacy field hooks are not the extension path: WooCommerce explicitly notes that previous
checkout_fieldspatterns do not apply in the new block checkout, and extensions that render extra checkout markup usually need block-specific integration.Use the native no-code route when possible
Install Universal Address Autocomplete, then go to WooCommerce → Settings → Advanced → Address Autocomplete, enable one or more providers, enter credentials, save, and then go to WooCommerce → Settings → General and tick Enable predictive address search. If you enable multiple providers, set the preferred one there too. This is the most future-friendly route for stores that want native checkout rather than a separate builder.
Pick the provider by address problem, not brand familiarity
If you need broad international suggestion coverage, Google Places is the obvious candidate inside the Woo extension stack. If the buyer’s expectation is specifically UK postcode lookup, use a provider with explicit UK postcode support such as Ideal Postcodes, Fetchify or PostcodeSoftware in Universal Address Autocomplete, or the older WooCommerce Address Validation extension with UK postcode providers from WooCommerce → Settings → Address Validation. Woo’s older Address Validation extension also notes compatibility with Cart & Checkout Blocks as of WooCommerce 10.8.
If you need custom Google integration, build it on Woo’s provider API rather than hacking field replacements
WooCommerce’s developer docs show the server-side provider registered through
woocommerce_address_providers, and the client-side provider registered withwindow.wc.addressAutocomplete.registerAddressAutocompleteProvider(...). The clientsearchfunction receives the query, country and address type, and the selected result must return Woo field names such asaddress_1,address_2,city,state,postcodeandcountry. Woo also recommends only loading the JS on checkout and only when address autocomplete is enabled.Use Google’s newer autocomplete stack on new builds
Google documents that legacy
google.maps.places.Autocompleteis not available to new customers from 1 March 2025 and recommendsPlaceAutocompleteElementinstead. Google’s newer widget also adds better localisation, accessibility and mobile support. If you are reviewing an older Woo plugin or theme snippet that still depends on the legacy widget, flag that as a technical-debt item before rollout.Pair autocomplete with postal validation logic if address quality matters downstream
Google’s ecommerce guidance recommends a three-part flow: capture with autocomplete, validate with the Address Validation API, then handle outcomes as Fix, Confirm, or Accept. Critically, Google also says you should let the customer proceed even if validation is imperfect, ideally flagging the order for review rather than trapping them in an infinite loop; that matters for unusual but valid addresses and new-build addresses that may not yet exist in postal datasets. Measurement note: instrument custom events such as
address_lookup_used,address_validation_fix,address_validation_confirm,address_force_proceed, andaddress_manual_overridebefore you switch the feature on sitewide.Preserve native browser autofill deliberately
Keep the standard Woo address fields present and editable, do not set
autocomplete="off"on normal address inputs, and preserve browser-readable HTML semantics. web.dev recommends appropriateautocompletevalues plus stablenameandidattributes, and explicitly notes using prefixes likeshipping postal-codeandbilling postal-codewhen the form contains both address types. If you add extra fields in the Checkout Block, Woo’s Additional Checkout Fields API supports theautocompleteattribute directly; for classic shortcode checkout, you alter fields viawoocommerce_checkout_fieldsorwoocommerce_default_address_fields, but those hooks are shortcode-specific.Keep manual entry fallback visible
Baymard’s research is blunt here: best-performing address lookup still keeps all address fields visible, because users often need to correct or complete the address manually. In the Checkout Block editor, the Checkout Fields block lets you control visibility for Company, Address Line 2 and Phone under Address Fields. For classic checkout, avoid theme or plugin customisations that collapse the whole address into a single search field.
Debounce search, but delay blocking validation until the customer finishes the step
Search suggestions can appear while typing, but blocking validation should wait until the user has selected a suggestion, left the field, or pressed Next / Continue / Review Order. Baymard warns against premature validation before the user has had a chance to complete the field, and NN/g calls early error display a hostile pattern. If you use Woo’s Universal Address Autocomplete extension, it exposes
universal_address_autocomplete_search_delay, which defaults to 300ms after the user finishes typing before the API request is made.If you already run a builder checkout, configure inside that builder instead of core Woo settings
FunnelKit documents Google Address Autocomplete under its checkout global settings and Google Maps section, while CartFlows documents setup under CartFlows → Settings → Integrations and then a per-checkout-step toggle inside the Checkout Form settings. Treat these as builder-specific routes, not native Woo checkout settings.
How To Measure
Key KPI: address-step completion, read as the rate from begin_checkout to add_shipping_info for users who reach checkout. Google defines add_shipping_info as the event that signifies a user has submitted shipping information in an ecommerce checkout process, which makes it the right anchor for the shipping/contact step. Use a GA4 Funnel exploration to compare begin_checkout → add_shipping_info → purchase, segmented by device category, country, logged-in vs guest, and ideally provider used vs manual entry.
Secondary metrics: median field-completion time from first interaction in the shipping/contact step to add_shipping_info; validation-error rate using custom events such as address_validation_fix or field-error events; invalid-address rate as the share of orders that required force-proceed or post-order correction; mobile drop-off at the address step; and downstream delivery-failure rate from fulfilment or support logs. web.dev’s autofill guidance is especially useful here because it lets you distinguish autofilled, autofilled-then-modified, only-manual, and empty states per field, which helps you detect when a new autocomplete rollout accidentally pushes more users back into manual entry.
What success looks like: more users reaching add_shipping_info and purchase, shorter address-entry time, fewer validation prompts, and fewer orders flagged for address correction, without a drop in autofill usage or a spike in manual overrides.
Guardrail metrics: RPV, overall conversion rate, checkout completion, AOV, the share of fields in only-manual or autofilled-then-modified state, and checkout-page LCP / INP / CLS. Core Web Vitals remain Google’s user-experience metrics for loading, responsiveness and visual stability, so extra third-party scripts on checkout should not be allowed to worsen them.
Pitfalls
- Myth: “Autocomplete means the address is validated.” It does not. Google separates Place Autocomplete from Address Validation, and Woo’s provider architecture can return suggested addresses without proving postal deliverability.
- Hiding all standard fields behind one search input. Baymard found this fails when the suggestion list misses the desired address, because users then need conventional fields to finish the job manually.
- Over-aggressive validation while the customer is still typing. Baymard says input should not be checked before the user has had a chance to type a correct value, and NN/g warns against prematurely displaying errors.
- Breaking native browser autofill by changing field semantics. web.dev recommends correct autocomplete values and stable field names/IDs; replacing standard inputs with opaque custom UI or turning autofill off on normal address fields can quietly raise friction.
- Trapping unusual but valid addresses. Google explicitly recommends a force-proceed path after repeated validation failures, and W3C’s international-address guidance warns against strict format assumptions because countries vary widely, some do not use postcodes, and address order can differ.
- Using an older Google autocomplete widget on a new build. Google recommends the newer PlaceAutocompleteElement; legacy google.maps.places.Autocomplete is not available to new customers as of 1 March 2025.
Examples
FAQs
WooCommerce can handle the autocomplete UI natively from version 10.3, but you still need an address provider such as a compatible extension, WooPayments where available on your setup, or custom provider code.
Google Places is often enough to speed up entry, but it is not the same thing as postal validation, so stores with delivery errors or expensive failed shipments should pair suggestions with validation or a postcode-oriented provider.
Yes, if the provider or extension is block-compatible; WooCommerce’s native provider architecture works in both checkout types, but legacy shortcode field hooks do not automatically extend the block checkout.
No. Show search suggestions with a debounce if needed, but reserve blocking validation for field completion or step submission so you do not punish users before they have finished typing.
Sources & Further Reading
- WooCommerce 10.3: COGS comes to core and MCP beta – Published 22 Oct 2025. Official release notes confirming address autocomplete in both block and shortcode checkout, plus the provider-based architecture.
- Address Autocomplete Provider Implementation – Undated developer documentation; accessed 3 Jun 2026. Official developer guide for registering server-side and client-side address providers across both checkout types.
- Universal Address Autocomplete Documentation – Undated documentation page; accessed 3 Jun 2026. Official Woo extension docs covering setup paths, supported providers and the Enable predictive address search setting.
- WooCommerce Address Validation Documentation – Documentation page updated for WooCommerce 10.8 compatibility; accessed 3 Jun 2026. Official Woo docs for postcode lookup and address-validation providers including UK options.
- Provide “Fully Automatic Address Lookup” – Published 24 Mar 2023. Independent UX research on why full address lookup works best when standard fields remain visible and manual fallback stays available.
- Have an Address Validator (47% Don’t) – Published 28 Nov 2023. Independent checkout research on the operational risk of bad shipping addresses.
- Usability Testing of Inline Form Validation – Published 9 Jan 2024. Independent UX guidance on avoiding premature validation and validating once users have finished the field.
- Address Validation for Ecommerce Checkout – Undated developer guidance; accessed 3 Jun 2026. Google’s recommended Fix / Confirm / Accept validation flow and force-proceed logic.
- Places Widgets – Updated late May 2026. Official Google reference noting legacy google.maps.places.Autocomplete is not available to new customers after 1 Mar 2025.
- Migrate to the new Place Autocomplete – Undated migration guide; accessed 3 Jun 2026. Google comparison of legacy vs new autocomplete widgets and APIs.
- Recommended events | Google Analytics – Updated 7 May 2026. Official GA4 documentation for add_shipping_info, add_payment_info and ecommerce event naming.
- [GA4] Funnel exploration – Undated help page; accessed 3 Jun 2026. Official GA4 guidance for reading step completion and abandonment across checkout stages.
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: