Updated 4 October 2026

Moving from Google Analytics, step by step

A safe order for leaving GA4: run both for a week, bring your history across from BigQuery, compare, and only then switch the old one off.

In short

  • Add trckable's script next to GA4 for a week. It adds about 2,045 bytes, by CI's measurement.
  • GA4's history comes across through its BigQuery export, one event at a time. Its reports and summaries cannot become visits.
  • The export is not retroactive. It starts the day you link it, so link it now, even if you import later.
  • The numbers will not match exactly, and the differences are explainable.

1. Add trckable alongside#

Create a site, copy its script into your pages and leave the Google tag where it is. Two scripts for a week costs your visitors about 2 KB and tells you more than any comparison table. Turn on cookieless mode if you want to drop your cookie banner later (see the banner guide).

3. Export and import#

Export the events as newline-delimited JSON to a bucket, then stream them in:

EXPORT DATA OPTIONS (uri = 'gs://your-bucket/ga4-*.json', format = 'JSON') AS
SELECT event_timestamp, event_name, event_params, user_pseudo_id,
       device, geo, collected_traffic_source
FROM `your-project.analytics_123456789.events_*`
gcloud storage cat 'gs://your-bucket/ga4-*.json' | trckabled import tkb_a1b2c3d4 -

On trckable Cloud, imports are done through support: email support@trckable.com from your account's address with your export, and we import it for you. The command is for a server you run yourself, stopped while it imports. Importing the same file twice stores it once.

What comes across#

From GA4Becomes
page_viewA pageview, with the path kept and the query string dropped after its UTM tags are read
Any other event, such as sign_up or purchaseA goal of the same name
session_start, first_visit, user_engagement, scrollLeft out, and counted separately so you can see they were
user_pseudo_idThe visitor, hashed on the way in
page_referrer, collected_traffic_sourceThe source and the campaign for that visit
geo, deviceCountry, region, city, device, browser, OS

Money stays with your payment provider. A GA4 purchase arrives as a goal, and revenue comes from connecting Stripe and the others, where real amounts, refunds and currencies live.

4. Compare the week#

Both tools ran. They will not match, and nobody's do. The usual reasons:

  • Sessions. trckable ends a session after 30 minutes of inactivity, server-side.
  • Bounces. A bounce here is one pageview and no interaction, not a time threshold.
  • Channels. Paid is checked before search, and AI assistants before search, so a visit from an assistant is not counted as Google.
  • Bots. Filtering is not standardised anywhere. Stricter filtering means fewer visits and truer ones.
  • Blocking. Blockers hide Google's script from many visitors. A script sent through your own domain is seen more often, so your measurement grew, not your traffic.

There is a longer list in the migration docs, and a sourced side-by-side on the trckable vs Google Analytics 4 page.

5. Switch the old one off#

Remove the Google tag. If the cookie banner was only there for Google Analytics, you may be able to remove it too, if nothing else on your pages needs one. Check that against your countries before you do. Keep your last GA4 reports somewhere: the BigQuery export is yours, and GA's reports can be saved as files.

What you give up#

Google's audiences, its ad integrations and its estimated demographics. Without a cookie, returning visitors are counted per day. The full steps are in the GA4 import docs.

Questions#

Can I import my GA4 reports?
No. Reports and Data API summaries are totals, and totals cannot become visits. The importer reads the BigQuery export, which has every event one row at a time.
My export starts after I linked BigQuery. Can I get older data?
Not as events. The export is not retroactive, so link it as early as you can, even if you import later.
Will my numbers match Google's?
Not exactly. Sessions, bounces, channels, bot filtering and blocked scripts are defined differently, and a week with both scripts shows you by how much.
Start free