GA4 Setup Guide for Small Businesses

Google Analytics 4 (GA4) shows what visitors do on your website: where they come from, which pages they open and whether they do something that brings you business, such as sending an enquiry, calling or buying. For a small business, setup comes down to four things: a property, a tag on the site, key events and cookie consent.

An account on its own measures nothing. Until the tag is on the site, reports stay empty. Once it is there, GA4 records only the basics by itself: page views, scrolls, outbound clicks and downloads. It has no idea which enquiry came through your form or which ad brought it until you tell it.

The second reason reports look thin is consent. Under the Serbian Law on Personal Data Protection (Official Gazette RS, No. 87/2018), analytics cookies are set only after the visitor allows them, so part of your traffic will never show up in the numbers. Plan for that gap instead of working around it.

Below is the order we follow: Google Tag Manager, Consent Mode v2 with everything denied by default, a check in DebugView, links to Google Ads and Search Console, and finally tracking for forms, calls and purchases.

IT Expert is a Belgrade team that builds custom websites (Nuxt, Laravel) and runs SEO and Google Ads campaigns. The setup described here is the one running on our own site, itexpert.rs.

Three basics: property, tag and key events

01Property

At analytics.google.com, create an account for the business and a property for the website, with your local time zone and currency. Add a web data stream for your domain and you get a measurement ID that starts with G-.

02Tag

The measurement ID goes on the site through the Google tag (gtag.js) or, easier to change later, through Google Tag Manager. Load it on every public page, but keep it off admin and login pages.

03Key events

Mark the actions that bring you business, such as a sent enquiry or a completed purchase, as key events. In March 2024 Google replaced the old GA4 conversions with this name, and the word conversion now belongs to Google Ads.

04Data retention

Under Admin, Data retention, pick 14 months instead of 2. The setting applies to explorations and funnel reports, while standard reports are not affected by it.

05Enhanced measurement

Switch it on in the data stream settings. GA4 then records scrolls to 90% of the page, outbound clicks, site search, file downloads and form interactions without extra code.

06Internal traffic

Define your office IP addresses as internal traffic and activate the data filter. Otherwise your own visits and tests end up in the reports, which skews a small site noticeably.

How to check that tracking works: DebugView

How to check that tracking works: DebugView

Check your tracking in DebugView before you trust any report. In GA4 it sits under Admin, Data display, DebugView and shows events from your device in real time: the last 60 seconds in the middle column and the last 30 minutes minute by minute.

Turn on debug mode with Tag Assistant (tagassistant.google.com) or GTM preview mode. Open the site through it, accept analytics in the banner and walk through what a customer does: open a service page, send a test enquiry, tap the phone number.

If you do not accept analytics, DebugView stays empty, and that is not a bug: Google states that events do not appear while analytics cookie consent is denied. It doubles as a test of Consent Mode. No events before you accept, events after.

Click each event and check its parameters: does generate_lead carry the form name, does purchase have transaction_id, value and currency. An empty parameter is far easier to fix today than after a month of wrong numbers.

After the check, give the data time to reach the reports. The Realtime report fills within minutes, but Google typically processes daily data for a standard property in about 12 hours, so look at your first full report the next day.

What to track: contact form, call and purchase

01Contact form

Track only successfully sent enquiries as a generate_lead event and mark it as a key event. On our site the event is pushed to the dataLayer only after the server confirms the message arrived, not when the button is clicked.

02Phone call

On a phone, a call starts with a tap on a tel: link. In GTM, create a trigger for link clicks whose URL starts with tel: and send an event such as click_to_call along with the page path.

03Purchase

Send the purchase event from the payment success page with transaction_id, value and currency. On our site card payments go through the Raiffeisen e-commerce gateway, and purchase arrives with the amount in RSD.

04Form, what not to count

Form_submit from enhanced measurement records the browser submitting the form, not the server response. If you have generate_lead, do not mark form_submit as a key event too, or every enquiry counts twice.

05Call, the limit

GA4 sees the tap on the number, not whether a conversation happened. If calls from ads are your main goal, measure them in Google Ads as well and treat the GA4 click as intent.

06Purchase, duplicates

A customer who reloads the confirmation page can trigger purchase again. Send it once per order, always with a unique transaction_id, and confirm in DebugView that it does not repeat.

GA4 setup FAQ

A key event is an action on your site that matters to your business and that you analyze in GA4. Since March 2024, conversion is the name for an action you use to measure and optimize ads in Google Ads. In practice you mark the event as a key event in GA4 and then import it into Google Ads as a conversion.
The Realtime report shows visits within minutes. Google typically processes daily data for a standard property in about 12 hours and notes that this is not a guarantee. Do not compare yesterday with today until processing has finished.
Yes. Analytics cookies are set only after the visitor consents, in line with the Law on Personal Data Protection (Official Gazette RS, No. 87/2018). Consent must be freely given and informed, and the visitor must be able to withdraw it as easily as they gave it. The Commissioner for Information of Public Importance and Personal Data Protection supervises compliance.
Visits from people who reject analytics do not show up as normal sessions. GA4 can model part of the gap only once the site has at least 1,000 events a day with consent denied and at least 1,000 daily users who granted it, for at least 7 days. Small sites rarely get there, so read the numbers as a trend, not an exact visitor count.
Yes, if you want to know where enquiries come from and whether ads pay off. A site that does not advertise can get by with Search Console and one key event for the contact form. GA4 is free, and a basic setup takes a few hours.
A standard property lets you choose 2 or 14 months for user-level and event data. The limit applies to explorations and funnels, while standard reports are not affected. Pick 14 months right away, because deleted history cannot be restored.