The seven WordPress checkout settings almost everyone forgets until a customer emails

A store that takes a test order is not the same as a store that takes a real order. I’ve watched this gap eat a whole weekend more times than I can count. The cart looks fine, the product page looks fine, and then someone in another country tries to buy and the whole thing falls over quietly.

The reason is that WooCommerce ships with defaults that are reasonable for a demo and wrong for a real shop. Most setup guides walk you through adding products and picking a theme, then stop. The settings below are the ones that decide whether money actually moves.

## 1. Your base address is probably wrong

Settings, then General, then the store address. Whatever you typed during the setup wizard is what WooCommerce uses to calculate tax and to decide which payment gateways are even available. If you left it as a placeholder or picked a random country, tax rules will apply to the wrong jurisdiction and some gateways will refuse to load.

Fix it, save, then go look at your checkout page in a private window. If a gateway that was there before has vanished, this is why.

## 2. Selling locations and shipping locations are two different fields

The general settings have a “Selling location(s)” dropdown and a “Shipping location(s)” dropdown right next to each other. They are not the same thing. Selling locations controls which countries can check out at all. Shipping locations controls which countries you’ll ship to.

A common failure: someone sets selling locations to “Sell to all countries” but leaves shipping at “Ship to countries you sell to” while their shipping zones only cover one country. Result: international customers reach checkout, get a cart, and then hit a wall with no shipping method available. They don’t email you. They leave.

If you’re digital-only, skip shipping zones entirely and make sure nothing in your product setup demands a shipping method. If you’re selling anything that ships, build a zone for every region you’ll actually serve and a catch-all zone with a flat rate for everywhere else, so nobody reaches a dead end.

## 3. Guest checkout is off by default in some configurations

Look at Accounts and Privacy. There’s a checkbox for allowing customers to place orders without an account. It’s often on, but themes and plugins that touch the checkout can flip it, and if it’s off you’ll see a hard drop-off at the account-creation step.

Turn it on. Requiring registration to buy a $12 download is a conversion tax you don’t need to pay.

## 4. Coupon usage limits reset in ways you won’t expect

Create a coupon, set a usage limit, and then test it. The usage limit counts completed orders, not attempts, so an abandoned checkout doesn’t burn a slot. But per-user limits behave differently depending on whether the customer is logged in. A guest can use a per-user-limited coupon repeatedly because there’s no user to count against.

If a coupon is meant for one use, set an email restriction or a usage limit, not both and not neither. Then test it as a guest, in a private window, twice.

## 5. Emails are sent from a domain that fails authentication

WooCommerce sends order confirmations from your site by default, via PHP mail. On most hosts that means the From address is something like [email protected] and the message lands in spam or gets dropped.

Install an SMTP plugin, connect it to a transactional sender, and send yourself a test order. Then check the spam folder anyway, because that’s where your customers will look first. This is the single highest-value ten minutes in the entire setup.

## 6. The order status that means “paid” isn’t obvious

Payment gateways set order statuses when they complete. Some set “Processing,” some set “Completed,” and if you’re using an offline gateway like bank transfer, the order sits on “On hold” until you manually move it. If your fulfillment depends on a status, know which one triggers it.

For digital products, the important one is whether the download link is released at the right status. Check the product’s downloadable-files settings and confirm the link works from the order confirmation email, not just from your admin.

## 7. Nothing is tested in a private window

This is the meta-setting. Every check above is worthless if you only test while logged in as an administrator, because admin sessions bypass half the restrictions your customers hit.

Open a private window, add a product, go through checkout with a real card in test mode, and confirm the confirmation email arrives. Then do it again from a phone on cellular data.

## A ten-minute test script

Here’s the whole thing as a sequence. Private window. Add one physical product and one digital product to the cart. Check out as a guest with an address in a country you intend to serve. Confirm the shipping options appear if relevant, confirm the payment method loads, complete the order in test mode, confirm the receipt email arrives outside spam, confirm the download link works.

If all of that passes, you’re live. If any of it fails, you’ve found the thing that would have cost you your first three customers.

The pattern I keep seeing is that people spend their setup time on things customers look at and skip the things customers touch. The cart page is visible. The tax calculation is invisible until it’s wrong. Spend the time on the invisible stuff. That’s where the weekend goes.