Blog
Analytics2026-03-1512 min

The Complete GA4 Setup Guide for B2B SaaS (With Custom Events and Conversions)

GA4's default setup misses 80% of what B2B companies need to track. Here's the custom configuration guide for SaaS analytics.Step-by-step methodology with tool comparisons and integration patterns.

You installed GA4. You see sessions. You see pageviews. You see a bounce rate that somehow went away and came back as "engagement rate." You have no idea which companies are visiting your site, which features they care about, or how many touches it takes before someone books a demo. Welcome to GA4's default B2B experience: a consumer analytics tool wearing an enterprise costume.

The problem is not GA4 itself. It is a powerful platform with event-based tracking, BigQuery integration, and customizable reporting. The problem is that Google built it for e-commerce and media companies. The default setup, the suggested events, the pre-built reports, all of it assumes you are selling products to individual consumers. B2B SaaS companies operate in a fundamentally different reality: long sales cycles, multiple stakeholders, account-level decisions, and product-led growth motions that span weeks or months. Making GA4 work for B2B requires stripping out the consumer defaults and rebuilding the configuration from the ground up.

TL;DR
  • GA4's default configuration misses 80% of what B2B SaaS companies need. Custom events, conversions, and dimensions are mandatory, not optional.
  • B2B tracking requires account-level identity, not just user-level. You need to connect individual sessions to company accounts.
  • Custom events should track the actions that predict pipeline and revenue: demo requests, pricing page engagement, feature exploration, and content consumption patterns.
  • BigQuery export is the single most valuable GA4 feature for B2B. It unlocks analysis that the GA4 interface cannot do.

Why GA4's Defaults Fail B2B

Google Analytics was born in a world where a "conversion" meant someone bought a pair of shoes. The entire architecture reflects this origin. Sessions are the primary unit of analysis. Attribution models are designed for ad-click-to-purchase paths. Default events track things like scroll depth, file downloads, and outbound clicks. These are mildly interesting for B2B, but they miss the events that actually matter: did the visitor look at the pricing page? Did they view a case study for their industry? Did they visit three or more product pages in a single session, signaling active evaluation? Did multiple people from the same company visit within the same week?

The default GA4 reports compound the problem. The "Acquisition" report tells you channels but not companies. The "Engagement" report shows time on page but not content consumption depth. The "Monetization" report assumes e-commerce transactions. None of the built-in reports answer the core B2B questions: which accounts are showing buying intent? What content influences pipeline? How many touchpoints does our average deal require?

80%
of B2B-relevant data
missed by default GA4 setup
14+
touchpoints average
in B2B SaaS buying journey
3-7
stakeholders involved
in typical B2B purchase decision

Based on analysis of 200+ B2B SaaS websites using default GA4 configurations

Step 1: Clean Up the Property Settings

Before adding custom tracking, fix the foundation. Most GA4 properties have misconfigured settings that corrupt data quality from day one. Start by reviewing these critical settings in Admin, then Data Streams, then your web stream.

Data Retention

GA4 defaults to 2 months of data retention for free properties. For B2B companies with sales cycles that span 3 to 6 months, this is catastrophic. You cannot analyze a 90-day buying journey with 60 days of data. Extend retention to 14 months immediately. Go to Admin, then Data Settings, then Data Retention, and change the dropdown. If you are on GA4 360, extend to 50 months. This is the single most impactful one-click change you can make.

Enhanced Measurement

Enhanced Measurement auto-tracks several events. Some are useful, some create noise. Keep page_view, scroll, and site_search enabled. Disable video_start and video_progress unless you have embedded video content. Disable file_download if you want more control over which downloads you track (you should, because not all PDFs are equal). Disable form_interaction entirely; it fires on every form field focus, creating massive event volumes with almost no analytical value. You will build better form tracking with custom events.

Cross-Domain Tracking

If your marketing site and product live on different domains (marketing.yourapp.com and app.yourapp.com), or if you use a third-party scheduling tool (Calendly, Chilipiper), configure cross-domain tracking. Without it, a user who clicks "Book a Demo" and lands on your Calendly page starts a new session. The demo booking appears as a separate, direct-traffic visit with no connection to the marketing session that drove it. Go to Data Streams, then Configure Tag Settings, then Configure Your Domains, and add every domain in your conversion path.

