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.
- Step 1
Create an account
In Google Analytics, open Admin and create an account named after the company.
- 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.
- Step 3
Add business details
Pick the industry and size; these only shape the default reports.
- Step 4
Add a web data stream
Enter the site's https address and a stream name. Leave enhanced measurement on.
- 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.
Consent Mode and the PDPA cookie banner
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
- Traffic acquisition, with key events added: which channels (organic search, direct, social, referral) produce WhatsApp clicks and form leads, not just visits.
- 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.
- 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

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 usMore on SEO and analytics
Sources
- Google Analytics Help: Set up Analytics for a website
- Google Analytics Help: Key events
- Google Developers: Consent mode overview
- Google Analytics Help: Data retention
- Personal Data Protection Committee (PDPC) Thailand
