GA4 does a good job counting traffic, on-site behavior, and form conversions. But it does not know which form submitters became clients, how much each closed contract cost per channel, or what happened in the 90 days before a deal closed. For a B2B team with a sales cycle of 2 weeks to 3 months, this means the biggest budget decisions are made on incomplete data.
Prooflytics closes this gap: it connects ad platform data and GA4 with the CRM funnel and delivers real CAC per channel instead of cost per lead.
As of June 2026, Google left only two attribution models in GA4 - last-click and data-driven. Linear, time-decay, and position-based were removed back in November 2023. For a B2B marketer with a long cycle, this means: all attribution either credits the last click, or hands it to an algorithm running on aggregated patterns that knows nothing about your specific funnel. This article breaks down exactly where GA4 ends for B2B - and what Prooflytics adds.
What GA4 does well
Honest answer: a lot. GA4 is a mature tool and for most web analytics tasks it is sufficient.
GA4 reliably shows:
- Traffic by source - where users come from, how they behave by channel, bounce rate and session depth
- On-site behavior - user paths, page funnels, scroll events, button clicks
- On-site conversions - form fills, CTA clicks, sign-ups, demo requests - anything that ends with an on-site event
- Google ad platform connection - end-to-end data flow between GA4 and Google Ads works without custom development
- Remarketing audiences - GA4 builds audiences from behavioral data and pushes them to ad platforms
If you are B2C with a short decision cycle, GA4 covers 80-90% of analytics needs. For SaaS with a fast trial-to-paid cycle it also works well with proper event setup. The problem is not that GA4 is a bad tool - the problem is that it has a structural boundary it does not cross.
Where GA4 ends for B2B
A B2B funnel differs from B2C in three ways: long deal cycle, multiple stakeholders in the buying decision, and the final decision made offline or inside a CRM. GA4 is designed around the user session - and that is exactly where the limitations begin.
No connection to CRM deals
GA4 sees users on the website. CRM sees deals and contacts. There is no native bridge between them.
When a lead submits a form on the site, GA4 records the conversion. What happens next - whether the lead qualified, made it to a demo, closed as an $8,000 deal, or dropped off on the first call - GA4 does not know. In its reports, all submitted forms look equally successful.
The practical consequence: you see that a campaign brought 40 leads at $120 CPL. But if 38 of them failed qualification, the real cost per closed deal for that campaign is $4,800. Optimizing budget by CPL in this situation means systematically funding expensive channels that look good in GA4.
Offline conversions require manual import
Technically GA4 has a mechanism for offline data - Measurement Protocol. But using it requires custom development: you write server-side code that sends events to GA4 with a client_id or session_id that must be saved in advance. Events can only be backdated within a 72-hour window. For a B2B deal that closes 6 weeks later, this is not a workable option.
The alternative - offline import via Data Import - but GA4 does not natively tie uploaded data to a specific user session. The result: closed deal data in GA4 is either missing or requires constant manual work that few teams sustain systematically.
90-day lookback window
Lookback window is the period GA4 looks back over when attributing a conversion. The default for most events is 90 days. The first-visit window is limited to 30 days.
For companies with a 4-6 month sales cycle this is a hard constraint. A contact who came through an ad in January and closed as a client in April - GA4 will not connect that deal to the original click. The channel that actually started the cycle gets zero attribution.
There are unofficial ways to extend the window through BigQuery Export and raw data processing - but that is custom analytics, not a built-in GA4 feature.
Session model vs real user journey
GA4 builds attribution around sessions from a single user in a single browser. B2B purchasing works differently.
A typical scenario: a VP of Marketing finds you through Google Search, opens the site on a work laptop, closes the tab. A week later their assistant opens the site from a direct link on a different work computer. Two weeks after that the CFO visits from a phone via a LinkedIn link. The final decision is made in a meeting, after which an SDR submits a form from a corporate computer.
GA4 sees four independent users. The last click is direct. All the contribution from Google Search and LinkedIn is lost.
In B2B with multiple stakeholders, cross-device and cross-user paths are the norm, not the exception. GA4’s session model is not designed for this scenario.
No CAC per closed deal
GA4’s gross-level metrics are enough for evaluating traffic. But a B2B company’s marketing budget should be optimized by cost per closed deal - and that metric GA4 cannot provide.
CAC per channel requires joining three sources: ad platform spend, user session data, and the fact of a closed deal in CRM. GA4 is not the central point for this connection - it only covers the middle layer.
What Prooflytics adds
Prooflytics works on a closed-loop attribution model: it connects ad platform data (Meta Ads, Google Ads, LinkedIn Ads, and others), GA4 data, and the CRM funnel into a single analytics layer.
The architecture is straightforward:
- The Prooflytics pixel on the site captures UTM parameters and click IDs (
gclid,fbclid,li_fat_id,msclkid, and others) on every visit - This data is stored alongside the lead’s email when a form is submitted
- CRM connects via OAuth - HubSpot, Kommo, Salesforce, Pipedrive, and others are supported
- When a deal closes in CRM, Prooflytics traces it back to the original click ID and campaign
The result is a real cost per closed deal for every channel, campaign, and ad. Not an approximation through on-site conversions - a direct link between ad spend and closed revenue.
What this delivers in practice:
- Visibility into which channel brings deals, not just leads
- The sales cycle stops being a black box - Prooflytics shows average time from click to close per channel
- Multi-touch attribution works at the level of individual deals, not aggregated patterns
- Data updates automatically - no manual report assembly
An important distinction from GA4: Prooflytics does not replace GA4 for on-site behavior analysis, UX optimization, or remarketing audiences. Those tasks stay with GA4. Prooflytics covers a specific job: attribution down to the closed deal - which GA4 cannot do natively.
More on setting up Prooflytics from scratch is in the CMO guide to one-day setup. For a breakdown of the specific blind spots between CRM and ad platforms that Prooflytics covers, see the separate attribution blind spots analysis.
When GA4 is enough vs when you need Prooflytics
GA4 is sufficient when:
- The deal cycle is short - under 2 weeks - and conversion happens on the site
- One person buys, from one device, with no offline interactions
- The key metric is on-site behavior, not revenue by channel
- Ad budget is small and an attribution error does not cost meaningful money
Prooflytics is needed when:
- The deal cycle is longer than 2-3 weeks and there are multiple touchpoints before closing
- Multiple people or devices are involved in the buying process
- You need to compare channels by real cost of client acquisition, not by CPL
- You suspect certain channels are over- or under-valued in reports
- The marketing team spends hours per month manually assembling reports from GA4, CRM, and ad platforms
For most B2B teams with multiple ad channels and a sales cycle of a month or more, Prooflytics and GA4 run in parallel: GA4 for on-site behavior, Prooflytics for channel ROI and budget optimization.
Real case
B2B SaaS company, 25 people, operating in the European market. Two ad channels: Google Search and LinkedIn Ads. Sales cycle: 6-8 weeks. GA4 is set up properly with goals, form events, sign-up and demo-request events.
In GA4, LinkedIn Ads showed CPL of $180, Google Search $95. Logical conclusion: Google Search is twice as efficient - scale it.
After connecting Prooflytics and matching against 4 months of CRM data (HubSpot), the picture changed:
| Channel | Leads | CPL | Deals | Cost per closed deal |
|---|---|---|---|---|
| Google Search | 210 | $95 | 8 | $2,490 |
| LinkedIn Ads | 90 | $180 | 11 | $1,470 |
LinkedIn Ads, with a CPL twice as high, delivered a 37% cheaper closed deal. The reason was audience quality: LinkedIn leads came in with stronger qualification by job title and company size, and the lead-to-deal conversion rate was 2.4x higher.
Optimizing by CPL in GA4 was routing budget into the worse-performing channel by revenue. After reallocating budget toward LinkedIn, the cost of client acquisition dropped by 22% while deal volume was maintained.
This is a typical B2B situation, not a unique edge case. Optimizing by CPL without funnel data systematically pushes budget toward channels that look good in GA4 and perform worse in reality.
For details on how the Prooflytics integration with Kommo CRM is set up, see the head of sales dashboard overview (the same principle applies to HubSpot and Pipedrive).
Term: CAC per channel (cost per closed deal by channel) is total spend on an ad channel over a period divided by the number of closed deals attributed to that channel in the same period. Unlike CPL (cost per lead), CAC per channel accounts for the lead-to-client conversion rate and shows the real economics of the channel. This is the metric that should drive marketing budget allocation in B2B.
Frequently asked questions
Can you get the same result by manually joining GA4 and CRM in a spreadsheet?
Technically yes, if done systematically. In practice - this is 4-8 hours of work per month, low accuracy due to manual matching, and the data is stale by the time decisions are made. The main problem is not effort but data quality: manually matching a lead from GA4 to a contact in CRM only works if the form passes an email, and only if the email matches. Cross-device paths and multi-contact deals are lost entirely in a manual workflow. Prooflytics solves this at the click ID level - a fundamentally more accurate method.
Does Prooflytics fully replace GA4?
No, and it should not. GA4 remains the primary tool for on-site behavior analysis, UX optimization, building remarketing audiences, and the Google Ads connection. Prooflytics covers a specific layer: attribution down to the closed deal in CRM. These tasks do not compete - they complement each other. Most teams use both tools in parallel.
What if the deal cycle is longer than 90 days?
GA4 does not attribute those deals at all - the lookback window ends and the original source is lost. Prooflytics uses its own first-party data (captured click IDs and UTMs), which are not limited by GA4’s 90-day window. The only constraint is how long your first-party data is retained on the server. For SaaS with enterprise cycles this is a meaningful advantage.
Does this work with Kommo CRM?
Yes. Kommo connects to Prooflytics via OAuth alongside HubSpot, Salesforce, and Pipedrive. For B2B teams building pipeline in Kommo, this is a working setup for ad channel attribution. If you are evaluating Kommo, there is a platform overview that covers the data model.
How complex is the Prooflytics setup?
The OAuth connection to CRM takes 15-20 minutes. Pixel installation and initial funnel stage mapping takes 1-3 days depending on data quality. If the CRM has messy funnel stages or UTMs are applied inconsistently, normalization comes first. Exceltic.dev helps with this step: we assess data quality, normalize UTM structure, and map the funnel before connecting Prooflytics so that attribution works correctly from day one.
GA4 does not cover B2B attribution - not because it is a bad tool, but because it was designed for different tasks. It does not know about CRM deals, cannot see the buyer’s offline path, and is limited by a 90-day lookback. For a team with a long sales cycle and multiple ad channels, this means budget decisions are made on data that systematically undervalues some channels and overvalues others.
If you have data in your CRM and ad platforms but no single view of real channel ROI - describe your current analytics setup to the Exceltic.dev team. We will identify what needs normalization and estimate the configuration scope.