Signs your tracking is wrong
GA4 reports more conversions than your CRM has leads. Google Ads says a campaign works, but sales never see those leads. Half your signups show up as “direct”.
Each of these points to the same thing: events that fire twice, never, or without a source. The bidding, the reports and every budget decision are built on that data.
GA4 key events that matter for B2B
A B2B site needs only a few key events: a form submitted, a demo booked, a qualified call or chat. Page views, scrolls and file downloads are useful signals, but they shouldn’t count as conversions.
When everything is a key event, nothing is. The audit trims the list to what sales actually cares about, and makes sure each one fires once.
A clean Tag Manager container
Containers grow for years: agency tags nobody owns, three copies of the same pixel, triggers that fire on every click. Each one slows the page and skews a number somewhere.
I document every tag, remove what’s dead, and leave a container your team can read: clear names, one folder per tool, and notes on why each trigger exists.
Cross-domain, UTMs and the app signup
The moment a visitor jumps from your site to an app, a booking tool or a checkout on another domain, the source is often lost. In GA4 they turn into a new user from “direct”.
Cross-domain measurement, consistent UTMs and passing the source into hidden form fields keep the whole journey connected, all the way into the CRM.
When server-side tagging is worth it
Ad blockers and browser restrictions drop a growing share of client-side events. Server-side tagging sends them from your own domain instead, so fewer are lost.
It’s worth it when paid ads are a big share of your leads, or when you need first-party data for offline conversions. For a small site, a clean client-side setup is enough.