WooCommerce CRO Technique
Should WooCommerce allow guest checkout by default?
This technique removes or demotes the account decision before payment so first-time shoppers can buy as guests, then create an account later if it is genuinely useful. It helps most when new-user checkout drop-off is concentrated around login, registration, or a separate identity step between cart and payment.
Summary
Bottom Line: Yes: for most standard retail WooCommerce stores, guest checkout should be the default path, because forcing or over-emphasising account creation adds checkout friction and can suppress conversion.
- Baymard’s current checkout research says 18% of surveyed recent online shoppers abandoned an order because they did not want to create an account; Baymard’s earlier 2022 study cited 24%, but the samples differ, so the shift should be treated as directional rather than a precise like-for-like trend.
- Offering guest checkout is not enough if it is visually weak: Baymard found that if shoppers fail to notice the guest path, it performs almost as badly as not offering it at all, and 62% of benchmarked sites still fail to make guest checkout the most prominent option.
- If you still want registrations, delayed account creation is the right companion technique: Baymard found that asking after purchase keeps shoppers focused on completing the order, and WooCommerce core added delayed account creation for Checkout Blocks and block themes in WooCommerce 9.5.
- Returning customers still need a clear login route, but they should not be trapped by it. Baymard observed up to 19% checkout abandonment among existing-account users in tests involving password-reset friction, and explicitly recommends that users can still complete a guest checkout.
- On WooCommerce, this is implemented differently on classic shortcode checkout versus Cart & Checkout Blocks: classic exposes template hooks and the create-account checkbox in form-billing.php, while Blocks ignore most legacy checkout hooks and are controlled more through Woo settings, the editor, and block-compatible extensions.
How To Implement
Confirm whether the store is on classic shortcode checkout or Checkout Blocks before touching account flow
Since WooCommerce 8.3, Cart & Checkout Blocks have been the default experience for new stores, but existing stores can still remain on classic checkout. In the editor, WooCommerce lets you transform the Checkout block to a Classic Shortcode and back, so do not assume a store is using one or the other.
Go to WooCommerce → Settings → Accounts & Privacy and enable guest checkout
In current WooCommerce core, the setting is labelled “Enable guest checkout (recommended)” and allows customers to place orders without an account; older Woo docs describe the same behaviour as allowing checkout without account creation. Guest orders are not tied to a WordPress user account.
Keep Enable log-in during checkout on if returning customers matter to the store
This gives known customers a clear path to sign in without forcing first-time buyers to decide about an account before they pay. That balance matters because Baymard has repeatedly found that account friction can suppress both new-user and returning-user checkout completion.
Make guest the default by removing in-checkout account creation where possible
If the store uses Checkout Blocks and a block theme: turn on “After checkout (recommended)” and leave “During checkout” off. Current WooCommerce core only exposes delayed account creation when the store uses Checkout Blocks and a block theme, and WooCommerce 9.5 introduced a dedicated Create Account block on the order-confirmation page for exactly this pattern. If the store uses classic shortcode checkout: leave “During checkout” off if the goal is a clean default guest path. Core Woo disables delayed account creation on shortcode checkout, so the best core behaviour is to avoid presenting an account-creation decision there at all and leave registration to
My Accountor a post-purchase flow handled separately.If classic checkout must still show in-checkout account creation, ensure the account option stays clearly secondary
In classic WooCommerce,
templates/checkout/form-billing.phpoutputs the “Create an account?” checkbox only when registration is enabled, and it is unchecked by default unless a filter changes that behaviour. If guest checkout is meant to be the default path, do not setwoocommerce_create_account_default_checkedtotrue, and do not style that checkbox as the primary decision.If the store has a separate identity step, redesign that step rather than merely enabling the setting
Many stores add a login/register/guest screen via a theme, page builder, or extension. In that case, the guest path should become the first and visually dominant control—typically a full-width primary CTA—while Log in and Create account become secondary actions. Baymard’s evidence is the reason: if the guest option is weak or easy to miss, shoppers behave as though it is absent. For classic checkout, you can implement this with template overrides or classic checkout hooks; for Checkout Blocks, those legacy hooks are largely unsupported, so use block-compatible customisation instead.
For Checkout Blocks, use the Site Editor for messaging and supported styling, not classic PHP checkout hooks
Woo’s Checkout block has only one setting in the block sidebar, and many inner-block behaviours are driven by WooCommerce settings rather than template hooks. Add short reassurance copy in
Appearance → Editor → Templates → WooCommerce → Page: Checkout, for example a short line telling customers they can check out as a guest and create an account later. If you need styling changes, prefer global styles and supported block theming; Woo explicitly warns that CSS targeting the private internal HTML structure of blocks is brittle.Test edge cases before rollout, especially if the store sells subscriptions or memberships
Woo’s own docs note that purchasing a subscription still requires an account, and WooCommerce Memberships can override guest-checkout settings entirely for membership-linked products. Measurement note: annotate the release date and confirm that
begin_checkout,purchase,login, andsign_upare arriving in GA4 Realtime or DebugView before the change goes live, otherwise you will not be able to attribute any movement safely.
How To Measure
The main KPI is purchase conversion rate for new users, with RPV as a useful commercial cross-check. If the store currently has a separate account-selection step, also measure identity-step completion by instrumenting a custom event such as identity_step_view and identity_step_continue_guest, because GA4 has no native event specifically for that step. For standard GA4 ecommerce, the events to rely on are begin_checkout, login, sign_up, and purchase; Google’s recommended events are not sent automatically, so confirm they are implemented before reading the test. Segment the analysis by User type or GA4 comparisons so you read New and Returning users separately; otherwise a returning-customer login issue can hide a genuine new-user improvement. Use a Funnel Exploration from begin_checkout to purchase, and where relevant include login and sign_up as branches. Success looks like better new-user checkout completion and purchase rate, a lift in new-user RPV, and—if delayed account creation is enabled—stable or recovered total sign_up volume across the full journey rather than a narrow focus on sign-ups during checkout. Guardrail metrics: AOV, returning-user conversion rate, total sign_up rate, and LCP/INP/CLS after any template, plugin, or script changes. For web-vitals guardrails, use the standard “good” thresholds of LCP ≤2.5s, INP ≤200ms, and CLS ≤0.1 at the 75th percentile.
Pitfalls
- Myth: turning on guest checkout in WooCommerce is enough. It is not enough if your theme or extension still inserts an account wall, or if “Continue as guest” is buried as a weak text link. Baymard’s research is clear that a hard-to-spot guest path performs almost as badly as no guest path at all.
- Myth: you will “lose” registrations if you stop pushing account creation at checkout. Often the opposite is true: Baymard found that moving account creation to after purchase performs better, and WooCommerce now has delayed account creation in core for Checkout Blocks. What you may lose is *checkout-time* sign-ups, which is not the same thing as *total* sign-ups across the order journey.
- Mistake: hiding login too aggressively for returning customers. Guest should be the default for first-time buyers, but returning customers still need an obvious login path. Baymard observed substantial abandonment from password-reset friction among existing-account users, so “guest default” should not become “login obscured”.
- Mistake: using classic WooCommerce checkout hooks on Checkout Blocks. Legacy hooks such as woocommerce_before_checkout_form and many form-field filters are not supported in Blocks, so classic snippets often fail silently or produce partial results.
- Mistake: reading a drop in checkout sign_up as proof the change failed. If you move registration to the order-confirmation step, the sign_up event can shift later in the journey. Judge total registrations and purchase conversion together, not checkout registration alone.
Examples
FAQs
Yes—for most standard retail WooCommerce stores, guest checkout should be the default because it reduces pre-purchase friction for first-time buyers without blocking account creation later. The main exceptions are flows where an account is genuinely required, such as subscriptions or membership-linked purchases.
Not necessarily, and often not at all if you move the invitation to after checkout. Baymard found that delayed account creation performs better because it keeps the shopper focused on finishing the order first, and WooCommerce’s delayed account creation feature was built specifically to support post-purchase sign-up on Checkout Blocks. Also, in the UK, a receipt email is not the same thing as marketing consent, so forcing account creation is not a substitute for correct CRM permissioning.
Yes—very differently. Classic checkout exposes template hooks and the Create an account? checkbox in form-billing.php, while Checkout Blocks are more opinionated, ignore most legacy checkout hooks, and support delayed account creation only when the store uses Checkout Blocks with a block theme.
Yes, and that is usually the right balance. WooCommerce has a dedicated Enable log-in during checkout setting, and Baymard’s research suggests this is safer than forcing account use, because password friction can derail returning users while guest fallback protects the sale.
Sources & Further Reading
- WooCommerce Code Reference: class-wc-settings-accounts.php – Current core source for the Accounts & Privacy settings, including Enable guest checkout, After checkout, During checkout, and the block-theme / Checkout Blocks caveats for delayed account creation. Date: generated 28 May 2026.
- WooCommerce Code Reference: templates/checkout/form-billing.php – Current classic shortcode template showing the Create an account? checkbox and the woocommerce_create_account_default_checked filter. Date: generated 28 May 2026.
- WooCommerce developer docs: Hook alternatives – Primary reference for which classic cart/checkout hooks and filters do or do not work in Cart & Checkout Blocks. Date: last updated 3 June 2026.
- WooCommerce developer blog: WooCommerce 9.5 — delayed account creation – Official release note introducing delayed account creation and the Create Account block on the order-confirmation page. Date: 17 December 2024.
- WooCommerce developer blog: FAQ — Cart and Checkout Blocks by Default – Official guidance on Blocks becoming the default for new stores in WooCommerce 8.3, while classic remains supported for backward compatibility. Date: 6 November 2023.
- WooCommerce docs: Accounts and Privacy Settings – Merchant-facing explanation of guest checkout, login during checkout, account creation, and the note that subscription purchases require an account. Date: exact on-page date not surfaced in fetched text; search metadata indicated publication/update around late 2024.
- WooCommerce docs: Checkout block / Customising checkout – Official docs on Checkout Block structure, Site Editor access, and the limited editor-side controls compared with classic checkout. Date: exact on-page date not surfaced in fetched text; search metadata indicated publication/update in 2024–2026.
- Baymard Institute: Checkout UX Best Practices 2025 – Current Baymard reference for the 18% forced-account figure and the finding that 62% of sites fail to make guest checkout the most prominent option. Date: 25 November 2025.
- Baymard Institute: Make “Guest Checkout” Prominent – Earlier Baymard article with the 24% figure from its 2022 study and practical evidence on guest-option prominence. Date: 17 January 2023.
- Baymard Institute: Save Account Creation for the Confirmation Step – Independent evidence for pairing guest-default checkout with delayed account creation. Date: 19 September 2023.
- Baymard Institute: Avoid Unnecessarily Complex Password-Creation Requirements – Useful evidence on why returning-user login friction must remain a guardrail when changing identity flow. Date: 29 November 2022.
- Google Analytics Help: Recommended events / Ecommerce events / Comparisons / Secondary dimension / Funnel exploration – Official GA4 references for begin_checkout, purchase, login, sign_up, comparisons, User type segmentation, and funnel reading. Date: on-page date not surfaced in fetched text.
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: