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

SEO, speed and analytics

GA4 setup for a small business website, from property to key events

A short, opinionated GA4 setup for a small business site: one tag, consent that respects PDPA, and key events for WhatsApp, LINE, calls and forms.

Cover image for this guide: Analytics

How do you set up GA4 for a small business?

For a small business, a good GA4 setup takes about an hour: create a property with one web data stream, install the tag once, mark the actions that mean an enquiry (form submits, WhatsApp taps, LINE button clicks, phone taps) as key events, connect your cookie banner through Consent Mode, and link Search Console.

After that, GA4 can tell you which channels bring people who actually contact you.

It will not tell you who those people are. GA4 reports on sessions and aggregated users, not names or phone numbers, and with a PDPA cookie banner in place a share of visitors will decline analytics, so totals are always an estimate. Treat it as a compass rather than a till receipt. For a Bangkok clinic or hotel, the useful question is something like "did the Thai-language Google traffic or the Facebook links produce more WhatsApp chats this month", and a clean setup answers that well.

This article is setup only. Which numbers to watch afterwards is covered in our guide to website KPIs, and more guides on SEO, speed and analytics sit in the same category.

Create the property and data stream

Use a Google account owned by the business, such as an admin@ address, not a staff member's personal Gmail. People leave; the account should not leave with them. Add your developer or agency as a user with the access they need.

  1. Step 1

    Create an account

    In Google Analytics, open Admin and create an account named after the company.

  2. Step 2

    Create a property

    Name it after the website, set the reporting time zone to Thailand and the currency to Thai baht so revenue reports match your books.

  3. Step 3

    Add business details

    Pick the industry and size; these only shape the default reports.

  4. Step 4

    Add a web data stream

    Enter the site's https address and a stream name. Leave enhanced measurement on.

  5. Step 5

    Copy the measurement ID

    It starts with G-. You need it for the tag in the next step.

Install the tag once

There are three common ways to put the tag on the site, and each works:

  • Google Tag Manager: one container snippet on the site, then GA4 and any later tags are managed in the Tag Manager interface. Best if you expect to add click tracking or other tools.
  • A plugin: on WordPress, Google's own Site Kit or a reputable analytics plugin inserts the tag for you. Simple, but fewer options for custom events.
  • Theme code: the gtag snippet placed in the site header by your developer. Light and fast, but changes need a developer.

Pick one. A common fault on inherited sites is double tagging: a plugin and a hard-coded snippet both firing, so every page view counts twice and engagement looks oddly perfect. Open the site with the Tag Assistant tool or the Realtime report and confirm one page view arrives per page load. Shopify stores connect GA4 through Shopify's Google and YouTube app rather than pasted code.

What enhanced measurement already tracks

With enhanced measurement switched on in the data stream, GA4 records several actions without any extra code: page views, scrolls to about 90 percent of a page, outbound link clicks, site search, engagement with embedded YouTube videos, file downloads such as a PDF menu or price list, and basic form interactions.

Two cautions. Outbound clicks include taps on wa.me and line.me links, which is handy but not specific enough to treat as enquiries on their own. And the automatic form events fire on many forms that are not really submissions, for example a search box or a newsletter field, so do not mark them as key events without checking. That is why the next step builds dedicated events.

Key events for enquiries

In Thailand, many enquiries never touch a form: people tap WhatsApp, open LINE or call straight from their phone. Track all four routes, name the events clearly, then mark them as key events in Admin so they appear in acquisition reports. In Tag Manager each one is a GA4 event tag fired by a click trigger that matches the link.

  • generate_lead (form submit)Fire on the thank-you page or on the form plugin's success event, never on the button click, so failed submissions do not count.
  • whatsapp_clickTrigger on clicks where the link URL contains wa.me or api.whatsapp.com.
  • line_clickTrigger on clicks where the link URL contains line.me or lin.ee, the formats LINE add-friend buttons use.
  • phone_clickTrigger on clicks where the link URL starts with tel:, which is how a mobile visitor calls from the page.
  • Add a parameter for the pageSend the page location or a button position so you can see whether the header or the pricing section drives more chats.

E-commerce tracking for stores

Stores need the recommended e-commerce events: view_item, add_to_cart, begin_checkout and purchase, with item and value data. Do not hand-build these. On Shopify, the Google and YouTube app sends them. On WooCommerce, use a maintained integration plugin or a Tag Manager data layer set up by your developer.

Test with a real order. Thai stores often take PromptPay by QR or bank transfer where the buyer leaves the site to pay and may never return to the order confirmation page. If purchase fires only on that page, those sales go missing from GA4. Check that the purchase event fires when the order is created or marked paid, and compare a week of GA4 revenue with your store's own sales report. Some gap is normal because of consent and ad blockers; a gap that matches one payment method is a tracking fault.

Thailand's Personal Data Protection Act B.E. 2562 (2019) generally requires consent to collect personal data unless another legal basis applies, and analytics cookies with online identifiers are widely treated as needing it. The practical approach is a cookie banner that asks before analytics runs, with a clear accept and reject choice in Thai and English. This is general information, not legal advice.

Google's Consent Mode connects that banner to your tags. The banner sends a consent state, for example analytics_storage granted or denied, and the tags behave accordingly. There are two ways to run it:

  • Basic: the GA4 tag does not load at all until the visitor accepts. Simple and cautious.
  • Advanced: the tag loads but sends cookieless pings when consent is denied, which Google may use for modelling. Discuss this with whoever advises you on PDPA before choosing it.

Whichever you pick, set the default to denied, and test by rejecting cookies in a private window and confirming no GA4 cookie is written. Cookie consent set up this way is part of our PDPA-compliant website work.

Settings people forget

Filter your own visits

Staff check the site all day. In the data stream settings, define internal traffic by your office IP address, then go to Admin, Data filters, and switch the internal traffic filter from Testing to Active. Filters are not retroactive, so do it early.

Raise data retention

Standard properties keep user-level event data for two months by default. Change it to 14 months under Data collection and modification, Data retention, so year-on-year comparisons in Explorations work. Standard reports are not affected by this setting.

Link Search Console

Under Product links, connect your Search Console property to see which Google queries lead to which landing pages next to your key events. If you have not verified the site yet, follow our Search Console setup guide first. It is also worth running through a technical SEO checklist at the same time, since broken pages and redirects show up in both tools.

Three reports to read each month

  1. Traffic acquisition, with key events added: which channels (organic search, direct, social, referral) produce WhatsApp clicks and form leads, not just visits.
  2. Landing pages: which pages people arrive on and which of those lead to an enquiry. A service page with plenty of visits and no key events needs a clearer next step.
  3. Tech, by device and language: the split between mobile and desktop and between Thai and English browsers, which tells you where to test first when you change the site.

Twenty minutes a month on these three is enough for most small businesses. If organic visits keep growing, the next step for local visibility is LocalBusiness schema markup. If the reports show the site itself is the problem, with slow mobile pages, no clear contact buttons or no Thai version, that is a build question: see how we approach web development for business, or ask for a price for your project.

Who reviewed this guide

Litesh Dhir, co-founder of Website Development Bangkok
Litesh Dhir, Co-founder, SEO and web development

Who builds your site

Litesh Dhir

Builds and ranks the websites: the systems behind the 17 client sites whose Search Console numbers we publish.

More about us

More on SEO and analytics

Sources

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

More about us

Common questions

Is Google Analytics 4 free for small businesses?

Yes. The standard version of GA4 is free and covers everything a small business site needs: traffic sources, key events, e-commerce reports and the Search Console link. The paid tier, Google Analytics 360, is aimed at large organisations with very high data volumes and service-level needs. Your only cost is the time to set it up properly, or a developer's time if you prefer not to do it yourself.

How do I track WhatsApp and LINE button clicks in GA4?

The cleanest way is Google Tag Manager. Create a click trigger for links whose URL contains wa.me for WhatsApp, and line.me or lin.ee for LINE, then a GA4 event tag for each, such as whatsapp_click and line_click. Publish, test in Preview mode, and mark both as key events in GA4 Admin. Enhanced measurement already logs them as outbound clicks, but named events are far easier to report on.

Do I need cookie consent for Google Analytics under PDPA?

In most cases it is the safe approach. Thailand's PDPA generally requires consent for collecting personal data where no other legal basis applies, and analytics cookies with online identifiers are widely treated that way. A banner that asks before analytics loads, with equal accept and reject options, connected to Google's Consent Mode, covers the practical side. For your specific situation, take advice from a qualified PDPA or legal adviser.

Why does GA4 show fewer visitors than my hosting stats?

They count different things. Hosting statistics read server logs, so they include bots, crawlers and every file request. GA4 counts only browsers that run its tag, and it misses visitors who reject cookies on your PDPA banner or use ad blockers. The two numbers will never match. Use GA4 for trends and enquiry sources, and do not worry about the gap unless it suddenly changes.

Should I use Google Tag Manager or a plugin?

If you only want basic page views and the site runs WordPress, a plugin such as Site Kit is fine. If you want WhatsApp, LINE and phone click events, e-commerce tracking or other tags later, Tag Manager is worth the extra hour, because changes no longer need theme edits. Whichever you choose, use only one method, so page views are not counted twice.

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