Bangkok.Digital Free CRO Audit
// THAI MARKET · 2026-01-22 · 16 min read

Thai Checkout Patterns: PromptPay, LINE Pay, TrueMoney UX

We ran our scraper across 214 Thai e-commerce checkouts and ran experiments on six of our clients to validate. This is the version of the document we hand to every new D2C client in week one.

By Yunmin Shin · Published 2026-01-22 · Bangkok

The dataset

Our scraping pipeline crawls 2,400+ Thai e-commerce and SaaS sites weekly for pricing and offer changes. For this study we wrote a checkout-flow extractor that opens product pages, adds to cart, and walks the checkout for the 214 sites that allow guest checkout (about 60% of our crawl set). We logged: payment methods offered, ordering, default selection, copy in Thai and English, presence of installment offers, and total checkout step count.

We then crossed that with conversion-rate data from the six clients we run as managed CRO retainers (~฿42M combined monthly GMV) to validate which patterns actually move the needle. The on-site tests use the AVI sequential framework to keep false-positive rates honest.

Finding 1: PromptPay should be default 90% of the time

PromptPay was offered on 197 of 214 sites (92%). It was the default option on 38%, second-listed on 41%, and buried below credit card on 21%. This is the single biggest conversion-cost pattern in Thai e-commerce.

Default paymentMedian CR (mobile)Median time to checkout
PromptPay first3.84%47 sec
Credit card first2.71%71 sec
Cash on delivery first2.92%52 sec
LINE Pay first3.61%49 sec

The credit-card-default sites lose roughly 1.1 percentage points of mobile CR versus PromptPay-default. On a ฿4M/month e-commerce site, that's about ฿440K/month in lost revenue.

Why this works mechanically: PromptPay generates a QR code that the user scans inside their banking app. The whole flow is two taps and one biometric confirm. Credit card on Thai mobile keyboards is 16 + 3 + 4 + name digits with frequent typos and 3DS popovers. The conversion data is unambiguous on this. We've shipped PromptPay-default on five of six client sites in 2025-2026 and the smallest lift was 8.4%.

Exception: cross-border B2C

If your AOV exceeds ~฿15,000 or you sell to Thai users abroad (luxury, art, high-end electronics), credit card default is fine. PromptPay has a per-transaction limit at most banks (commonly ฿200,000-500,000 depending on tier) and a psychological discomfort threshold around ฿20,000 for many users. Above that, credit card actually wins. Below it, the QR is the better default by a wide margin.

Finding 2: LINE Pay needs to be visible, but rarely default

LINE Pay was offered on 71% of sites and defaulted on only 6%. Of the sites that defaulted to LINE Pay, all had a strong existing LINE Official Account marketing channel — they're capturing the segment that arrived from a LINE broadcast and is already authenticated.

The optimal placement we've found is second in the list, immediately after PromptPay, with the LINE green logo at full saturation (not greyed out). Hiding LINE Pay below a "more options" expander reduces its uptake by ~60% and depresses overall conversion by ~3-4% because some users explicitly prefer it and bounce when they don't see it.

Copy that worked in our tests:

Finding 3: TrueMoney is undervalued

TrueMoney was offered on only 34% of sites in our crawl, far below its actual user base in Thailand (it claims ~30M wallets as of late 2025). The reason is that integration is harder — most stores running on Shopify or WooCommerce don't have a clean TrueMoney plugin.

For sites where we did add TrueMoney via the TMN OpenAPI, it captured roughly 4-7% of total checkout volume from segments that were previously paying COD or abandoning. The customer profile skews younger (18-29) and lower AOV but with higher repurchase rates over 90 days. Adding TrueMoney is high-leverage if you serve the under-30 segment.

Finding 4: COD ordering matters more than people think

Cash on Delivery is dying in Thailand much faster than the conventional wisdom suggests. Across our 214 sites, COD share of checkout volume averaged 11.3% in Q4 2025, down from ~28% in 2022. But it's a non-trivial share and you can't kill it without losing a slice of revenue.

