Skip to content
Get a quote Call +66 93 004 4098

E-commerce

Ecommerce checkout optimization: fixing where Thai shoppers abandon their carts

Most Thai carts die between the shipping step and the payment screen. Here is how to find the leaks and fix each one.

Cover image for this guide: E-commerce

Where are carts lost at checkout?

Ecommerce checkout optimization means removing the reasons a shopper who has already chosen a product walks away before paying. The causes are well documented.

Baymard Institute's ongoing cart abandonment research puts extra costs (shipping, fees, tax) at the top of the list, followed by delivery that looks too slow, not trusting the site with card details, being forced to create an account and a checkout that feels too long or complicated. Its survey is of US shoppers, so treat it as a guide to the causes rather than Thai percentages. Many people also abandon simply because they were browsing, which no checkout change will fix.

For a Thai store, the same list shows up with local twists. The shopper is almost always on a phone, often reading in Thai, typing a long address with a subdistrict and postcode, and then asked to pay with a PromptPay QR code that is displayed on the very screen they would need to scan it with. Each of those moments is a small wall. Fix them in order of how many people hit them, and measure after each change.

This guide starts at the cart. If shoppers are leaving earlier, before they ever add anything, the problem sits on the product page, and our notes on what a good product page needs are the better place to start.

Guest checkout and fewer fields

Forcing a first-time buyer to register before paying is the easiest leak to close. Offer guest checkout by default and invite the shopper to save an account on the thank-you page, when the order is already placed and the request feels like a favour rather than a toll. Both WooCommerce and Shopify let you allow guest orders in their checkout settings.

Then count your fields. Every box you remove is one less reason to stop. Most stores can cut the list below without losing anything they actually use.

  • Company nameHide it unless the shopper asks for a tax invoice.
  • Second address lineMerge into one line; Thai addresses rarely need two.
  • Confirm emailOne email field is enough; show it back on the review step.
  • Separate first and last nameKeep only if your courier label needs them split.
  • Date of birth or genderNot needed to ship a parcel, and it is extra personal data under PDPA.
  • Account passwordOffer it after payment, not before.

How should a checkout handle Thai addresses?

Default checkout templates are built for Western addresses: street, city, state, zip. A Thai address has a house number, often a moo or soi, a road, then subdistrict (tambon or khwaeng), district (amphoe or khet), province and a five-digit postcode. When the form does not match that shape, shoppers guess, couriers get bad labels and parcels come back.

What a good Thai address form does

  • Uses separate fields for subdistrict, district, province and postcode, in that order, with Thai labels on the Thai version of the site.
  • Autocompletes: type a postcode or a subdistrict and the other three fill in from a Thai address database. This removes most spelling errors.
  • Accepts both Thai and Latin script, because some buyers type in English and couriers handle both.
  • Asks for a mobile number with Thai format checks, since the rider will call it on delivery day.

Plugins and apps exist for this on both platforms, and a custom build can use an open Thai address dataset. Whatever you pick, test it with a few real addresses from outside Bangkok before launch.

No surprise costs

A shopper who sees one total in the cart and a higher one on the payment step feels tricked, even if the difference is a fair courier charge. Show the delivery cost, or at least a clear range, before checkout begins.

  • Put the free-shipping threshold in the cart, with the remaining amount calculated live ("add a little more for free delivery"), rather than in a footer banner.
  • Show an estimated delivery window next to each option, for example standard delivery in two to four working days, so buyers can compare Thailand Post, KEX Express (formerly Kerry Express), Flash Express or J&T on speed as well as price.
  • Name any extra charge in plain words: COD fee, remote-area surcharge, gift wrapping.

How those rates are calculated behind the scenes, flat, weight-based or live from a courier API, is a separate job covered in our guide to connecting Thai couriers to your store. At checkout, the only rule is that the number the buyer sees first is the number they pay.

Payments that work on a phone

Thai shoppers expect PromptPay, cards and often cash on delivery. Which gateway supplies them is a bigger decision, and our piece comparing payment gateways available in Thailand walks through the options, and Shopify owners should read how Shopify payments work in Thailand. Here the question is how the choices are presented.

Order the methods by use

List the method most of your buyers pick first, and keep the list short. Three or four clear options beat eight logos. If your data shows most mobile orders go through PromptPay, put it on top on mobile.

The same-phone QR problem

A PromptPay QR shown on the phone that must scan it is the most common Thai checkout snag. Help the buyer finish without a second device:

  • Add a "save QR image" button with a short note: open your banking app, choose scan, then pick the image from your gallery.
  • Show the exact amount and a countdown if the QR expires, so nobody pays a stale code.
  • Confirm the payment automatically through the gateway and send the buyer to the order page, rather than asking them to upload a slip.

