WooCommerce Checkout Fields to Remove: Cut the Form, Keep the Sale
Remove these from a WooCommerce checkout unless your fulfillment genuinely depends on them: the company name field, order notes, the required phone number (make it optional), the forced account, the shipping address form shown by default, the country dropdown when you sell to one country, and anything a plugin or marketer added such as "how did you hear about us." Demote address line 2 to optional rather than deleting it. Keep what an order cannot ship without: email first, name, street address, city, state, ZIP and payment. Everything you cut can be asked for after the payment succeeds, when the customer has already decided to trust you. The checkout has exactly one job, and collecting data for someday is not it.
The short version
- Every field is a toll booth. Some shoppers pay it, some turn around, and you only ever see the first group.
- Cut company, order notes, required phone and the forced account. Make address line 2 optional and collapse the shipping form.
- Email goes first. It is what lets you send the receipt and recover an abandoned checkout.
- Guest checkout at the door, account offer after payment. Same data, none of the friction where it hurts.
- Hide fields with settings or code, never with CSS. An invisible required field is an error message pointing at nothing.
- Measure before and after. Mobile checkout completions are the number that settles the argument.
Why does every extra checkout field cost you sales?
In 2009, usability researcher Jared Spool published the account that became known as the $300 million button. A large retailer's checkout opened with a login form: returning shoppers typed an email and password, new shoppers clicked Register. In testing, first-time buyers resented being asked to sign up before they had bought anything, and repeat buyers could not remember which email or password they had used, so they requested resets, waited, and often left. The team replaced Register with Continue and added one sentence saying no account was needed to buy. By Spool's account, the number of purchasing customers rose 45 percent, worth $15 million in the first month and about $300 million over the year. Nothing about the products or prices changed. One obstacle came out of the path.
The lesson generalizes because every field is a smaller version of that Register button. On a phone, a field is a keyboard switch, a gamble on whether autofill will guess right, a chance for a red validation message, and a half-second of "why do they need this." Each cost is tiny and each is paid on the one page that produces revenue, while the benefit of the data lands somewhere in the future, for a purpose nobody has fully defined. The Baymard Institute's running survey of why shoppers abandon checkout has for years placed "the site wanted me to create an account" and "the checkout was too long or complicated" among the leading reasons after unexpected costs. Those two reasons are field problems, and field problems are the cheapest kind to fix.
There is a quieter cost as well. Every field is validation logic that can misfire, a place where two plugins can disagree, and a source of support tickets that begin "it says my phone number is invalid." A shorter form is a more reliable form.
Which WooCommerce checkout fields should you remove?
Out of the box, WooCommerce asks for first and last name, company, country, street address, apartment or suite, city, state, ZIP, phone and email, repeats the address block for shipping, offers an order notes box, and, depending on settings, adds account creation and a terms checkbox. Here is the verdict on each, plus the extras that themes and plugins bolt on.
- Company name: remove for consumer stores. WooCommerce ships it as optional, but optional is not free; the shopper still reads the label and decides. If you also sell to businesses, show it only to logged-in wholesale accounts or on a separate wholesale checkout.
- Address line 2: keep it, optional and quiet. Deleting it is the tempting mistake, and it breaks apartment deliveries in every city you ship to. Label it "Apt, suite, unit (optional)" and never make it required.
- Phone: optional unless a carrier needs it. The classic checkout requires it by default. Domestic parcel carriers deliver without it; freight and international shipments usually need one. Make it optional with a hint such as "for delivery questions only" and require it only for the shipping methods that use it.
- Order notes: remove unless someone reads them. A notes box is an implied promise. "Leave at the back door" typed into a field nobody in fulfillment sees becomes a support ticket and a one-star review.
- Account creation: never as a gate. Guest checkout on, the create-account checkbox out of the middle of the form, the offer moved to after payment.
- The shipping address form: collapsed by default. Most orders ship to the billing address. Show the second block only when the shopper asks for it.
- Country: fixed text when there is one. If you sell to the US only, restrict selling and shipping locations to a single country and WooCommerce renders it as text instead of a dropdown with two hundred entries.
- Title, fax, date of birth, "how did you hear about us," gift options, preferred delivery date: remove or defer. None are core WooCommerce; each arrived with a theme, a plugin or a well-meant request. Age verification, where the law requires it, is a separate control, not a birthday box.
- The coupon prompt: collapsed. A prominent "Have a coupon?" sends shoppers off to hunt for codes. WooCommerce already tucks it behind a link; check that your theme did not expand it.
- The newsletter checkbox: unchecked and short, or gone. A pre-checked box generates complaints and, in some jurisdictions, violations.
- The terms checkbox: as light as your lawyer allows. WooCommerce adds a required checkbox when a terms page is set. For most US consumer stores a line reading "By placing your order you agree to our terms," with a link, does the job; keep the explicit checkbox where your product category or counsel requires it.
Which checkout fields have to stay?
- Email, first. The receipt goes there, and abandoned-checkout recovery is impossible without it. The block checkout already places it at the top; on the classic checkout, move it up with a priority change.
- First and last name. A single "full name" box looks cleaner, but carriers, payment processors and your accounting all expect the split.
- Street, city, state, ZIP. Carriers need them, destination-based sales tax is calculated from them, and the card networks' address verification checks the billing ZIP and street number against the issuer's records.
- Payment. Handled by the gateway, and the rule is to keep the gateway's own fields rather than adding a redundant "name on card" you never use. What the gateway must handle for you, and what must never touch your server, is laid out in our PCI compliance guide for checkout.
- For digital products, less still. A cart of virtual items hides the shipping block automatically. Billing country and ZIP still earn their place for tax and card verification; the rest of the billing address can go.
How do you remove checkout fields in WooCommerce, step by step?
- Baseline the numbers. In your analytics, pull the last thirty days of sessions that reached checkout against completed purchases, split by device. Then buy something from your own store on your phone and count every tap. That is the before picture.
- Know which checkout you are running. Stores created since WooCommerce 8.3 use the block-based checkout; older stores usually still run the classic shortcode version. Settings for one do nothing on the other, and half the confused forum threads come from that mismatch.
- Turn on guest checkout. WooCommerce > Settings > Accounts & Privacy: enable guest checkout and allow login during checkout, so returning customers can pull their saved details in one tap.
- Set the three built-in optional fields. Block checkout: select the address block in the editor and set Company, Address line 2 and Phone to Optional or Hidden. Classic checkout: Appearance > Customize > WooCommerce > Checkout offers the same three switches.
- Restrict countries. Settings > General: set selling and shipping locations to the specific countries you serve. A single country collapses the dropdown.
- Collapse the shipping form. Settings > Shipping > Shipping options: default to the customer's billing address.
- Remove order notes. Block checkout: remove the order notes block in the editor. Classic: one filter in a site plugin,
add_filter( 'woocommerce_enable_order_notes_field', '__return_false' ); - Audit what plugins added. On a staging copy, deactivate the shipping plugin, the tax plugin, the marketing plugin and the theme's checkout module one at a time and watch which fields disappear. Every injected field has a setting somewhere, and a plugin that offers none is a candidate for replacement.
- For anything left on the classic checkout, use the field filter. A few lines in a small site-specific plugin, never in the theme's functions.php, where the next theme update resurrects everything:
add_filter( 'woocommerce_checkout_fields', function ( $fields ) {
unset( $fields['billing']['billing_company'] );
$fields['billing']['billing_phone']['required'] = false;
return $fields;
} );
The block checkout ignores this filter for its core fields; use its editor settings, and its additional checkout fields API for anything custom. 10. Place a real order on a phone, then refund it. Walk the error path on purpose: leave a required field blank and confirm the message is readable and points at something visible. 11. Watch two weeks of numbers. Compare mobile completions against the baseline, and read the support inbox for "the carrier couldn't reach me" before declaring the phone question settled.
The ten-minute checkout audit
Open your store on your phone, start an order, and answer these as you go:
- Could we ship this order without the field? If yes, cut it or defer it.
- Does each remaining label say optional or required?
- Does the phone keyboard match the field? Numeric for ZIP and phone, the email keyboard for email.
- Does browser autofill land in the right boxes?
- Is email the first thing asked?
- Is guest checkout the default path, with login one tap away?
- Do the shipping fields appear only when asked for?
- Is the coupon prompt collapsed?
- Are express wallets above the form? Apple Pay, Google Pay and PayPal skip most fields entirely, which is the biggest cut available.
- Do errors show next to the field, in plain words, all at once?
- Has a plugin added anything since last quarter?
Where should the removed fields go?
The data was never worthless; it was in the wrong place. After payment, the shopper's posture changes from deciding to done, and a single optional question is received very differently.
- "How did you hear about us?" One tap on the thank-you page, where the shopper has nothing left to lose by answering.
- Delivery instructions. A line in the shipping confirmation email with a reply-to that reaches fulfillment, or a link to add notes to the order.
- The account. Offered on the confirmation page with the details already filled. Recent WooCommerce versions include a delayed account creation option for the block checkout; where yours lacks it, a one-click "save my details for next time" is a small custom addition.
- Company and tax ID. Collected on a wholesale application, then shown at checkout only to accounts that passed it.
- Marketing consent. Asked once, after the receipt, with a clear reason.
Asking after the sale has a side benefit: each answer can be checked properly instead of being rushed through checkout validation, the discipline we describe in stopping bad data at the door.
Common pitfalls
The mistakes here are rarely about removing too little. They are about removing the wrong way, or removing something fulfillment quietly relied on.
A case, details changed. A mid-sized apparel store wanted a shorter checkout, and the theme had a custom CSS box, so the company, phone and apartment fields were hidden with a display rule. Desktop looked clean and converted fine, because browser autofill kept quietly filling the invisible phone field. On phones, where autofill is less reliable, shoppers hit "Billing Phone is a required field" with nothing on the screen to fill in. Mobile completions slid for about three weeks before anyone connected the drop to the styling change, because the page looked exactly as intended. The repair took an hour: undo the CSS, set the three fields properly in the checkout settings, and add the two-line filter for the rest.
Other patterns worth checking:
- Deleting address line 2. Apartment deliveries fail, the carrier calls a phone you also removed, and the box comes back.
- Removing phone on a store that ships freight or overseas. Make it conditional on the shipping method instead.
- Editing the theme's functions.php. The next theme update restores every field, and nobody notices for a month.
- Installing a field-editor plugin for a two-line job. Many load their own scripts on every page, so the checkout gets shorter and slower at once; the weight problem is its own project, covered in how to speed up a slow WooCommerce store.
- Removing the state field to save a tap. Destination-based tax and most shipping calculators need it.
- Cutting a field and never asking later. The company name you removed was feeding invoices, and the deferred question never got built.
- Solving conditional needs with hacks. Business buyers who need a tax ID, gifts that need a message, products that need a delivery date: that is where settings stop and a purpose-built extension begins, the line we draw in when you need a custom WooCommerce plugin.
Walking a store's checkout field by field is one of the shortest pieces of work we do: typically a day of audit and fixes, with the before-and-after numbers as the deliverable, and it sits at the small end of the services we offer. If you would rather hand the whole store to someone for the long term, how to hire a WooCommerce developer covers what to ask before you do.
FAQ
Which checkout fields does WooCommerce require by default?
On a fresh install the required billing fields are first name, last name, country, street address, city, state, ZIP, phone and email, with company and the second address line optional. Shipping repeats the address fields when the shopper ships elsewhere. Phone is the one required default most stores can safely relax, and the block checkout exposes it, company and address line 2 as Optional, Required or Hidden in the editor.
Should I remove the phone number field from WooCommerce checkout?
Make it optional rather than removing it, and require it only for shipping methods that genuinely use it, such as freight or international. Domestic parcel carriers deliver without a phone number, so requiring one from every shopper adds a field for a case that rarely arises. A short hint explaining it is for delivery questions only keeps the optional version from feeling like a marketing grab.
Does guest checkout hurt repeat business?
No, provided you offer the account after the sale instead of before it. A shopper who just paid is the easiest person to convert to an account holder, because the form is already filled and the trust is already earned; a shopper who has not yet paid treats registration as a reason to leave. Login-during-checkout for existing customers keeps the returning buyer's one-tap path intact.
How do I remove the company field in WooCommerce?
On the block checkout, select the address block in the editor and set Company to Hidden. On the classic checkout, use Appearance > Customize > WooCommerce > Checkout and set the company field to Hidden, or unset billing_company through the woocommerce_checkout_fields filter in a small site plugin. Do not hide it with CSS; a hidden field can still be validated and will block orders invisibly.
Do fewer checkout fields really increase conversion?
The evidence points that way, from Spool's documented $300 million case to Baymard's repeated finding that account requirements and long forms rank among the top abandonment reasons. The size of the effect depends on how bloated the starting form was and on how much of your traffic is mobile, which is why the honest approach is to measure your own checkout completions before and after rather than trust a published percentage.
Do I need a checkout field editor plugin?
Usually not. The three most common cuts are built-in settings, guest checkout is a checkbox, and the remaining removals on the classic checkout are a few lines in a site plugin. A field editor earns its place when you need conditional fields tied to products or customer groups, and even then it is worth checking what it adds to page weight before installing it.