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

Web design and UX

Contact form best practices that bring more enquiries and less spam

Ask for less, explain what happens to the data, block spam quietly and store every enquiry so no lead vanishes before it reaches you.

Cover image for this guide: Forms

What does a good contact form do?

A good contact form asks only for what you need to reply, works on a phone with one thumb, tells people how their data will be used, stops bots without blocking humans, and delivers every submission to a place where it cannot be lost.

For most Bangkok businesses that means three to five fields, a short PDPA notice with a link to your privacy policy, invisible spam checks, and a copy of each enquiry saved in the website's database as well as sent by email.

The design side is only half of it. Plenty of forms look fine and still lose leads, because the email silently lands in spam or the mail server stops sending after a hosting change. Styles shift from year to year, and our round-up of web design trends covers the visual side, but the basics below decide whether an enquiry actually reaches you.

Form, WhatsApp or LINE?

In Thailand many customers would rather tap a LINE or WhatsApp button than fill in a form. Chat is fast and personal, and it suits simple questions: "Is there a table for four tonight?", "Do you deliver to Nonthaburi?". A form suits enquiries where you need structured details before you can answer, such as a quote request, a group booking, a property viewing or a corporate order, and it leaves a written record your team can pass around.

Most sites should offer both, side by side, and let the visitor choose. A few rules of thumb:

  • Retail, restaurants, salons: put chat first; keep a short form for people who prefer email.
  • Clinics and hotels: chat for quick questions, a form for bookings that need dates and details.
  • B2B and foreign-run firms: put the form first. Buyers often need to forward the enquiry internally, and procurement teams expect email. Our guide to B2B website lead generation covers request-for-quote forms in detail.

Whichever you lead with, remember that chat enquiries live on someone's phone. If that person leaves, so can the conversation history.

Fields, labels and errors

Every extra field costs you some enquiries, so each one has to earn its place. Name, a way to reply (email or phone) and a message box cover most service businesses. Add a dropdown for the service or a date field only if it changes how you answer. "Company size", "budget" and "how did you hear about us" can usually wait for the first conversation.

  • Three to five fieldsName, reply channel and message first; add more only if it changes your answer.
  • Visible labelsLabels sit above each field and stay visible; placeholder text is not a label.
  • Right input typesEmail and tel input types bring up the right phone keyboard and allow autofill.
  • Flexible phone formatAccept a leading 0, country codes, spaces and dashes; do not reject valid numbers.
  • Clear errorsSay what is wrong next to the field, in plain words, and keep what the visitor typed.
  • Keyboard and screen readerEvery field reachable by Tab, errors announced, focus moved to the first problem.
  • Large tap targetsFields and the submit button are easy to hit on a small phone.

Thai details that trip forms up

Thai mobile numbers are usually written as ten digits starting with 0, while foreign visitors type the Thailand country code or their own. Accept spaces, dashes and plus signs rather than rejecting them. Use one name field instead of forcing "first" and "last", since Thai customers often go by a nickname and foreign names do not always split neatly. On a bilingual site, write labels and error messages natively in each language, not as a Thai line under an English one.

The W3C forms tutorial is a good reference for labels, grouping and error handling that also work with screen readers.

PDPA on your form

A contact form collects personal data, so Thailand's Personal Data Protection Act B.E. 2562 (2019), fully in force since 1 June 2022, applies to it. The Act expects you to tell people what you collect, why, and how long you keep it at or before the point of collection. On a form that usually takes one short line under the submit button, for example: "We use these details to reply to your enquiry. See our privacy policy." with a link to the full notice.

Keep marketing consent separate

Replying to someone who asked you a question is one purpose. Adding them to a newsletter or promotions list is another. If you want marketing permission, ask for it with its own checkbox, unticked by default, and do not make it a condition of sending the form. Record what the person agreed to and when, so you can show it later and honour a withdrawal.

What not to collect

Avoid asking for ID card numbers, dates of birth or health details in a general enquiry form. Clinics in particular should keep medical detail out of the first message and handle it in a proper consultation channel. This article is practical guidance, not legal advice; for your own wording, check the Act and the PDPC's guidance or ask a Thai lawyer.

How do you stop form spam without losing people?

Every public form attracts bots. The aim is to stop them without making a real customer solve a puzzle on a slow phone connection. Layer a few quiet checks first and keep a visible challenge as the last resort.