Internal Traffic Filtering
Create an internal traffic filter using your office IP ranges and VPN IPs. B2B companies with small teams disproportionately skew their own data. Ten employees visiting the site daily can represent 20% or more of total traffic for an early-stage SaaS company. In Admin, go to Data Streams, then Configure Tag Settings, then Define Internal Traffic. Define the IP rules, then activate the filter under Data Settings, then Data Filters.

Step 2: Define Your Custom Events

This is where GA4 transforms from a generic tool into a B2B analytics engine. Custom events track the specific actions that signal buying intent, product interest, and conversion readiness. The key is identifying the events that your sales and marketing teams actually need to understand pipeline.

High-Intent Page Views

Not all page views are equal. Someone viewing your blog is researching. Someone viewing your pricing page is evaluating. Someone viewing your case studies page is validating. Create custom events for high-intent pages that go beyond the default page_view event. The simplest approach is using GA4's "create events" feature in the admin panel. Create a new event called pricing_page_view with the condition that the event name equals page_view and the page_location contains "/pricing". Repeat for case_study_view, demo_page_view, and comparison_page_view.

Form Submissions

The default form_interaction event is nearly useless. It fires on field focus, not submission. You need custom events for each meaningful form submission: demo_request_submitted, contact_form_submitted, newsletter_signup, content_download. Implement these through Google Tag Manager by triggering on the form submission event or the thank-you page URL. Include event parameters for the form type, the page where the form was submitted, and (if available without PII concerns) the company domain from the email field.

CTA and Button Clicks

Track clicks on primary conversion buttons separately from general navigation. Create events for cta_click with parameters for button_text, button_location (hero, nav, footer, inline), and destination_url. This data reveals which CTAs actually drive conversions and which are ignored. When you discover that your hero CTA gets 5x more clicks than your nav CTA but the nav CTA converts 3x better, you can make informed decisions about button placement and messaging.

Event NameTriggerKey ParametersB2B Signal
pricing_page_viewURL contains /pricingpage_referrer, session_numberActive evaluation
demo_request_submittedForm submission or thank-you pageform_location, traffic_sourceSales-ready lead
case_study_viewURL contains /case-studiescase_study_industry, case_study_nameSocial proof seeking
content_downloadGated content form submittedcontent_title, content_typeResearch phase
feature_page_viewURL contains /features or /productfeature_name, view_durationFeature evaluation
multi_page_session5+ pages in single sessionpage_count, pages_viewedDeep engagement

Step 3: Set Up Custom Dimensions and Metrics

Custom dimensions are the secret weapon of B2B GA4 setups. They allow you to attach additional context to every event, context that transforms generic analytics into B2B intelligence. GA4 allows up to 50 custom event-scoped dimensions and 25 custom user-scoped dimensions on free properties.

User-Scoped Dimensions

