GA4 and Search Console Setup: The Minimum Everyone Needs
Events, conversions, UTM tagging, the Search Console link and Consent Mode. A step-by-step setup after which your numbers finally mean something.
The usual picture: GA4 is installed, the traffic chart draws itself, and nobody can answer "how many enquiries did advertising produce last month". The cause is always the same — the tag went in, the events never did. Below is the minimum configuration we deploy on every project: which events to create, how to stop losing sources to broken UTM tags, how to link GA4 with Search Console, and what to do about Consent Mode. Roughly two hours, after which the numbers start meaning something.
2 hrs
to set up GA4 and Search Console properly
6
events cover what most small sites actually need
2 mo
default GA4 data retention before it deletes
30%
of traffic usually hides in (direct) from broken tags
Start with a list of actions, not with a tag
The most common mistake is starting from installation. Start from a sheet of paper: write down every action after which a visitor turns into money. For a service business that is four to six items, and you already know roughly what each is worth.
- Form submission — the primary event for 90% of service sites. Count the successful server response, not the button click: the click also fires when validation fails.
- Phone or messenger tap — a separate event. If half your enquiries arrive by call or chat and you only measure the form, you are looking at half the business.
- Price list or deck download — a micro-conversion. Not a goal, but an excellent signal for a "warm audience" segment.
- Payment or checkout — with the amount attached, otherwise you cannot calculate channel payback.
- Reaching the end of a long page — a content quality signal, useful for a blog and for conversion work, but not a business goal.
Base GA4 setup in five steps
- 1
Create the property and the data stream
One property per business, not per website. If you have a site and a future app, that is two streams inside one property, and the data stitches together on its own.
- 2
Install the tag exactly once
The most frequent breakage we find in audits is a GA4 tag sitting both in the theme code and in Tag Manager. The result: duplicated pageviews, a bounce rate near zero, corrupted history. Pick one place and remove the other.
- 3
Change data retention to 14 months
By default GA4 keeps user and event data for two months, so you will never compare this December with last December — the data is already gone. The setting lives in the admin under data retention. Switch it on day one.
- 4
Exclude internal traffic
Your own visits, contractor visits and admin work easily account for 10–20% of fake traffic on a small site. Add an IP filter, then remember to move it from "testing" to "active" — almost everyone forgets that second step.
- 5
Mark your key events
An event on its own means nothing to the conversion reports. In GA4 you must explicitly mark it as a key event; only then does it appear in attribution reports and become importable into ad platforms.
Events and key events: what to create and what to skip
GA4 collects basic events by itself — pageviews, 90% scroll, outbound clicks. That is enough to see traffic and nowhere near enough to see revenue. Everything else you send yourself.
| Event | What it records | Mark as key event? |
|---|---|---|
| generate_lead | A successful form submission | Yes — the primary goal for most sites |
| contact_click | A tap on phone, email or messenger | Yes, if enquiries bypass the form |
| file_download | Price list or deck download | No — a micro-conversion for segments |
| purchase | A payment with the amount attached | Yes, always with value and currency |
| scroll_75 | Reaching the end of a long page | No — a content quality signal |
The cleanest moment to fire the event is when the server confirms the submission. Always pass an approximate lead value — without it GA4 shows you a count of conversions but never which channel brings the more valuable clients.
// fire on a successful server response, not on the click
gtag('event', 'generate_lead', {
form_id: 'contact_main', // which form, if you have several
lead_type: 'website_project', // request type, for segmentation
value: 1500, // approximate lead value
currency: 'USD',
});UTM tags: why a third of your traffic lives in (direct)
A large direct / none block in the acquisition report almost never means people are typing your domain from memory. It means lost tags: an untagged newsletter link, a jump from a messenger, a redirect that stripped the parameters, a link inside a PDF. Discipline here pays off more than any sophisticated analytics feature.
Rules worth writing down and enforcing
- Lowercase everything. Google treats Facebook and facebook as two different sources, and you get two rows instead of one.
- utm_source is the platform (google, facebook, newsletter); utm_medium is the traffic type (cpc, email, social, referral). Mixing them up breaks default channel grouping permanently.
- Tag every external link: newsletters, email signatures, QR codes on printed material, the link in your profile bio.
- Never put UTM tags on internal links within your own site — it restarts the session and credits your own conversion to a phantom source.
- Keep one shared naming file. Two people without one will produce utm_source=fb, facebook, FB and Facebook_ads inside a month.
https://example.com/services/?utm_source=newsletter&utm_medium=email&utm_campaign=spring_offer&utm_content=button_topSearch Console, the link-up and Consent Mode
GA4 tells you what people did on the site. Search Console tells you which queries put you in front of them and how often they chose not to click. Two halves of one picture: once linked, GA4 gains a report that shows queries alongside on-site behaviour.
- Verify the whole domain, not a single address. A domain property collects http, https, www and every subdomain at once. A URL-prefix property will miss half your data.
- Submit the sitemap immediately. Without it, new pages take weeks rather than days to get indexed.
- Check the indexing report monthly. Pages that dropped out of the index earn zero traffic and Google will not warn you — how to read those reports is covered in our Search Console guide.
- Expect the numbers to disagree. Search Console clicks and GA4 sessions never match: different counting methods and different time zones. Up to 15% divergence is normal; more than that is worth investigating.
Then there is consent. If you have European visitors, your tags need to know what they chose in the cookie banner. Consent Mode handles this by loading the tags either way: before consent they run in a cookieless mode, and after consent they backfill.
// must run BEFORE the GA4 tags load
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
wait_for_update: 500,
});
// after the visitor accepts in the banner
gtag('consent', 'update', { analytics_storage: 'granted' });Analytics without events is a speedometer on an empty tank. The needle moves, but you are not going anywhere.
The last step, which few teams take: follow the lead to the end of the funnel. GA4 sees it up to the form submission; after that it lives in your CRM. Push deal statuses back and "20 enquiries from advertising" becomes "20 enquiries, 3 closed for $4,200". The plumbing is covered in our piece on CRM integration.
Frequently asked questions about analytics setup
Can I skip Google Tag Manager?
Yes, if you have few events and access to the site code — a direct GA4 install is faster and puts fewer scripts on the page. Tag Manager earns its keep once you pass three tags, a marketer manages them without repository access, or you need complex firing conditions. For a site with one contact form it is an extra layer of complexity.
Why do GA4 and my ad account report different conversion counts?
This is normal and nearly always comes down to different attribution models and conversion windows. An ad platform claims a conversion based on a click or view inside its own window, while GA4 spreads credit across the whole path. A 10–30% divergence is not an error; compare trends within each system, not absolute numbers between them.
How many events should I create at the start?
Six to eight is enough for most small sites: form submission, phone tap, messenger tap, file download, checkout start and the payment itself. Every event should answer a specific business question. Thirty events created "just in case" never get opened by anyone.
What if analytics was set up a year ago and nobody trusts it?
Do not try to repair the history — audit the current install instead: check for a duplicated tag, confirm internal traffic is excluded, review which events are marked as key events, and hunt for broken UTM tags. Then fix a date from which data counts as clean and compare only periods after it. Rescuing historical data always costs more than the data is worth.
Does a consent banner reduce the amount of data I get?
Yes — some visitors decline, and their sessions are not fully recorded. With Consent Mode enabled, Google partially models that audience, so overall trends stay readable. The practical takeaway: do not hide the accept button or build a half-screen banner, because the less annoying it is, the higher the consent rate and the more accurate your numbers.
In short
- Start from the list of actions that make money, not from installing code. Six events cover a small business.
- On day one, switch data retention from two months to fourteen and exclude internal traffic — otherwise there will be nothing to compare against a year from now.
- The GA4 tag must exist in exactly one place. A double install corrupts everything and is rarely noticed immediately.
- Disciplined UTM tagging returns the third of your traffic currently sitting in direct.
- Linking Search Console and pushing deal statuses back from your CRM turn enquiry counts into cost per client by channel.
Related reading
Google Search Console: Reading the Reports and Finding Lost Traffic
Search Console is the only source of truth about your search traffic. Almost nobody looks past the first chart.
CRO: Raising Conversion Without Buying More Traffic
Doubling traffic is expensive. Doubling conversion is usually cheaper and faster.
CRM Integration: How Leads Stop Falling Through the Cracks
Leads are not lost by people. They are lost by the absence of a system. Let us build one.