A standard Google Analytics 4 property keeps event-level data for explorations for 14 months at most, sends no more than 1 million events a day to BigQuery through the daily export, and withholds rows behind data thresholds that "are system defined", which you cannot change. Those three limits, all from Google's Analytics Help pages, decide most of the rest of a B2B site's analytics stack.
This page covers the stack layer by layer, from GA4 and consent to heatmaps and a dashboard, then fits it into a four-week build. Every limit and price comes from the vendor's own documentation or pricing page, read in October 2026.
The seven layers and what each one costs
A B2B marketing site needs one source of truth for conversions, a consent layer for European traffic, a way to watch real sessions and one dashboard that sales and marketing both open. Server-side tagging and product analytics are optional layers.
| Layer | Default tool | Entry cost | The limit that bites first |
|---|---|---|---|
| Web analytics | GA4, standard property | Free | 14-month exploration retention |
| Tag management | Google Tag Manager | Free | None at this size |
| Consent | A consent platform sending consent mode signals | Varies | EEA, UK and Swiss consent |
| Server-side tagging | GTM server container on Cloud Run or Stape | About $45 per server a month on Cloud Run | Two servers for production |
| Heatmaps and recordings | Microsoft Clarity | Free | Recordings kept 30 days |
| Product analytics | PostHog, when there is a product | Free up to 1M events a month | One project on the free plan |
| Dashboard | Data Studio (the Looker Studio product) | Free | GA4 Data API quota |
Source: vendor documentation and pricing pages listed below, read 2026-10-18
Our bias: we build marketing sites in Webflow and applications in Next.js, we know the Google stack best, and the defaults above reflect that. They are what we would start a typical B2B client on.
GA4: the settings to change before launch
GA4 is free and good enough for most B2B marketing sites. Several of its limits are settings to change before data arrives, because none of them work backwards.
| Limit | Standard property | What it means in practice |
|---|---|---|
| Event and user data retention | 2 or 14 months | Set 14 on day one; it affects explorations and funnels, not standard reports |
| Retention on Analytics 360 | Up to 50 months for event data | The only way past 14 months inside GA4 |
| Key events | 30 per property | Enough, if you resist marking every click as a conversion |
| Custom dimensions | 50 event-scoped, 25 user-scoped | Name them in the tracking plan first |
| Exploration sampling | 10M events per query | Ad hoc queries above that are sampled; standard reports are not |
Source: Google Analytics Help, Data retention and Configuration limits, read 2026-10-18
Retention. Google says the setting "only affects explorations and funnel reports"; standard reports keep their numbers. The problem appears a year later, when a funnel exploration against the launch month finds the event data gone. Set 14 months before launch and use BigQuery for anything older.
Thresholds. GA4 withholds rows when a report includes demographic data or search query information and there are too few users to protect their identity. Google states the thresholds are system defined and cannot be adjusted. The two workarounds Google gives are a wider date range and BigQuery, which receives no Google signals data. On a low-traffic B2B site with demographic reports in use, expect to meet them.
BigQuery. Link it in the first week. The daily export is free to start on a BigQuery sandbox, but the sandbox has a lifetime storage cap of 10 GiB, processes 1 TiB of queries a month, expires tables after 60 days and does not support streaming. Keeping history means adding billing to the Google Cloud project early. The daily export stops at 1 million events a day; streaming export has no volume limit and costs $0.05 per gigabyte, which Google puts at roughly 600,000 events.
Event spec. A B2B site rarely needs more than a dozen events: form start, form submit by form type, demo booked, pricing view, content download, outbound click to the app. Write them down, with their parameters, before the build starts.
Consent mode v2 comes before any tag
For any site with European visitors, consent decides how much of the rest works. Search Engine Journal reported in February 2024 that Google requires advertisers to collect consent from users in the European Economic Area and share those signals with Google, by March 2024, to keep measurement, personalisation and remarketing features.
Consent mode passes the visitor's choice to Google tags through four main parameters: `ad_storage` and `analytics_storage` for cookies, and `ad_user_data` and `ad_personalization` for advertising use, the two additions known as Consent Mode V2.
Basic or advanced. In basic mode, Google's overview says, tags wait for the banner, and a refusal sends Google nothing, not even the consent status. In advanced mode, tags load with consent denied and send cookieless measurements, which gives an advertiser-specific conversion model rather than a general one. Which mode is acceptable is a question for the client's privacy adviser.
Clarity has its own rule. Microsoft's Clarity FAQ says consent signals are enforced for visitors in the EEA, UK and Switzerland, through Clarity's consent API or a supported consent platform. Without consent, sessions fragment and full replays are lost. The FAQ lists Google consent mode support as "coming soon", so the consent platform has to signal Clarity directly.
Server-side tagging: when the server pays for itself
Server-side Google Tag Manager moves tag processing from the browser to a server container you run, which decides what goes on to GA4 and the ad platforms.
Cost is the main argument against it on a small B2B site. Google's Cloud Run setup guide, updated in May 2026, estimates each server at about $45 a month and recommends at least two instances in production to reduce the risk of data loss. By our arithmetic that is about $90 a month, plus upkeep.
Hosted services cost less to start. Stape, a vendor, lists a free plan for up to 10,000 requests a month, Pro at $17 a month billed annually for up to 500,000 requests, and Business at $83 for up to 5 million.
When it is worth it. A site with serious paid search or LinkedIn spend, which wants conversions sent server to server, gets the most from it. So does a site whose security team wants fewer third-party scripts in the browser. A site that mainly counts demo requests and blog traffic should spend that budget on the tracking plan.
When to add it. It need not go live in week four. The web container and event spec carry over, so adding a server container later is a routing change, not a rebuild.
Heatmaps and session recording: Clarity, Hotjar and PostHog
GA4 says how many people left the pricing page. A recording shows why.
| Tool | Free plan | Replay coverage | Retention | Paid entry point |
|---|---|---|---|---|
| Microsoft Clarity | Free, no traffic limits, no sampling | Up to 100,000 sessions per project per day | 30 days; favourites and a random sample up to 9 months | None; Microsoft says it is free forever |
| Contentsquare, where Hotjar's pricing page now points | Up to 200,000 monthly sessions, one project | 5% of sessions, capped at 10,000 | 1 month of data access | Growth: $49 a month, or $39 a month billed yearly; 13 months of data |
| PostHog | 1M analytics events, 5,000 recordings, 1M feature flag requests, 1,500 survey responses a month | 5,000 recordings a month | Events 1 year; recordings 1 month | Pay as you go: events kept 7 years, recordings 90 days |
Source: Microsoft Learn Clarity FAQ, 2026-09-08; Contentsquare and PostHog pricing pages, vendor-sourced, read 2026-10-18
Clarity is our default recommendation for a marketing site because the free plan has no catch on volume; each heatmap covers up to 100,000 page views. The trade-off is retention: recordings go after 30 days unless marked as favourites, so the review has to be weekly, not quarterly.
Hotjar. On 18 October 2026, hotjar.com/pricing redirected to Contentsquare's pricing page, and the plans listed there are Contentsquare's. The free plan covers more sessions than most B2B sites get, but replays are capped at 5% of sessions and 10,000 in total. The paid Growth plan adds 13 months of data access.
PostHog is a product analytics tool rather than a heatmap tool. It earns its place when the marketing site sits in front of an application and the team wants one funnel from the first visit to the first action inside the product. PostHog's pricing page says usage stops at the free limits unless a card is added. For a marketing site alone, GA4 plus Clarity needs less setup.
A dashboard that stays inside its quota
Google's report builder is free, and its Looker Studio product page now carries the name Data Studio. The self-service tier costs nothing; Data Studio Pro is $9 per user per project per month and adds team content management and security controls.
The limit people hit is not Data Studio's: Google's troubleshooting guide says reports on GA4 are subject to GA4 Data API quotas. On a standard property, Google's quota page sets 200,000 core tokens per property per day, 40,000 per hour, 14,000 per project per property per hour and 10 concurrent requests.
Google's own fixes are the ones we would apply from the start: owner's credentials so viewers share cached data, one reusable GA4 data source, fewer charts per page, and BigQuery for heavier reporting. The token usage dialog, opened by right-clicking the report canvas, shows which charts use the most.
Keep the first dashboard to one page: sessions by channel, key events by form type, conversion rate on the same definition every month, and the five pages that produce most submissions. Our B2B SaaS Website Conversion Rate Statistics 2026 post explains why that definition matters.
Fitting the setup into a four-week build
Our marketing-site process runs four weeks, with a Strategy Week first. The B2B SaaS Website Playbook post covers the page map for those weeks; below is the analytics track we would recommend alongside it.
| Week | Analytics work | Output |
|---|---|---|
| 1, Strategy | Agree the conversion definition, list key events and parameters, confirm which regions need consent | One-page tracking plan |
| 2, Design and accounts | Create or audit the GA4 property, set retention to 14 months, link BigQuery, choose the consent platform | Accounts owned by the client, access granted |
| 3, Build | Install the GTM web container, consent defaults, GA4 events, Clarity with its consent signal | Events firing on staging |
| 4, QA and launch | Test every event and every consent state, build the one-page dashboard, decide on server-side tagging | Launch-day dashboard and a tracking QA record |
Source: Octo Agency recommendation; GA4 and consent settings per the Google and Microsoft pages cited above
We would set two rules. First, every account belongs to the client from the start, with the agency as a user, so nothing needs transferring at handover. Second, analytics QA happens on staging in week four, alongside the visual QA, not after launch. A form that submits but never fires its event is a launch bug.
What this means for a B2B team commissioning a site
Ask for the tracking plan in week one and give it the same weight as the page map. Check three settings on launch day: GA4 retention at 14 months, the BigQuery link, and consent defaults working in the EEA. Start with the free layers, GA4, Tag Manager, Clarity and a one-page Data Studio report. Add server-side tagging when ad spend or a security review justifies about $90 a month and the upkeep, and PostHog when the site sits in front of a product.
Most of the cost of analytics is not the tools, which are mostly free at B2B traffic levels, but the hours spent deciding what to count. Our marketing website service explains how we scope a four-week build.