The pattern that minimizes COD share without losing the segment: place COD last, label it "จ่ายปลายทาง" (no English-only label), and do not show a fee in the default state. Sites that show a "+฿20 surcharge" next to COD have higher abandonment on the entire page (the price increase is psychologically attached to the order, not to COD), even though revenue per order is technically higher when COD is selected.

The right move: charge a higher COD fee, but disclose it only on the confirmation step after the user clicks COD. Conversion-net, this beats both "COD with fee shown" and "free COD."

Finding 5: Step count is the underrated lever

Of the 214 sites, the median had 4.2 steps from cart to confirmed payment. The top quartile by conversion rate had 2.8. The single biggest predictor of mobile conversion in our regression model wasn't payment method choice or copy — it was step count, with a coefficient that translated to roughly 0.6 percentage points of CR per step removed.

The two steps that almost always can be eliminated:

  1. Account creation as a separate step. Combine with the email/phone field on the address step. Or skip account creation entirely for first-purchase guest checkout.
  2. Shipping method selection when there's only one realistic option for the user's address. Pre-select Kerry/Flash/Thailand Post based on postal code zone and let the user override only if they want to.

Three concrete tests we ran in 2026:

SiteChangeLift (CR)n per arm
Beauty D2CCombined account+address steps+11.4%9,800
FashionPre-select shipping by postal code+6.2%14,200
WellnessRemoved "review order" step+8.7%7,400

All three were analyzed under AVI with proper pre-registration; all three are still in production in Q2 2026.

Finding 6: Phone-number-as-identifier wins

72% of Thai e-commerce sites still ask for email as the primary identifier on checkout. Of the 28% that prioritize phone (with email optional or auto-derived), conversion is on average 4.1% higher on mobile, with a much bigger spread on COD orders specifically.

Reason: Thai users use email much less than Western users. The 25-45 segment that drives most D2C revenue has a phone number they type without thinking and an email they may not remember the password to. Phone-as-identifier also unlocks SMS/LINE notification flows (order shipped, delivery scheduled) that increase repeat purchase rates measurably.

Implementation note: the autocomplete="tel" attribute and type="tel" input opens the numeric keypad on mobile. Sites that use type="text" for phone fields measurably hurt their own conversion by forcing keyboard switching.

The "Thai-first" copy pattern

Across all 214 sites, the ones with the best mobile conversion shared a pattern in their button and label copy: they used Thai as the primary language with English in subtle secondary position. The bilingual sites that flipped this — English primary, Thai secondary — under-converted Thai-speaking users by ~5-9%.

Examples that consistently won in our tests:

// Primary CTA
ชำระเงิน  →  most common, 76% of top quartile
สั่งซื้อสินค้า  →  for marketplace-type flows
ยืนยันการสั่งซื้อ  →  for confirmation step

// Secondary
ยกเลิก / Cancel  →  Thai first, English secondary if shown at all

// Trust copy below CTA
🔒 ปลอดภัย · มาตรฐาน PCI  →  better than English equivalent
✓ ส่งฟรี เมื่อสั่งครบ ฿XXX  →  threshold visible drives upsell

If you only do English copy because your team is non-Thai, you're conceding 5-9% of conversion. Hire a Thai copywriter or use our SitPlay Media partner who handles this for nearly all of our shared clients.

The full default-stack we now ship

For a new D2C client onboarding, here's the checkout configuration we ship in week one before running any custom tests:

  1. PromptPay default, with QR rendered inline (not in a popup).
  2. LINE Pay second, full color logo, no parenthetical labels.
  3. Credit card third, with installment-offer banner if AOV ≥ ฿3,000 (KBank/SCB/Krungsri 0% installments are an underused conversion lever).
  4. TrueMoney fourth if the integration exists; otherwise omit.
  5. COD last, Thai-only label, fee disclosed only after selection.
  6. Phone as primary identifier, email optional.
  7. Combined account+address step; no separate "create account" page.
  8. Shipping pre-selected by postal code with one-tap override.
  9. Thai-first copy on all CTAs and trust signals.
  10. Server-side conversion tracking via our Cloudflare Workers SSGTM so the data feeding back into Markov attribution is clean.

