Setting Up Web Analytics for Bangkok Businesses
12 May 2026 · by Yunmin Shin
Why Do Bangkok Businesses Underinvest in Analytics?
Many Bangkok business websites launch without a single analytics tool in place. The business has no data on how many people visit, where they come from, what they do on the site, or why they leave without converting — and that gap is invisible until someone asks "is the website even working" and nobody can answer with real numbers.
Without data, marketing decisions are guesswork. With data, you can see that most of your Bangkok visitors arrive from Instagram rather than Google, that a pricing page has a high exit rate, or that mobile users — the majority of Thai web traffic — convert at a noticeably lower rate than desktop users. Each of those is an actionable finding, not a hunch. On a clinic booking site, that might mean the treatment price list scares people off before they reach the booking form; on a restaurant discovery site, it might mean people are viewing a menu but never tapping through to the LINE order link.
What Analytics Tools Should You Use?
Google Analytics 4 (GA4) is the standard and should be on every site. It tracks sessions, users, page views, events, and conversions using an event-based model that replaced the old session-based Universal Analytics approach — worth relearning if your mental model is still from the pre-2023 version.
Install GA4 through Google Tag Manager rather than hardcoding the script directly into your layout. Tag Manager lets a non-developer — a clinic's marketing coordinator, for instance — add or adjust tracking without a code deployment every time.
Vercel Analytics provides privacy-preserving web analytics with no cookies required. It's PDPA-friendly by design and surfaces real Core Web Vitals performance data alongside traffic data. For Next.js projects already deployed on Vercel, enabling it is one line of code and one package install:
// app/layout.tsx
import { Analytics } from "@vercel/analytics/next";
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>
{children}
<Analytics />
</body>
</html>
);
}
Microsoft Clarity is a free session recording and heatmap tool, and it's the one we lean on most for diagnosing why a form isn't converting. It shows exactly how users interact with a page — where they click, how far they scroll, where they rage-click in frustration. On a clinic booking form specifically, Clarity recordings routinely reveal the actual problem: a date picker that's fiddly on a mid-range Android phone, or a required field that isn't obviously required until the form silently refuses to submit.
How Do You Set Up Conversion Tracking?
Define what a "conversion" means for the business before setting up tracking:
- For a Bangkok clinic: a completed booking form submission or a LINE OA chat opened from the booking button
- For a restaurant discovery site: a LINE ordering link click or a "get directions" tap
- For an e-commerce site: a completed purchase through PromptPay or a card gateway
- For a B2B service: a contact form submission or a LINE QR code scan
In GA4, create a custom event for each conversion action, fired through Google Tag Manager when:
- A form is successfully submitted — listen for the success response or confirmation state, not just the form's submit click, or you'll count abandoned submissions as conversions
- The LINE contact or "chat with us" button is clicked
- A PromptPay QR code is displayed at checkout
- A user reaches the order or booking confirmation page
Track LINE contact clicks especially carefully. In Thailand, LINE is often the highest-converting touchpoint on a site — a patient messaging a clinic's LINE OA to ask about a treatment before ever filling out a form — but it's completely invisible to analytics unless you explicitly instrument the click. We treat this as a non-negotiable event on every site we build, because skipping it means the channel that's actually driving business looks like it's doing nothing.
How Should You Separate Traffic Sources That Look Similar?
Facebook and LINE ads are the two dominant paid channels for Bangkok SMEs, and both can arrive looking like generic "social" or "direct" traffic if UTM parameters aren't set consistently. Adopt a fixed UTM convention before launching a campaign — utm_source=line, utm_source=facebook, utm_medium=paid or organic — and apply it to every link the business shares, including the link inside a LINE broadcast message. Without this, a clinic running both a Facebook campaign and a LINE OA broadcast in the same week has no way to tell which one actually drove bookings.
How Do You Comply with Thailand's PDPA?
PDPA requires informed consent before setting analytics cookies. Implement a cookie consent banner that:
- Appears on first visit for users in Thailand
- Explains which cookies are used and for what purpose
- Allows users to accept, reject, or customize consent
- Only fires analytics scripts after consent is granted
In Google Tag Manager, use consent mode to delay GA4 firing until the user consents — GTM will queue the tags and fire them only after an accept event, rather than you having to gate every tag manually. Vercel Analytics and Microsoft Clarity can be configured in cookie-free modes that don't require consent under most interpretations of PDPA, which is useful if you want baseline performance and behavior data even from visitors who decline analytics cookies.
Ready to Build Something Fast?
Get a free quote. We reply within 24 hours.
Ready to build something fast and scalable?
Get a free project quote. We reply within 24 hours.
Get a Free Quote →