Google Analytics 4 (GA4) tells you how many people visit your site, where they came from, which pages they read and what they do there. Many small sites collect nothing at all because setup looks technical, or collect junk because the tag was pasted twice or the owner's own visits swamp the numbers. A clean setup takes under an hour and saves months of arguing with bad data.
This guide shows how to set up GA4 for a small business website: create the account, property and web data stream, put the Google tag on every page, confirm that data arrives, and change the first few settings worth touching. It is written for owners and the people who edit their sites, whether the site runs on a website builder, a CMS or hand-written HTML. It does not cover advertising, ecommerce or app tracking, and GA4 will not tell you which search keywords people typed or where you rank. The privacy parts below are not legal advice.
Short answer: To set up GA4, create an account and property at analytics.google.com, add a Web data stream for your site, copy its Measurement ID (starting with G-), install the Google tag once on every page, then check the Realtime report. Data can take up to 30 minutes to appear.
Before you begin
You need a Google Account that your business controls, not a freelancer's personal one, and the ability to edit your website: either a CMS or builder field for an Analytics ID, access to the page templates, or a person who has both. Allow about 45 minutes.
Check first whether any analytics tag already runs on the site. If an agency or an old theme added one, you can end up with two tags counting every visit. View the page source of your home page and search for gtag or googletagmanager. If you want to use Tag Manager instead of pasting code, read the Google Tag Manager setup guide first, because the tag goes in the container, not on the site.
Also decide about consent. Rules about analytics cookies and consent differ by country and region, and a cookie banner may be required where your visitors live. This is not legal advice; see the consent mode guide and ask a qualified adviser about your own situation before you launch tracking.
What is the difference between an account, property and data stream?
GA4 organises data in three layers. Knowing them stops you from creating the wrong thing.
| Layer | What it is | Small business example |
|---|---|---|
| Account | The top level, which holds your properties and data-sharing settings | "Example Bikes Ltd" |
| Property | A collection of data and settings for one site, app or business | "example.com website" |
| Data stream | A source of data feeding the property, such as one website | Web stream for https://example.com |
One account can hold several properties, and one property can hold several streams. A small business with one site normally needs one of each.
Step-by-step instructions
Step 1: Set up GA4 by creating the account and property
Go to analytics.google.com and sign in. If this is your first time, select Start measuring. Otherwise open Admin, select Create, then Account.
- Enter an account name and review the data-sharing settings.
- Select Next to add the first property.
- Enter a property name. Choose the reporting time zone and currency.
- Select Next, then choose your industry category and business size, and select Next again to choose how you plan to use Analytics.
- Select Create, and accept the Terms of Service and Data Processing Amendment if asked.
Choose the time zone carefully. Google says that changing a property's time zone later affects only data collected from that point forward.
What success looks like: A new property exists and the Admin page shows its name.
Step 2: Add a web data stream
In Admin, under Data collection and modification, open Data streams, then select Add stream and Web. Enter your site's address and a stream name. Leave Enhanced measurement turned on (Google recommends it) and select Create stream. Open the stream and copy the Measurement ID under the stream details. It starts with G-.
What success looks like: You have a Measurement ID like G-XXXXXXXXXX written down.
Step 3: Install the Google tag once on every page
Google tag installation depends on your platform:
- Website builder or CMS with an Analytics field: paste the Measurement ID into the field. Google lists Shopify, Wix, Squarespace and WordPress plugins as examples. Do not also paste the snippet.
- Manual installation: in the stream, under Google tag, choose View tag instructions, then Install manually. Copy the full snippet from your own stream and paste it right after the opening
<head>on every page. The shape is below, with a placeholder ID. - Google Tag Manager: add the Google tag in the container instead, as the Tag Manager guide explains.
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
Google's data collection help says not to add more than one Google tag to each page. Copy the snippet from your own stream, because the version Google shows can change.
What success looks like: The page source of your home page contains your Measurement ID exactly once.
Step 4: Check that data arrives
Open your site in a browser, click through two or three pages, and then open Reports, Realtime in GA4. Your visit should appear as active. Google says it can take up to 30 minutes for data to begin appearing in a new property, so wait before you assume it is broken.
For a closer look, use DebugView under Admin, Data display. Google Tag Assistant adds a parameter to your URL that turns on debug mode for your own browser, so your device is easy to find in DebugView. Know the limits: events will not appear if client-side privacy controls block them, or if you use consent mode and the visitor has not agreed to analytics cookies. Realtime and DebugView also do limited attribution, so use the Acquisition reports to see where visitors came from once data has processed.
If nothing shows, check whether the page source contains the tag, whether an ad blocker or a cookie banner stopped it in your test browser, and whether the Measurement ID has a typo.
What success looks like: Realtime shows your own visit within about half an hour.
Step 5: Review Enhanced measurement
Enhanced measurement sends common events without extra code. Per Google's help, it includes page views, scrolls (the first time a visitor reaches the bottom), outbound clicks, site search, video engagement for embedded YouTube videos, file downloads and form interactions. In the stream, the switch turns them all on or off, and the gear icon opens the individual options.
Check three things:
- Site search: GA4 looks for the query parameters
q,s,search,queryandkeywordby default. If your search uses a different parameter, add it in the advanced settings. - Form interactions: the parameters for these events appear in reports only after you create custom dimensions for them.
- Page views: these cannot be turned off.
Google also reminds you that you are responsible for making sure no personally identifiable information is collected.
What success looks like: The stream shows the events you want enabled and no others.
Step 6: Set data retention
In Admin, open Data settings, then Data retention, and set Event data retention. A standard property can keep event data for 2 months or 14 months. This setting affects explorations and funnel reports, not the standard aggregated reports. Shortening it deletes older data during the next monthly cleanup. Choose 14 months if you want a longer look-back in explorations, and make sure your published privacy information matches what you keep.
What success looks like: The setting shows the period you chose.
Step 7: Filter your own visits
Your own browsing inflates a small site's numbers. Mark your office network as internal and exclude it:
- In the web stream, select Configure tag settings, Show more, Define internal traffic, then Create.
- Name the rule and keep the
traffic_typevalue asinternal. Enter your IP address or range using a match type such as equals, or CIDR for a range. - In Admin, under Data collection and modification, open Data filters and select Create filter. Choose Internal Traffic, name it and select Exclude.
- Set the filter state to Testing first. In Testing, matching data is labelled with a dimension so you can check the rule. Switch to Active when you are happy.
Google warns that excluded data is permanently not processed, so you cannot get it back, and a filter can take 24 to 36 hours to take effect. This works for fixed IP addresses; if yours changes often, expect to maintain the rule. Filtering applies to website activity.
What success looks like: After Active and a day or two, your office visits no longer count.
Step 8: Mark what matters and link Search Console
Choose one to three actions that matter to the business, such as a form submission or a phone-number click, and mark those events as key events. Google says any event you collect can become a key event. The key events and conversions guide explains how to do it and how to verify the result. If you promote the site with campaign links, learn tagging in the UTM parameters guide before you send them.
To see which searches brought people to your pages, link Search Console, which the GA4 Search Console integration guide explains. You need a verified Search Console property first.
What success looks like: You can name your key events and know where each is reported.
Keep personal data out of GA4
Google's policy requires that no data be passed to it that Google could use or recognise as personally identifiable information. Common leaks are email addresses in page URLs or titles, personal details typed into search boxes or forms, and personal data in utm_ campaign parameters. Check your site search and contact forms for URLs that include names or email addresses, and fix the cause in the site, not only in GA4. Avoid sending precise location. Google's data redaction setting can remove email addresses and chosen URL parameters from web streams, but treat it as a safety net. Third-party scripts such as chat widgets may add their own tracking, covered in the third-party scripts guide.
Final verification checklist
- The Google Account that owns the property belongs to the business.
- The property has the right reporting time zone and currency.
- A web data stream exists for your real site address.
- The Measurement ID appears exactly once in the page source.
- Realtime shows a test visit.
- Enhanced measurement options are reviewed, including the site search parameter.
- Event data retention is set deliberately.
- An internal traffic rule and filter exist, starting in Testing.
- One to three key events are chosen.
- Nothing personal appears in URLs, titles or campaign tags.
Common mistakes to avoid
- Installing two tags. A builder plugin plus a pasted snippet counts every view twice. Use one method.
- Using a personal or agency Google Account as the only owner. Add a second administrator from your business.
- Setting the wrong time zone. Changing it later only affects new data.
- Skipping the Testing state of a filter. Active filters remove data permanently.
- Putting email addresses in URLs or UTM tags. Redesign the form or link instead.
- Checking Realtime and giving up after five minutes. Wait up to 30 minutes.
- Forgetting consent. Where consent is required, a tag that ignores it can be a legal problem, which is for your adviser to judge.
Frequently asked questions
Who should own the GA4 property?
The business. Create it under a Google Account the business controls and add a second administrator, so a departing freelancer or employee cannot lock you out.
How long does GA4 take to show data?
Google says data can take up to 30 minutes to begin appearing in a new property. Some reports process more slowly than Realtime.
Where do I find my Measurement ID?
In Admin, under Data collection and modification, open Data streams, select your web stream and copy the Measurement ID from the stream details. It starts with G-.
Do I need Google Tag Manager to use GA4?
No. You can paste the Google tag directly or use a CMS field. Tag Manager helps when you expect to add more tags and want versioned changes.
Can GA4 show me the keywords people searched?
Not by itself. For search queries, link Search Console and read its reports.
Does GA4 count every visitor?
No. Analytics records only what its tag can collect. Visitors who block scripts or decline consent may not be counted, so treat the figures as a guide to trends.
Related guides
- Google Tag Manager Setup Guide: Container, GA4 Tag and Safe Publishing
- GA4 Key Events: Track Form Submits, Calls and Purchases
- UTM Parameters: Name Your Campaign Links So GA4 Can Sort Them
- Consent Mode and GA4: Cookie Banner Setup Explained
- GA4 Search Console Integration: Link Data Without Double Counting
Official references
- https://support.google.com/analytics/answer/9304153
- https://support.google.com/analytics/answer/9744165
- https://support.google.com/analytics/answer/9216061
- https://support.google.com/analytics/answer/7667196
- https://support.google.com/analytics/answer/10104470
- https://support.google.com/analytics/answer/7201382
- https://support.google.com/analytics/answer/6366371
Next step: Try the free website sample to see how your own site does on a few of these checks. This guide provides technical information, not a guarantee of rankings, traffic or index inclusion.