We then run the standard sequential test queue on top of that — usually 2-3 tests per month focused on copy, image positioning, and trust-signal placement. The default stack alone usually accounts for the first 10-25% lift on a previously suboptimal checkout.

Pitfalls we see repeatedly

The "but our customers prefer credit card" myth. Almost every founder we onboard says this. The data, every time, says otherwise once we look at session-level paths from the segment that abandons. Credit-card-preferring users are a small, high-AOV minority; defaulting to their preference taxes the larger PromptPay segment.

Multi-currency confusion. If you ever show USD on a checkout served to Thai users, you've already lost. Auto-detect locale, default to THB, and only show USD on a clearly different SKU page for export sales.

Over-aggressive 3DS. Some payment gateways force 3DS on every credit card transaction. The popup flow on Thai banks is fragile and frequently times out. If your gateway lets you tune 3DS thresholds (KBank does, 2C2P doesn't really), pull 3DS off transactions under ฿2,000 — the fraud savings don't justify the conversion loss.

Pre-PDPA consent placement. The PDPA consent checkbox should not be on the cart page. It's an order-confirmation-step concern. Front-loading it tanks cart-to-checkout conversion. We covered the full PDPA setup in our PDPA piece.

What we'd want a junior CRO analyst to take from this

Thai checkout optimization is a solved problem at the structural level. PromptPay default, phone-as-identifier, fewer steps, Thai-first copy. Ship the stack, then test on top. Don't run an A/B test on which payment method to default to before you've shipped PromptPay-default once — that's wasting a test slot on a question we already have a confident answer to.

The interesting tests live above the stack: trust signals, social proof copy, urgency cues, image-vs-icon for payment logos. That's where novel learning happens. Below the stack is plumbing.

If you want to run our checkout audit on your own site (we score against the 10-point default-stack and tell you the priority order to fix), email us. Free for the first 50 sites this quarter — same offer that runs on our services page. We also do this work jointly with Bluewich for Shopify and headless implementations and SEO Agency Bangkok for accounts already on retainer with them.

Tags: thai-market checkout-ux payments promptpay line-pay
// RELATED INSIGHTS
// ATTRIBUTION · 2026-04-18

Markov Attribution in BigQuery: A Working Example

Step-by-step Markov-chain attribution in BigQuery SQL.

// EXPERIMENTATION · 2026-03-25

Stop Peeking: Sequential Testing for Real Experimentation

Why fixed-horizon A/B tests inflate FPR by 5-15x.

// ANALYTICS · 2026-02-14

GA4 Server-Side on Cloudflare Workers

~฿8K/mo cost, latency profile, deployment scripts.

// COMPLIANCE · 2025-12-15

PDPA Thailand for Analytics: What You Actually Need

Required vs optional vs overkill. Sample consent strings.

Free checkout audit.

We score your checkout against our 10-point default stack and rank the fixes by expected lift. Free for the first 50 sites this quarter.

Free CRO Audit Call +66 61 093 4014
💬 LINE

Yunmin Agency Network

Bluewich · SitPlay Media · SEO Agency Bangkok · Bangkok Digital

// WEEKLY THAI MARKET INSIGHTS

Get the data we scraped this week.

Rising keywords. SERP shifts. AI citation changes. Bangkok-market specific. No fluff, no sales — one email Tuesday morning.

No spam · Unsubscribe in one click

📱 WhatsApp · 💬 LINE · 📞 +66 61 093 4014

© 2026 · Operated by Yunmin Co., Ltd. · Thai Co. Reg. (pending) · 3rd Floor, 272 Than Thip 3 Alley, Phlabphla, Wang Thonglang, Bangkok 10310

Privacy · Terms · Atelier · umma@xx.gg