User-scoped dimensions persist across sessions. Once set, they attach to every subsequent event for that user. For B2B, the most valuable user-scoped dimensions are: user_company (set when the user identifies via form submission), user_role (if captured in forms), user_industry, and user_plan_type (set via your product's data layer). These dimensions let you segment all reports by company, role, or plan, turning generic traffic data into account intelligence.

Event-Scoped Dimensions

Event-scoped dimensions apply to individual events. Register the parameters you are sending with your custom events: form_type, button_location, content_title, feature_name, case_study_industry. Go to Admin, then Custom Definitions, then Create Custom Dimensions. Set the scope, choose the event parameter name, and give it a human-readable display name. Without registering parameters as custom dimensions, the data exists in the raw event stream but is invisible in GA4 reports. This is the most common mistake: teams implement event parameters correctly in GTM but never register them in GA4, so the data is collected but cannot be analyzed.

The Registration Trap
GA4 only makes event parameters available in reports after you register them as custom dimensions. Data sent before registration is still collected and appears in BigQuery exports, but it will not appear in the GA4 interface. Register all your custom dimensions before or immediately after implementing the events. If you forget, the GA4 interface will show events without their parameters, making the events nearly useless for analysis.

Step 4: Configure Conversions Properly

GA4 renamed "Goals" to "Conversions" and then renamed them again to "Key Events." Regardless of what Google calls them this quarter, the concept is the same: marking specific events as high-value actions that represent meaningful business outcomes. In B2B SaaS, your key events should map directly to pipeline stages.

B2B Conversion Hierarchy

1
Micro-Conversions

Newsletter signup, content download, blog subscription. These indicate early interest and build your remarketing audience. Track them but do not optimize paid campaigns for them.

2
Engagement Conversions

Pricing page view, multi-page session, case study view, comparison page view. These signal active evaluation and should trigger lead scoring increases and sales alerts.

3
Pipeline Conversions

Demo request, free trial signup, contact sales form submission. These are your primary conversion events. All acquisition reporting and channel optimization should reference these.

4
Revenue Conversions

Paid plan activation, upgrade completed. If you can pass revenue data back to GA4 (via server-side tagging or Measurement Protocol), this enables true ROAS calculation.

To mark an event as a key event, go to Admin, then Events, and toggle the "Mark as key event" switch. Alternatively, go to Admin, then Key Events, and add the event name directly. The critical thing is being selective. If you mark everything as a key event, your conversion reports become as noisy as your event reports. Mark only the events that represent genuine business value. For most B2B SaaS companies, that is three to five events: demo request, trial signup, pricing page view, and possibly contact form and content download.

Step 5: Build Custom Reports That Answer B2B Questions

GA4's default reports are organized around Google's view of what matters. For B2B, you need custom reports organized around your pipeline questions. Build these in the "Explore" section, which offers freeform exploration, funnel exploration, path exploration, and cohort exploration.

The Content Influence Report

This report answers: which content pages appear in the journey of users who eventually convert? Create a freeform exploration. Set the dimension to "Page path and screen class." Set the metric to "Key events." Add a segment for users who triggered your primary conversion event (demo request or trial signup). Now you can see which pages these converters visited before converting. If your comparison page appears in 60% of converting journeys but your product tour page appears in only 10%, you know where to invest content resources.

The Conversion Path Report

B2B buyers do not convert on their first visit. The conversion path report shows how many sessions it takes and which channels appear in the path. Create a freeform exploration with "Session default channel group" as the dimension and "Key events" as the metric. Add a "Session number" dimension to understand the typical conversion session. When you discover that 70% of demo requests happen on session 3 or later, you know that first-visit conversion rate is the wrong metric. Nurture efficiency and return visit rate become the metrics that matter.

The Account Activity Report

If you have set up the user_company custom dimension, you can build an account-level activity report. Create a freeform exploration with "user_company" as the dimension and session count, page views, key events, and engagement rate as metrics. This shows you which companies are most active on your site. Sort by session count to identify accounts with multiple people visiting. This is a lightweight version of account-based analytics that does not require a separate ABM tool.

Connect GA4 data to your full analytics picture

OSCOM pulls GA4, CRM, and product data into a single view so you can see the complete B2B journey from first touch to closed deal.

Connect your data sources

Step 6: Implement Google Tag Manager Properly

Google Tag Manager is the implementation layer between your website and GA4. For B2B companies, GTM is essential because many of the custom events you need cannot be created in the GA4 admin interface alone. You need GTM triggers that fire on specific element clicks, form submissions, scroll depths, and custom data layer pushes from your application code.

The Data Layer

The data layer is a JavaScript object that your website pushes structured data into, which GTM reads and forwards to GA4. For B2B, the data layer should include: the current page type (blog, product, pricing, case-study), the user's authentication state (anonymous, identified, customer), and any available company information. When a user submits a form, push the form details into the data layer rather than relying on GTM to scrape form fields. Data layer pushes are reliable and structured. DOM scraping is fragile and breaks when developers change the HTML.

Essential GTM Tags for B2B

Beyond the base GA4 configuration tag, create separate GA4 Event tags for each custom event. Use trigger groups to combine conditions: fire qualified_session when a user has viewed 3+ pages AND visited the pricing page. Use custom JavaScript variables to calculate derived values: session page count, time since first visit, content category based on URL pattern. These computed events add intelligence that raw event tracking cannot provide.

GTM Debugging
Use GTM's Preview mode religiously during implementation. Every custom event should be tested in Preview mode before publishing. Check that the event name, all parameters, and all custom dimensions appear correctly in the Tag Assistant. Then verify in GA4's DebugView (Admin then DebugView) that events arrive with the correct parameter values. The 30 minutes you spend testing saves the weeks you would spend debugging bad data.

Step 7: Connect BigQuery for Advanced Analysis

BigQuery export is the single feature that separates GA4 from every other free analytics tool. It exports your raw, unaggregated, event-level data to Google BigQuery daily (or in near-real-time on streaming export). Once the data is in BigQuery, you can run SQL queries that are impossible in the GA4 interface. For B2B companies, this unlocks three critical capabilities.

Session Reconstruction

In BigQuery, you can reconstruct complete user sessions and journey paths with SQL. Query all events for a specific user or company, ordered by timestamp, and see the exact sequence of pages they visited, buttons they clicked, and forms they submitted. This level of detail is available in the GA4 interface only through the User Explorer, which is limited and slow. In BigQuery, you can analyze patterns across thousands of users simultaneously.

Multi-Touch Attribution

GA4's built-in attribution models are limited. BigQuery lets you build custom attribution models that match your B2B reality. Assign fractional credit to every touchpoint in the buying journey, weighted by position (first touch gets 40%, last touch gets 40%, middle touches split 20%) or by time decay or by a custom model that reflects your specific sales cycle dynamics. Calculate true cost-per-acquisition by channel including the middle touches that GA4's last-click model ignores.

CRM Data Joining

The most powerful capability: join GA4 event data with your CRM data in BigQuery. Export your HubSpot or Salesforce opportunity data to BigQuery (via Fivetran, Stitch, or custom scripts). Then write SQL that connects website behavior to pipeline outcomes. You can answer questions like: do visitors who read comparison pages generate larger deals? Do visitors who return 5+ times have shorter sales cycles? Does pricing page engagement correlate with close rate? These questions are unanswerable in GA4 alone but trivial in BigQuery with joined data.

Step 8: UTM Parameters and Campaign Tracking

UTM parameters are the bridge between your marketing campaigns and GA4's attribution data. For B2B, disciplined UTM usage is critical because you need to understand which campaigns drive pipeline, not just traffic. The standard five UTM parameters (source, medium, campaign, term, content) should follow a strict naming convention that every marketing team member uses consistently.

B2B UTM Naming Convention

Use lowercase, hyphens instead of spaces, and a consistent hierarchy. For source, use the platform name: linkedin, google, twitter, newsletter. For medium, use the traffic type: cpc, organic-social, email, partner-referral. For campaign, use a structured format: {quarter}-{campaign-name}-{audience}. Example: q2-product-launch-enterprise. For content, differentiate ad creative or email variations: banner-a, text-link, cta-button. Document your convention in a shared spreadsheet and enforce it. One team member using "LinkedIn" instead of "linkedin" creates a separate channel in GA4 that fragments your data permanently.

Insight
The most common B2B UTM mistake is not tagging internal links. When you send email campaigns, every link should have UTMs. When you post on social media, every link should have UTMs. When you share links in Slack communities or partner newsletters, every link should have UTMs. Untagged links default to "direct" traffic in GA4, which inflates your direct channel and makes your marketing attribution incomplete.

Step 9: Server-Side Tagging for Data Quality

Client-side tracking (the default GTM setup) is increasingly unreliable. Ad blockers block GA4 in 30-40% of tech-savvy B2B audiences. Safari's Intelligent Tracking Prevention limits cookie lifetime to 7 days, breaking session stitching for B2B buyers who return over weeks. Server-side tagging addresses both problems by moving the tracking infrastructure from the browser to your own server.

With server-side GTM, the browser sends data to your first-party domain (analytics.yourdomain.com), which then forwards it to GA4. Because the tracking call goes to your own domain, ad blockers do not block it. Because the cookie is set by your first-party domain's server, Safari does not limit its lifetime. The result is 20-40% more complete data, which for B2B companies with tech-savvy audiences can mean the difference between having reliable analytics and having data with massive blind spots.

Setting up server-side tagging requires a Google Cloud project and a server container. Google provides a Cloud Run template that costs approximately $50-100 per month for moderate traffic volumes. The setup takes 2-4 hours for someone familiar with GCP and GTM. The data quality improvement is immediate and significant.

Step 10: Audiences and Remarketing for B2B

GA4 audiences define groups of users based on their behavior. For B2B, audiences should map to buying stages and intent levels. Build audiences that can be shared with Google Ads for remarketing and with other tools via the GA4 API.

Create these B2B-specific audiences in GA4. High intent evaluators: users who viewed the pricing page AND at least one product page in the last 7 days. Active researchers: users who viewed 3 or more blog posts in the last 14 days. Demo page abandoners: users who viewed the demo request page but did not submit the form. Return visitors: users with session count greater than 2 in the last 30 days. Each audience can be used for targeted Google Ads campaigns with messaging that matches their stage. Show product comparison ads to evaluators. Show thought leadership ads to researchers. Show testimonial ads to demo page abandoners.

The Complete Setup Checklist

GA4 B2B Configuration Checklist

1
Foundation (Day 1)

Extend data retention to 14 months. Configure enhanced measurement (disable form_interaction). Set up cross-domain tracking. Create internal traffic filters. Enable Google Signals for cross-device.

2
Events and Dimensions (Days 2-3)

Define and implement custom events via GTM: pricing page view, demo request, CTA clicks, form submissions. Register all event parameters as custom dimensions in GA4.

3
Conversions and Reporting (Day 4)

Mark key events as conversions. Build custom explorations: content influence report, conversion path report, account activity report. Set up UTM naming convention.

4
Advanced (Week 2)

Enable BigQuery export. Set up server-side tagging. Create B2B remarketing audiences. Connect GA4 data to CRM in BigQuery for pipeline attribution.

Maintenance: Keeping Your Setup Healthy

A GA4 setup is not a one-time project. It requires ongoing maintenance to ensure data quality. Monthly, review your key event counts for anomalies. A sudden drop in form submissions might mean a developer broke the GTM trigger. A sudden spike in pageviews might mean a bot is inflating your data. Set up custom alerts in GA4 or use Looker Studio to build automated anomaly detection dashboards.

Quarterly, audit your event taxonomy. As your product and marketing site evolve, new pages and features appear that need tracking. Old events may become irrelevant. Review whether your custom dimensions are still populated correctly. Check that your UTM naming convention is being followed by running a quick query in BigQuery or scanning the campaign report for inconsistently named campaigns.

Annually, reassess your entire measurement strategy. Are the events you are tracking still aligned with business goals? Has your funnel changed? Have new conversion paths emerged that you are not measuring? The companies that get the most value from GA4 are the ones that treat it as a living system, not a set-and-forget installation.

Key Takeaways

  • 1GA4's default setup is built for B2C e-commerce. B2B SaaS companies must rebuild the configuration with custom events, dimensions, and conversions.
  • 2Extend data retention to 14 months immediately. Two-month retention cannot support B2B sales cycle analysis.
  • 3Track high-intent actions as custom events: pricing page views, demo requests, case study views, and multi-page sessions.
  • 4Register all event parameters as custom dimensions. Without registration, the data is collected but invisible in reports.
  • 5Build custom Explorations that answer B2B questions: content influence, conversion paths, and account activity.
  • 6Enable BigQuery export. It unlocks custom attribution models and CRM data joining that the GA4 interface cannot do.
  • 7Server-side tagging recovers 20-40% of data lost to ad blockers and cookie restrictions in tech-savvy B2B audiences.
  • 8UTM discipline is mandatory. One inconsistent tag creates permanent data fragmentation in your channel reports.

B2B analytics configurations that actually drive pipeline

GA4 setups, event taxonomies, and attribution models designed for B2B SaaS. No consumer analytics fluff. Weekly.

GA4 is a free, powerful analytics platform that most B2B companies use at 20% of its potential. The default configuration assumes you are an e-commerce business selling to consumers. Rebuilding it for B2B requires custom events, custom dimensions, proper conversion marking, and BigQuery integration. The setup takes about a week of focused work. The payoff is analytics that actually tell you which companies are evaluating your product, which content influences pipeline, and which channels drive revenue. That is the difference between having GA4 installed and having GA4 working.

Prove what's working and cut what isn't

Oscom connects GA4, Kissmetrics, and your CRM so you can tie every marketing activity to revenue in one dashboard.