- A working GA4 setup for a small business needs five things: GA4 property, GTM, core conversion events, Google Ads link, and Search Console link. Everything else can wait.
- The most common setup mistake is entering the wrong ID into GTM - only the Measurement ID (G-XXXXXXXXXX) goes into your website code. Property ID and Stream ID do not.
- Tracking page views is not enough. Without conversion events, you have visitor data - not business data.
Why GA4 matters for small business
Universal Analytics is gone. GA4 is what every website runs now. If you run Google Ads, a correctly configured GA4 is not optional. It is the data layer that makes smart bidding work. Without it, your campaigns are bidding blind. Start with this setup guide, then link GA4 to Google Ads, then set up GA4 conversion tracking. In small business audits, I rarely see GA4 fail because it is too advanced. It usually fails because the basics were never verified properly. That distinction matters. Most owners do not need a more complex setup. They need a setup they can trust.
The core issue with most small business accounts is simple: GA4 was often migrated automatically from Universal Analytics, which means old problems carried over, duplicate tags, broken goals, and missing conversion events. In audits, checking what exists is more important than assuming it works (Growth Junction GA4 audit review set, 2020-2026). I see this constantly in small business setups that look "done" on the surface but were never properly verified after migration.
What you actually need to set up
Before touching GTM, understand the three GA4 IDs, they are not interchangeable, and confusing them is the single most common setup error I see in self-managed or half-migrated accounts:
- Property ID (e.g.
123456789) - found in Admin → Property Settings. Used for linking GA4 to Google Ads and Search Console. Does not go in GTM. - Data Stream ID (e.g.
9876543210) - found in Admin → Data Streams → select your stream. Identifies the specific stream within your property. Does not go in GTM. - Measurement ID (e.g.
G-XXXXXXXXXX) - found in Admin → Data Streams → select your stream → Measurement ID. This is the only ID that goes into GTM or your website code. GTM requires the G- format - entering a plain number will silently fail to send data.
A minimum viable GA4 setup includes:
- GA4 property connected to your website via the Measurement ID in GTM
- Google Tag Manager installed and managing the GA4 configuration tag
- Core conversion events: form submissions, phone call clicks, email clicks
- Linked to Google Ads (required for smart bidding to use conversion data)
- Google Search Console linked for organic search data
That's it. You don't need Enhanced Measurement scroll depth events, video plays, or custom dimensions on day one. Get the foundation right first. In audits, overbuilt GA4 setups usually have the same ending as underbuilt ones: the owner still cannot answer which campaigns produced real enquiries.
Step 1 - Create the GA4 property
In Google Analytics, go to Admin → Create → Property. Give it your business name, select your reporting time zone (Europe/Zurich for Swiss businesses) and currency (CHF). Select "Web" when prompted for the platform.
You'll be directed to create a Data Stream. Enter your website URL. Leave Enhanced Measurement on - it tracks some useful automatic events. After saving, you'll see your Measurement ID (G-XXXXXXXXXX) at the top of the stream details page. Copy this - it's the only ID you need for the next step.
Step 2 - Install Google Tag Manager and add the GA4 tag
If GTM isn't installed yet: create a container at tagmanager.google.com, copy the two GTM code snippets, and add them to your website - one in the <head>, one at the top of the <body>. For WordPress, a plugin like WPCode handles this without touching theme files.
In GTM, create a new tag: Tag type → Google Tag. Enter your Measurement ID (G-XXXXXXXXXX). Triggering: All Pages. Save, preview, and confirm that the GA4 tag fires on every page in GTM's preview mode. Then submit and publish.
To verify: open your website in a new browser tab, then check GA4 → Reports → Realtime. You should see yourself as an active user. If nothing appears after 30 seconds, check for a duplicate GA4 tag already hardcoded in the site. This is the most common cause of GA4 not receiving data after a GTM install, especially on WordPress sites where a plugin was left active after GTM was added.
Step 3 - Set up conversion events
Page views are recorded automatically. What you actually need to measure are actions that show business intent: form submissions, phone-call clicks, email clicks, and for e-commerce, purchases.
Contact form submissions (thank-you page method): If your form redirects to a thank-you page after submission, create a GTM trigger for that path and fire a GA4 Event tag with an event name like generate_lead. This is usually the cleanest setup.
Contact form submissions (no thank-you page): If your form uses AJAX and the URL does not change on submission, you need a Form Submission trigger in GTM. Test carefully. In audits, AJAX forms are one of the most common sources of broken conversion tracking because they look fine to the user while the event never fires.
Phone call clicks: Add a Click trigger in GTM that fires when someone clicks a tel: link. Create a GA4 Event tag with an event name like click_to_call. This does not confirm the call was completed, but it is still a useful intent signal.
Once events are recording in GA4, mark them as conversions: Admin → Events → toggle the "Mark as conversion" switch next to generate_lead and click_to_call. Then import them into Google Ads - see the full conversion tracking guide.
Step 4 - Link to Google Ads and Search Console
In GA4, go to Admin → Product Links → Google Ads Links → Link. Select your Google Ads account and confirm. This is a separate step from setting up conversion tracking - the link enables audience sharing and attribution, while the conversion import (done in Google Ads) enables smart bidding signals. Both are required. See the detailed walkthrough in the GA4 to Google Ads linking guide.
For Search Console: Admin → Product Links → Search Console Links → Add link. Select your Search Console property. After 24-48 hours, organic search data (queries, clicks, impressions) will appear in GA4 under Reports → Acquisition → Search Console.
Most common setup mistakes
- Wrong ID in GTM - entering the Property ID (a plain number) instead of the Measurement ID (G-XXXXXXXXXX). GTM appears to save it successfully but sends no data. Always use the G- format.
- Duplicate GA4 tags - a hardcoded GA4 tag in the site plus a GTM-managed tag. Results in doubled pageview counts and unreliable conversion data. Run Tag Assistant to detect duplicates.
- No conversion events - GA4 installed, page views recording, but no events marked as conversions. You have traffic data, not business data. Smart bidding in Google Ads has nothing to optimise toward.
- AJAX form not tracked - the thank-you page method only works if the URL changes. If your contact form submits without a URL change, you need the Form Submission trigger method. Verify by submitting a test enquiry and checking GA4 Realtime → Events immediately after.
- No Google Ads link - GA4 and Google Ads exist independently. Conversion data in GA4 never reaches the bidding algorithm. The link step is separate from conversion tracking setup and is one of the most commonly missed steps.
Setup and migration references: Google Analytics Help Center, 2025-2026. Tag diagnostics: Google Tag Assistant.
Practice context: Growth Junction GA4 setups and audits across Swiss and DACH client accounts (2020-2026).
