GA4 Setup: A Practical Walkthrough for Operators
Christoph Olivier · Founder, CO Consulting
Growth consultant for 7-figure service businesses · 200M+ organic views generated for clients · Updated May 3, 2026
Google Analytics 4 rolled out in 2020. It’s now mandatory. Universal Analytics — the version most of us learned — is officially retired. If you’re still using it, you’re flying blind. GA4 is different: it’s event-based instead of pageview-based, it tracks across devices, and it speaks the language of conversions instead of sessions. But different also means harder to set up correctly.
The gap between ‘GA4 is installed’ and ‘GA4 is useful’ is massive. We’ve audited GA4 setups for 50+ 7-figure service businesses. In our experience, 9 out of 10 have the base pixel firing but zero insight into which marketing channel produced revenue. They can see traffic. They can’t see ROI.
This walkthrough is for operators running paid ads or content marketing who need to measure impact on revenue. We’ll skip the philosophical debate about GA4 vs. alternatives and go straight to the moves: how to structure your properties, define your conversion events, connect your CRM, and set up attribution so you know which channel drove your best deals.
If you follow this guide, you’ll have GA4 configured in under 2 hours and reporting on revenue impact within a week. Let’s build this out.
“GA4 doesn’t fail to install. It fails because you didn’t define what success looks like before you started configuring.”
TL;DR — the 60-second brief
- GA4 isn’t optional. If you’re running paid ads or measuring marketing ROI, you need it. Universal Analytics is dead.
- Most GA4 setups fail silently. The platform installs fine, but 60% of businesses never configure events properly — so they can’t track conversions or revenue.
- You need to define your ICP and conversion path first. The configuration should flow from your strategy, not the other way around.
- Revenue attribution requires intentional setup. GA4’s default attribution model doesn’t show which channel drove your highest-value clients — you have to build that.
- This walkthrough assumes you’re running paid campaigns and need to prove ROAS. We’ll show you the exact steps CO Consulting uses to set up GA4 for performance-driven businesses.
Key Takeaways
- GA4 requires intentional event setup — the default configuration won’t track revenue or meaningful conversions
- You need a clear conversion funnel defined before you configure anything: awareness → lead → SQL → customer
- Custom events (not just built-ins) are how you track business outcomes like qualified lead status or deal close
- Revenue attribution requires connecting GA4 to your CRM or using GA4’s conversion value feature with transactional data
- Most 7-figure service businesses should use a custom or time-decay attribution model, not GA4’s default
- Test your setup end-to-end: fire an event from your landing page, verify it appears in GA4 within 24 hours
- The difference between ‘installed’ and ‘useful’ is usually 2-3 hours of configuration work — it’s worth the time
Why GA4 Matters for Revenue-Driven Businesses
Universal Analytics tracked sessions. GA4 tracks users and their actions. The shift sounds subtle. It’s not. In Universal Analytics, a user who visited your site on mobile, then desktop, then in an app was three different sessions. GA4 stitches those together into one user journey — because that’s what actually happened. For businesses running paid ads across channels, this matters: you get a clearer picture of the path to a sale.
GA4 is built on events, not pageviews. Every action — a page load, a button click, a video view, a form submission, a Stripe payment — is an event. You define what events mean to your business. This lets you track not just traffic, but behavior: who watches your 10-minute explainer video, who returns to pricing, who books a call. Universal Analytics couldn’t do this without custom code.
For 7-figure service businesses, the ROI of getting GA4 right is asymmetric. When you’re spending $50K/month on paid ads, knowing that LinkedIn drives 3:1 ROAS while Facebook drives 1.2:1 ROAS is worth six figures in reallocated budget. GA4 gives you that. But only if you set it up correctly.
The Anatomy of a GA4 Property: Properties, Data Streams, and Events
A GA4 property is a container. Everything lives in it. You can have multiple properties (e.g., one for your web property, one for your app, one for testing). Most 7-figure service businesses need one property with multiple data streams — one for your main website, maybe one for your product or client portal, maybe one for your docs site.
A data stream is how you send data to that property. For a website, you install the GA4 measurement ID (it looks like G-XXXXXXXXXX) via Google Tag Manager, a script tag, or a Shopify/WordPress plugin. The data stream is your pipeline. If you have a mobile app, that’s a separate data stream but same property.
Events are the atoms of GA4. Everything is an event. GA4 has built-in events like page_view, scroll, click, and form_submit. But these alone won’t tell you if a form submission was a qualified lead or a tire-kicker. You define custom events — like qualified_lead_generated or demo_booked — that map to your business reality.
Parameters add context to events. An event like qualified_lead_generated is more useful with parameters: lead_source (organic vs. paid), lead_quality (hot vs. warm), client_fit (ideal customer profile match: yes/no). These let you slice and dice your data later.
| GA4 Component | What It Is | Example |
|---|---|---|
| Property | Top-level container for all data | Your main website property |
| Data Stream | How data flows into the property | Google Tag Manager or direct web stream |
| Event | An action a user takes | page_view, form_submit, qualified_lead_generated |
| Parameter | Context attached to an event | lead_source: paid_search, lead_quality: hot |
| User ID | Persistent identifier across devices | Your CRM contact ID (if shared with GA4) |
| Conversion | Event marked as valuable to your business | qualified_lead_generated marked as conversion |
Step 1: Create Your Property and Install the Measurement ID
Go to Google Analytics. Click Admin (bottom left). Under Account, click Create Account. Name it something clear: [YourCompany] GA4. Account settings are mostly fine as-is. Move to the property step.
Under Property, create a new GA4 property and name it [YourCompany] Web. This is the container for your website data. Set your reporting timezone to your company’s timezone (not UTC — you’ll misread data). Set currency to USD or your local currency.
On the data stream creation screen, select Web and enter your domain. GA4 will generate a measurement ID (G-XXXXXXXXXX) and a GTM container ID if you use Google Tag Manager. Copy the measurement ID. If you use GTM, copy that too.
Install the measurement ID on your website. If you use WordPress, install MonsterInsights or a similar GA4 plugin and paste the measurement ID. If you use Webflow, Squarespace, or similar, look for the GA4 integration in settings. If you use a custom site, paste the GA4 snippet in the
tag before closing . If you use GTM, we’ll cover that next.Wait 24 hours, then verify the install. Go to Admin → Property → Data Streams → Your Web Stream → Measurement Protocol. If you see real-time events coming in (not just your own traffic), the install worked. If you see zero events, check that the measurement ID is correct and the script fired on page load.
Need Help Translating GA4 Into Revenue?
GA4 is configured. But can you actually read it? Most 7-figure service businesses can see traffic — they can’t see ROI. If your GA4 is live but your attribution is fuzzy, your conversion events aren’t built right, or you’re not sure which paid channel is actually profitable, we can audit your setup and build a dashboard that shows channel ROAS in under 2 weeks.
Book a Free ConsultationStep 2: Define Your Conversion Funnel (Before You Configure Events)
Stop. Don’t configure events yet. GA4 will let you. Don’t. The most common GA4 failure we see is someone installing the pixel, marking page_view as a conversion, and calling it done. They then spend months wondering why they can’t measure ROI. The reason: they never defined what a conversion actually is.
Your conversion funnel should map to how you actually do business. For a sales consulting firm: awareness (ad impression) → consideration (whitepaper download) → intent (demo request) → decision (qualified lead) → close (customer). For a coaching business: awareness → consideration (freebie opt-in) → intent (call booked) → decision (purchase). For a capital raising advisory: awareness → consideration (discovery call) → intent (engagement proposal) → decision (retainer signed).
Write this down. Literally: open a doc and map your funnel. Every stage should have a triggering event or condition. If your stage is ‘qualified lead,’ what makes someone qualified? Did they book a call? Did your sales team mark them as qualified in Salesforce? Did they meet your ICP? Define it before you build the event.
Most 7-figure service businesses should track at least four conversion stages. Top of funnel: website visitor. Middle of funnel: lead (form submission or download). Bottom of funnel: qualified lead (sales team engagement). Revenue: customer. Some businesses add opportunity (proposal sent) or closed deal (contract signed). Don’t over-engineer it — if you can’t act on the data, you don’t need the event.
- Stage 1 (Awareness): Visit website / View ad
- Stage 2 (Consideration): Download resource / Watch video
- Stage 3 (Intent): Request demo / Book call
- Stage 4 (Decision): Marked as qualified lead in CRM
- Stage 5 (Revenue): Became a customer / Contract signed
Step 3: Set Up Custom Events to Match Your Funnel
GA4’s built-in events (page_view, scroll, click) are a start. They’re not enough. You need custom events that map to business outcomes. If your stage is ‘qualified lead,’ GA4 doesn’t know what that means — you have to teach it.
Custom events are created via Google Tag Manager or direct event firing. If you use GTM (recommended for most businesses): create a trigger (when something happens on your site), then a tag (send this event to GA4). If you code custom events: use the GA4 event library and fire them directly. We’ll show both.
For most service businesses, here’s the core event stack you should track. Build these as custom events: page_visit (with utm parameters), form_view (which form?), form_submit (which form?), demo_request, demo_completed, qualified_lead_marked, proposal_sent, customer_won. Each event should have 2-4 parameters (source, quality, deal_size, etc.).
Use Google Tag Manager to build events without touching code. Install the GTM container on your site. Go to Tags → New Tag → Google Analytics 4 Event. Name it (e.g., ‘GA4 – Qualified Lead’). Set the measurement ID. Set the event name (qualified_lead). Add parameters if needed (lead_source: organic, lead_quality: hot). Set a trigger (e.g., when a form with a specific ID is submitted). Save and publish. Test with the preview mode to confirm the event fires.
- page_visit (capture utm_source, utm_medium, utm_campaign)
- demo_request (capture source and booking tool)
- form_submit (capture form ID and form type)
- qualified_lead (capture lead source and quality score)
- proposal_sent (capture deal size estimate)
- customer_won (capture annual contract value)
Step 4: Configure Conversion Goals (Mark Events as Conversions)
An event only becomes a conversion if you tell GA4 it matters. Go to Admin → Property → Conversions. Click Create Conversion Event. Select the event you want to mark as a conversion (e.g., qualified_lead). Check the box. Save. That’s it.
Not every event should be a conversion. Too many conversions means you can’t see signal through noise. If you mark page_view as a conversion, you’re just tracking traffic. Mark events that represent real business value: demo_request, qualified_lead, customer_won. If you have dozens of events, you need to roll up the low-value ones.
In our experience, most 7-figure service businesses should track 3-5 primary conversions. For a sales advisory firm: primary conversion = qualified lead (SQL). Secondary conversion = demo scheduled. Tertiary conversion = proposal sent. For a capital raising firm: primary = discovery call booked. Secondary = engagement proposal sent. Tertiary = retainer signed. Don’t track everything — track what you act on.
You can also assign conversion value to events. If a customer_won event happens, GA4 can assign a value (e.g., $10,000 average deal size). This lets you measure revenue impact, not just lead count. More on this in the next section.
Step 5: Connect GA4 to Your CRM (For Revenue Attribution)
GA4 alone can’t tell you if a lead became a customer. GA4 lives in your marketing analytics. Your CRM lives in your sales data. The gap between them is where the real insight lives: which marketing channel produced customers, not just leads? That’s a CRM + GA4 connection.
There are three ways to do this: GA4’s Conversions API, native integrations, or a Zapier middleman. Option 1: If your CRM has a native GA4 integration (HubSpot, Salesforce), use it. GA4 data flows into your CRM automatically. Option 2: Use GA4’s Conversions API — you send customer events from your CRM back to GA4 (e.g., ‘this lead became a customer’). Option 3: Use Zapier to watch your CRM for new customers, then fire a custom event to GA4. We usually recommend Option 1 or 2.
Here’s the specific setup for HubSpot (the most common case). In HubSpot, go to Settings → Integrations → Google Analytics 4. Authorize the connection. HubSpot will now push contact data to GA4. In GA4 Admin → Data Sources → Google Analytics 4 → Integrations, enable the HubSpot data source. This lets you build audiences based on HubSpot data (e.g., ‘contacts with stage = customer’) and measure how paid ads drove those contacts.
Once connected, you can use GA4’s conversion value to assign deal size. In GA4, go to Admin → Events → Edit ‘customer_won’. Under Conversion Value, enable it. Then in HubSpot, add a custom property (e.g., acv_usd) and map it to GA4’s conversion_value parameter. Now when a contact becomes a customer with $25K ACV, GA4 sees a $25K conversion — not just a lead count.
Step 6: Set Up Attribution Models (To Answer: Which Channel Drove Revenue?)
GA4’s default attribution model is last-click. That’s usually wrong. Last-click means: if a user saw a Facebook ad 6 months ago, then clicked a Google search ad yesterday, then bought — Google search gets 100% credit. But the Facebook ad started the journey. Most B2B service businesses have long, multi-touch sales cycles. Last-click will tell you to cut Facebook and go all-in on search. That’s often a trap.
GA4 lets you run multiple attribution models in parallel. Go to Admin → Property → Attribution Settings. GA4 will show you last-click (default), first-click, linear, time-decay, and your custom model all at once. You don’t have to choose one — you look at all of them and make an informed call.
For 7-figure service businesses with 3-6 month sales cycles, time-decay is usually best. Time-decay gives more credit to recent touchpoints, but acknowledges that earlier touches matter. This reflects reality: Facebook might have opened the door, but the Google search that happened last week closed it. Time-decay splits credit accordingly.
For shorter sales cycles (2-4 weeks), linear attribution is simpler. Linear gives equal credit to every touchpoint in the path. If a user saw 3 ads before buying, each gets 33% credit. It’s less realistic but easier to communicate to stakeholders.
Run the attribution analysis in Reports → Life Cycle → Acquisition. You’ll see the same conversion with different attribution models side by side. Which model makes your actual sales cycle look like? Use that one. Don’t use last-click unless you actually have a 1-step sales funnel.
Step 7: Build Your First Report (Measure Channel ROAS)
Once GA4 is configured, you’ll want to know: which channel drove the most valuable leads? Go to Reports → Life Cycle → Acquisition. You’ll see sessions, users, and conversions broken down by primary channel: organic search, paid search, social, direct, email, etc. This is your baseline.
To measure ROAS (revenue per ad dollar spent), you need to layer in cost data. Go to Admin → Property → Data Sources → Google Ads (or Facebook, LinkedIn, etc.). Connect your ad platform. GA4 will import spend data automatically. Once imported, go back to your Acquisition report. You’ll now see cost per acquisition alongside your conversion count.
Build a custom report to surface what matters: ROAS by channel. Go to Explore (custom report builder). Rows: primary_channel. Columns: conversions, conversion_value (if you’ve set it up), user_acquisition_cost (calculated from spend / users), conversion_value / cost (ROAS). Set date range to the last 90 days. Filter to paid channels only. This shows you exactly which paid channels are profitable and which are burning cash.
A practical example from our work: a sales advisory firm found that LinkedIn was driving 4:1 ROAS while Facebook was 0.8:1. They’d been splitting budget 50/50. By month 2 of our engagement, they’d reallocated to 80% LinkedIn / 20% Facebook (testing). By month 6, they’d cut Facebook entirely and 3x’d LinkedIn budget. One report made that move possible.
Common GA4 Setup Mistakes (And How to Fix Them)
Mistake 1: Tracking page_view as a conversion. Page views aren’t conversions — they’re traffic. If you mark page_view as a conversion, your conversion count becomes meaningless noise. You’ll think you got 50,000 conversions when you actually got 50,000 visitors. Fix: only mark events that represent business value (demo_request, qualified_lead, customer_won) as conversions.
Mistake 2: Not passing UTM parameters through your entire funnel. If you run a Facebook ad to a landing page, but the landing page form doesn’t pass the utm_source=facebook parameter, you’ll lose attribution. The form submission will look like organic traffic. Fix: use a marketing attribution tool (like Ruler Analytics or Northbeam) or ensure your landing page platform (ConvertKit, Unbounce, Leadpages) preserves UTM params.
Mistake 3: Using GA4’s default conversion window (90 days). GA4 only counts a conversion if it happens within 90 days of the ad click. If your sales cycle is 6 months, that lead will never get attributed. Fix: go to Admin → Data Collection → More Settings → Data-driven Attribution. Change the conversion window to match your actual sales cycle (usually 120-180 days for service businesses).
Mistake 4: Not testing your setup before going live with paid spend. We see this constantly: someone sets up GA4, launches a $5K/month ad campaign, and realizes after 3 weeks that the conversion event isn’t firing. They’ve lost 3 weeks of data. Fix: before you spend money, fire a test event manually and verify it appears in GA4 (go to Real-Time → Events). Then run a small $500 test campaign and confirm the conversion funnel works end-to-end.
Mistake 5: Mixing website traffic with app traffic in one property without filtering. If you have a web app and a mobile app, GA4 will blend their data. You’ll see inflated page view counts and confused funnel metrics. Fix: use data filters in GA4 (Admin → Data Streams → Filters) to separate app traffic from web traffic, or create separate properties for each.
Conclusion
GA4 done right is a flywheel: better tracking → clearer attribution → smarter budget decisions → higher ROAS → faster growth. Most 7-figure service businesses get stuck at step 1. They install GA4, see traffic, and call it done. The businesses that grow 2-3x faster are the ones who push past that and build attribution: they know which channel produces qualified leads, which produces customers, and what the payback period is. This guide gives you that capability. The rest is discipline: run the reports monthly, reallocate budget to what works, cut what doesn’t. The system is built. Now use it.
Frequently Asked Questions
How long does GA4 take to start showing data?
GA4 shows real-time data immediately after install, but historical reporting takes 24-48 hours. If you set up custom events, they’ll appear in GA4’s event debugger instantly, but reports will take 24 hours to populate. Always wait 48 hours before drawing conclusions.
Do I need Google Tag Manager to use GA4?
No, but it makes your life easier. You can install GA4 directly via script tag or a plugin. But if you want to track custom events, measure form submissions, or adjust tracking without touching code, GTM is much cleaner. Most businesses with more than 3 custom events should use it.
What’s the difference between a session and a user in GA4?
A user is a person. A session is a period of activity within a time window (typically 30 minutes of inactivity breaks the session). If you visit a site at 9 AM, leave, and come back at 10 AM, that’s one user, two sessions. GA4 tracks both — users matter more for understanding reach, sessions matter for understanding engagement depth.
Can I see which specific people (by name) are converting in GA4?
Not without User-ID tracking. By default, GA4 anonymizes users. But if you enable User-ID tracking and pass your CRM contact ID to GA4 (via GTM), you can see which specific contacts engaged with your site and what they did. This requires GA4 configuration + CRM integration. Most service businesses skip this and rely on conversion counts — it’s enough.
How do I set a conversion value in GA4 without a transaction?
Use the conversion_value parameter when you fire an event. In GTM, when you fire a qualified_lead event, add a parameter: conversion_value = 5000 (your average deal size estimate). GA4 will treat that event as a $5,000 conversion. When your CRM confirms a customer, you can override it with the actual ACV via Conversions API.
What’s the difference between GA4 and Google Analytics 4 360?
GA4 360 is the paid tier ($50K+/year). GA4 is the free version. For most 7-figure service businesses, GA4 free is enough. You get 1-day data retention (vs. 4-month in 360) and no direct support — but reporting is the same. Only upgrade to 360 if you hit 1M+ events/day or need dedicated support.
Can I use GA4 to track email opens and clicks?
Not natively. GA4 sits on your website. But you can tie email clicks back to GA4 using UTM parameters. When someone clicks an email link, add ?utm_source=email&utm_medium=newsletter&utm_campaign=[name]. GA4 will track them as coming from email. For email opens (no click), you need a separate tool like Klaviyo or Mailchimp with GA4 integration.
Should I track every form submission, or only qualified ones?
Track every form submission as one event. But add a parameter for form_type (demo_request, newsletter_signup, contact_form, etc.). This way you can see all form activity in GA4, then filter by type in reports. If you only track ‘qualified’ submissions, you’ll miss early-stage leads. Qualification happens in your CRM, not your GA4 event.
What happens if someone visits via direct (no UTM params) — will GA4 track them?
Yes. GA4 will show them as ‘direct’ traffic. But you won’t know where they came from. If your site gets a lot of direct traffic, investigate: they could be return visitors, people who typed your URL, or clicks from places that strip UTM params (like LinkedIn). Use GA4’s audience builder to create a segment of direct users and spot-check where they actually came from.
How is CO Consulting’s approach to GA4 different from standard setup?
We start with your business model and sales cycle before we touch GA4. Most consultants build GA4 around GA4’s defaults. We build it around your revenue. If you have a 6-month sales cycle, we set up events at every stage that matters — discovery call, proposal sent, contract signed — and use attribution models that reflect that reality, not GA4’s out-of-the-box assumptions. Then we connect GA4 to your CRM so you see which channels actually drove customers, not just leads. The result: one report that shows ROAS by channel, which you use to reallocate budget monthly. That’s the difference between ‘installed’ and ‘useful.’
Related Guide: Performance-Driven Paid Advertising — Why GA4 setup matters: you can’t optimize paid campaigns without accurate ROAS measurement.
Related Guide: Funnels & Automations — GA4 events fire when people move through your funnel. Build the funnel first, then measure it.
Related Guide: Growth Consulting — GA4 attribution is step 2. Step 1 is strategy. Our growth consulting includes proper GA4 setup.
Related Guide: Content Marketing — How to measure which content pieces drive conversions — requires GA4 event setup.
Related Guide: Case Studies — See how businesses used better GA4 setup to reallocate budget and hit 3x growth.
Ready to scale your revenue?
Book a free 30-min consultation. We’ll diagnose your growth bottleneck and map out the 3 highest-leverage moves for your business.
Services · About · Case Studies · Book a Call