From Google Analytics
Do not rip GA out on day one.
Add Cookie Free Analytics next to it. A week later you will know what the banner was hiding. That is the migration.
01
Create a site
Sign up, add your domain, copy the snippet. You get a public site ID — nothing that names a visitor.
02
Paste one script
Before </body>. Leave googletagmanager.com alone for now. Free plans show a Cookie Free Analytics link; paid removes it.
03
Compare a week
Same date range, pageviews vs pageviews. The difference is mostly reject and blockers. Use the gap calculator if you want the percentage.
What will look different
- Cookie Free Analytics pageviews are usually higher.
- Bounce is a 30-minute visit with one page, not a person who never came back next week. There is no time-on-page.
- A “visitor” is unique for one day, not a person across a month.
- UTMs still work. Campaigns show up as they do in the address bar.
Questions
- Do I have to delete GA4?
- No. Most people keep it for Google Ads and add Cookie Free Analytics as the unblocked count. Delete GA later if you no longer need it.
- Will historical GA data import?
- No. Different instruments. Start a clean Cookie Free Analytics history. Compare the overlap week by week.
- WordPress, Webflow, Framer?
- Paste the snippet in the site-wide footer or header. No plugin required. If you already have GTM, you can drop the script there — it is not required.
- How long until numbers appear?
- As soon as a real browser loads a page with the script. Bots are dropped. The public demo is already running.
- Will it count my Next.js / Nuxt app?
- Yes. cf.js hooks pushState, replaceState, and popstate. Same path is not counted twice. UTMs stay on the landing, not on every inner route. HMAC of the visitor is server-side — recipe on /methodology.