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.

  1. 01

    Create a site

    Sign up, add your domain, copy the snippet. You get a public site ID — nothing that names a visitor.

  2. 02

    Paste one script

    Before </body>. Leave googletagmanager.com alone for now. Free plans show a Cookie Free Analytics link; paid removes it.

  3. 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.