COD rules at checkout

Cash on delivery still matters in Thailand, especially for first orders from a shop the buyer does not know yet. It also costs you in refused parcels and courier fees. The fix is not hiding COD; it is stating its rules where the choice is made.

  • Say whether a COD fee applies and how much, next to the option itself.
  • State any order limit, for example COD only up to a certain basket value, and hide the option automatically above it.
  • Tell the buyer to have the exact amount ready and that the rider will call the mobile number given.
  • If some areas or products are prepaid only, say so before the payment step, not after.

Clear rules reduce refusals because the people who choose COD know exactly what they signed up for. Our guide to cash on delivery in WooCommerce shows how to set these limits and fees.

PDPA consent done properly

Thailand's Personal Data Protection Act lets you use the address and phone number to fulfil the order, because the buyer asked you to. Marketing is different. Put an unticked, separate checkbox for newsletters or promotions, and link your privacy notice right beside the place order button. A pre-ticked box bundled with the terms is exactly what the law's consent rules are meant to stop.

Optional tax-invoice fields

Business buyers often need a full tax invoice. Add a "request a tax invoice" toggle that reveals company name, tax ID and branch only when ticked, so retail shoppers never see them. How those details flow into electronic invoices is covered in our guide to e-Tax invoices for Thai online stores.

Coupon field and trust signals

A big open coupon box sends people off to search for codes and some never return. Collapse it behind a small "have a code?" link. Near the payment button, show your real contact details and your business registration. Our article on registering an online store with the DBD and displaying its trustmark explains what Thai buyers look for.

Measure the funnel, then fix

Guessing wastes effort. In Google Analytics 4, a funnel exploration with the steps view cart, begin checkout, add shipping info, add payment info and purchase shows exactly where people drop. Split it by device, since mobile and desktop usually leak in different places. Change one thing at a time and compare a few weeks before and after.

Abandoned-cart emails

A reminder sent a few hours after someone leaves a filled cart recovers some of those orders. Under PDPA, send it only to shoppers who gave an email during checkout and agreed to receive such messages, keep it about their cart, and include an easy way to opt out.

Where we fit

Checkout details like these are part of every store we build. Our work on building an online shop on Shopify or WooCommerce includes PromptPay, cards, COD, Thai couriers and e-Tax invoice setup, and a typical project takes around 15 days, longer for large catalogues. See what an online store costs with us, or browse more guides on selling online in Thailand.

Keep reading

Sources

Litesh Dhir, co-founder of Website Development Bangkok
Reviewed by Litesh DhirCo-founder, SEO and web development

Builds and ranks the websites: the systems behind the 17 client sites whose Search Console numbers we publish. This guide was written by the Website Development Bangkok team. More about us

Common questions

What is a good checkout completion rate?

There is no single good number, because it depends on your products, prices and traffic. Baymard Institute's research averages many studies and finds that most carts are abandoned, so a large drop is normal. The useful benchmark is your own store: measure the rate from begin checkout to purchase in GA4, then watch whether it moves after each change you make.

Should I force customers to create an account?

No. Forced registration is one of the most cited reasons people abandon a checkout. Let first-time buyers check out as guests and offer to create an account on the order confirmation page, using the details they already typed. Returning customers can still log in for faster checkout and order history, but nobody should need a password to buy.

How many payment methods should my checkout offer?

For most Thai stores, three or four: PromptPay, credit and debit cards, and cash on delivery, plus a wallet if your buyers ask for it. More logos add clutter without adding many orders. Check which methods your customers actually use in your gateway reports, put the most popular first, and remove anything almost nobody chooses.

How do I show a PromptPay QR to someone shopping on their phone?

Give them a way to pay without a second screen. A "save QR image" button lets the buyer store the code, open their banking app and scan it from the photo gallery. Show the exact amount, any expiry time, and confirm payment automatically through your gateway so the shopper lands on the order page instead of being asked to upload a transfer slip.

Are abandoned-cart emails allowed under PDPA?

They can be, if handled carefully. Send them only to people who entered their email in your checkout and agreed to receive such reminders, keep the message about the cart they left, name your store clearly and include a simple opt-out. Explain the practice in your privacy notice. If you are unsure how the rules apply to your business, ask a Thai legal adviser.

Tell us about your website

Send a few lines on WhatsApp or through the quote form. You get a written quote with the scope, timeline and price for your project.

Or WhatsApp or call +66 93 004 4098, every day, 10:00 to 19:00 ICT. service@websitedevelopmentbangkok.com

WhatsApp Call