MethodVisitor effortStopsWatch out for
Honeypot fieldNoneSimple botsHide it properly so screen readers skip it
Time trapNoneScripted submissionsAllow for autofill, which is fast
Rate limitNoneFloods from one sourceShared office or mobile networks
Keyword filterNoneObvious link spamFalse positives on real messages
CAPTCHA serviceLow to mediumMost automated spamThird-party script, data sharing, PDPA notice

A honeypot is a hidden field that people never see but bots fill in. A time trap rejects forms submitted faster than a human could type. Rate limiting caps how many submissions one address can send in a short period. Only if spam still gets through do you add a CAPTCHA service such as Cloudflare Turnstile or Google reCAPTCHA. These work well, but they load a third-party script and send visitor data to that provider, so mention them in your privacy notice and cookie settings.

How do you make sure no enquiry is lost?

The most expensive form problem is invisible: submissions that never arrive. It happens more often than owners expect. A plugin update breaks sending, the hosting company blocks outgoing mail, or messages from the website land in the spam folder because the domain has no sender authentication.

Three safeguards

  • Store every submission in the database. The website should save each enquiry before it tries to email it. If the email fails, the lead is still there in the admin area.
  • Send through an authenticated mail service. Use SMTP or a transactional email service on your own domain, with SPF, DKIM and DMARC email records set up, instead of the server's default mail function.
  • Test every month. Submit the form yourself, in each language, and confirm the message arrives in the right inbox. Put a reminder in the calendar; nobody notices a silent failure otherwise.

Also send the notification to a shared address rather than one person's inbox, so enquiries are not stuck when someone is on leave. When we handle website development for a client, forms are built this way from the start: stored, authenticated and tested before launch.

After the submit

What happens in the second after someone presses send shapes their trust. Show a clear confirmation page, not just a small green line that is easy to miss, and say what happens next in honest terms: "Thank you, we have your message and will reply by email or phone." Do not promise a reply time you cannot keep. A dedicated confirmation page also gives you a simple way to count submissions in your analytics.

An automatic email to the sender, with a copy of what they wrote, reassures them the message went through. Keep it plain and short so it does not look like marketing.

Where forms matter most

Forms rarely live alone. Place a short version where decisions are made: near the end of your homepage layout, on service pages, and as the last stop in the menu, which our guide to website navigation best practices covers. Hospitality shows the range well: a restaurant usually needs only a short reservation form, as our restaurant website guide explains, while hotels need longer enquiry forms for groups and events, as the sites in our guide to hotel website design examples show.

If you are budgeting for a new site, forms and enquiry flows are part of our Business package, from THB 30,000 as an indicative starting price, and our page on website design cost lists what each package includes.

More on web design and UX

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

How many fields should a contact form have?

For most service businesses, three to five fields: name, email or phone, a message, and perhaps a dropdown for the service. Each extra field makes some people give up, so only add one if the answer changes how you reply. Details such as budget or company size can be asked in the first conversation. Quote forms for complex B2B work can be longer, but split them into short steps.

Why do my contact form emails go to spam?

Usually because the website sends mail through the server's default function, from an address your domain has not authorised. Receiving mail systems then treat the message as suspicious. The fix is to send through an authenticated SMTP or transactional email service on your own domain, with SPF, DKIM and DMARC records in place. Also store each submission in the website database, so nothing is lost while you fix delivery.

Does a contact form need a consent checkbox under PDPA?

Not always for the reply itself. What the PDPA does expect is a clear notice of what you collect and why, usually a short line with a link to your privacy policy. If you also want to send marketing, ask for that with a separate, unticked checkbox that is not required to submit the form. For wording specific to your business, check the PDPC's guidance or ask a Thai lawyer.

What is the best way to stop contact form spam?

Start with checks the visitor never sees: a hidden honeypot field, a time trap that rejects instant submissions, and a rate limit per address. Together these stop most automated spam. If a lot still gets through, add a CAPTCHA service such as Cloudflare Turnstile or Google reCAPTCHA, and mention it in your privacy notice, because it loads a third-party script and shares visitor data with that provider.

Should I use a contact form or a WhatsApp button?

Offer both and let visitors choose. Chat buttons suit quick questions and customers who live in LINE or WhatsApp, which is common in Thailand. Forms suit enquiries that need details, such as quotes, group bookings or corporate orders, and they leave a written record the whole team can see. B2B sites usually lead with the form; restaurants and shops usually lead with chat.

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