Does Google Analytics need a cookie banner?
For visitors in the EU, the UK and Switzerland, in practice yes: Google Analytics 4 sets cookies, and Google’s own policy makes you collect consent for them where the law requires it. invisit sets no cookies and stores nothing on the visitor’s device, so there is nothing for a banner to ask about.
The GA4 tag sets two first-party cookies, _ga and _ga_<container-id>, kept for two years by default (Google’s cookie list). Google’s EU user consent policy requires sites using its products to obtain valid consent for cookies “where legally required” from users in the EEA, the UK and Switzerland. Google says the policy reflects the GDPR and the ePrivacy Directive.
Consent Mode v2, introduced in November 2023, changes what the tag does after the visitor chooses, not whether you ask. It added the ad_user_data and ad_personalization signals, which Google requires from EEA traffic for ads measurement and personalisation (Google Ads help). In basic mode, GA4 sends nothing for people who decline. In advanced mode it sends cookieless pings and models those visitors, but only once a property logs 1,000 declined events a day for 7 days and 1,000 consenting daily users on 7 of the previous 28 days (behavioral modeling).
GA4 drops the IP addresses of EU, Swiss and UK visitors and collects their data on servers in those regions, then forwards it to Analytics servers for processing (Google). There is no setting to keep GA4 data in the EU; Google relies on the EU-U.S. Data Privacy Framework for transfers to the US (transfers). invisit stores data in Falkenstein, Germany (Hetzner), with Cloudflare, a US company, running DNS and CDN in front, never stores raw IP addresses, and offers a DPA. If your policy wants consent anyway, turn on requireConsent.
How heavy is the Google Analytics script?
GA4’s tag, gtag.js, weighed between 155 KB and 179 KB gzipped when we measured it on November 3, 2026 (446 KB to 543 KB uncompressed). invisit’s core script, invisit.js, is about 8.5 KB gzipped; its heatmap, feedback and interaction modules load only when used.
The gtag.js file embeds each property’s tag configuration, so its size varies: the bare library, requested with an unknown ID, came to 155 KB, and two live GA4 properties to 168 KB and 179 KB.
How long does Google Analytics 4 keep your data?
GA4’s standard reports keep aggregated data with no stated limit, but the user- and event-level data behind explorations and funnel reports is deleted after 2 months by default, and after 14 months at most on the free version. invisit keeps all data forever, on every plan.
Analytics 360 adds 26, 38 and 50 month options. Age, gender and interest data is kept 2 months whatever you choose, and a standard property that processes 25 billion events in 31 days is classed as Large and cut to 2 months (data retention).
Two more limits shape what GA4 shows. Explorations sample once a query covers more than 10 million events on a standard property, and 1 billion on 360 (data sampling). Data thresholds hide demographic data, and search-query rows with too few users, and you cannot adjust them (data thresholds).
Is Google Analytics free? GA4, Analytics 360 and invisit prices
Yes. Google’s terms make standard GA4 properties free at any volume, so on price alone GA4 wins at every volume invisit sells. invisit is free up to 20,000 events a month, then $14 to $199 a month up to 10 million events (pricing).
Google Analytics 360, the paid tier, has no published price. Google’s billing help describes a fixed base fee that includes the first 25 million events a month, plus a per-event fee above that which falls as volume grows. What 360 buys is mostly higher limits (360 limits):
| Limit | GA4, free | Analytics 360 |
|---|---|---|
| Event data for explorations | 2 or 14 months | Up to 50 months |
| Exploration sampling | Above 10M events a query | Above 1B, plus unsampled explorations |
| BigQuery daily export | 1M events a day | Billions of events a day |
| Data API quota | 200,000 tokens a day | 2M tokens a day |
| Service level agreements | No | Yes |
Free GA4 still has costs outside the invoice: BigQuery storage and queries beyond the free sandbox (BigQuery Export), and the consent banner, a separate tool you build or license.
invisit bills page views, custom events, conversions and short-link clicks that reach a destination; bots, crawler reads, web vitals and feedback are never billed. Every paid plan has every feature and unlimited sites, and a year costs nine months’ price. You get a warning at 80% of the limit, and events pause only in a second month over in a row (billing).
A SaaS with 300,000 page views and 40,000 custom events a month sends invisit 340,000 billable events. That is past Pro’s 250K step, so it pays $49 a month on Pro 1M, or $441 for a year. On GA4 the same site pays Google nothing.
Is Google Analytics 4 hard to learn?
GA4 splits analysis between prebuilt Reports and Explore, a separate workspace with its own rules, and Google runs a four-course Analytics Academy with a certification to teach it. In invisit, funnels, per-visit timelines, heatmaps and web vitals sit in the same dashboard as the traffic.
Explore has seven techniques, from free form to path and cohort (Explorations). Explorations read only the 2 or 14 months of event data, sample past 10 million events a query, and are read-only for colleagues once shared. To analyse an event parameter, you first register it as a custom dimension, with 50 event-scoped ones per property on the free version.
Does Google Analytics track ChatGPT and AI assistant traffic?
Yes, since May 13, 2026: GA4 files visits whose referrer matches its list of AI assistants under an AI Assistant channel (release note). Google names ChatGPT, Gemini, Claude, DeepSeek, Copilot and Grok without publishing the full list, and counts its own AI Overviews and AI Mode as Organic Search (channels).
invisit recognises 19 assistants, from ChatGPT, Claude, Perplexity and Gemini to DeepSeek, Doubao, Phind and Duck.ai, by referrer and by utm_source, in their own AI tab.
The other half of AI traffic is bots reading your pages. GA4 excludes known bots, and you cannot see how many (bot exclusion). invisit records search engine and AI crawler reads server-side with @invisitdev/server, including fetches like ChatGPT-User, and never bills them (crawler reads).
Where Google Analytics is the better choice
Google Analytics is the better choice when your analytics feeds Google’s ad and search products, when you want raw data in a warehouse, or when you measure apps. invisit has no equivalent for these.
- Google Ads: GA4 key events become Ads conversions, and GA4 audiences flow to Google Ads for remarketing (Ads linking).
- Search Console: GA4 shows the Google Search queries behind your visits beside landing-page engagement (Search Console linking). invisit has no Search Console integration.
- BigQuery: every raw GA4 event, exported daily or streamed, to query in SQL. invisit’s raw export is gzipped NDJSON through its REST API.
- Deeper analysis: cohort and user lifetime explorations, predictive audiences, and User explorer, which follows one person across sessions. invisit has no retention cohorts.
- Apps: a GA4 property takes iOS and Android app streams beside the website. invisit has no mobile app SDKs.
- Email reports: admins can schedule up to 50 reports as PDF or CSV. invisit has none.
- Price: free at any volume.
Switching from Google Analytics to invisit
Run invisit next to GA4 for a few weeks, move your events across, export the GA4 history you want, then remove gtag.js. invisit cannot import history from Google Analytics or any other tool.
- Install invisit next to gtag.js. To serve it from your own domain, use the
@invisitdev/serverproxy. - Replace each
gtag('event', ...)call withtrack(). GA4 event names (letters, digits, underscores) work in invisit unchanged. - Replace the
user_idsetting withidentify(), which hashes your user id. - Rebuild key events as conversions and funnels.
- Drop
purchaseevents and connect your payment provider instead. - Export the history you want, then remove gtag.js and, if nothing else needs it, the consent banner.
// Google Analytics 4 (gtag.js)
gtag('event', 'sign_up', { method: 'Google' })
gtag('config', 'G-XXXXXXXXXX', { user_id: user.id })
// invisit
import { identify, init, track } from '@invisitdev/web'
init({ site: '<site id>' })
track('sign_up', { method: 'Google' })
identify(user.id)| Google Analytics 4 | invisit |
|---|---|
gtag('event', name, params) |
track(name, properties) |
user_id in the config |
identify(user.id) |
| Key events | Conversions |
purchase events |
Your payment provider, connected |
Your GA4 history stays in Google Analytics. Download reports as CSV or Google Sheets, up to 100,000 rows each (export reports), pull aggregated data for past dates with the Data API, or link BigQuery Export for raw events from the day you link it. Universal Analytics data is already gone: Google removed access from the week of July 1, 2024 (Google).
Expect the two to disagree side by side. Behind a banner, GA4 has full data only for visitors who accept; the rest are missing, or modeled where the property qualifies. invisit counts without asking, can skip visitors who send Global Privacy Control or Do Not Track if you turn that on, and does not link a visitor from one day to the next.