Switch from Google Analytics 4
Vireo reads your GA4 property through Google's Analytics Data API and stores the history in your WordPress database, in the same tables as the traffic it records itself.
- How it works
- Reads your property through Google's Analytics Data API
- Where
- Vireo Analytics, then Settings, then Import & export
- Cost
- Free. Importers are part of the free plugin.
What carries over
- Daily pageviews and users
- Pageviews and users per page, matched to your posts where the path resolves to one
- Referring sites, by domain
- Countries
- Browsers, operating systems and device types
What doesn't
- Sessions, events and conversions. Vireo has nowhere to store them, so they stay in GA4.
- Query strings on page addresses. Pages are stored by path.
- Referrals from your own domain. A visit from one of your pages to another isn't a referral.
- Universal Analytics properties. The importer reads GA4 properties only.
What you need
- A Google Cloud service account with a JSON key
- Viewer access for that service account on the GA4 property
- The numeric GA4 property ID (not the G- measurement ID)
- The PHP OpenSSL extension on your server
Steps
- In Google Cloud Console, create a project or open one you already have.
- Under APIs and services, enable the Google Analytics Data API. The older Analytics API is a different one and won't work.
- Under IAM and admin, then Service accounts, create a service account. Its address ends in .iam.gserviceaccount.com.
- Open the service account, go to Keys, add a key and choose JSON. The file downloads once.
- In Google Analytics, open Admin, then Property access management, and add the service account address with Viewer access on the property you want to import.
- Copy the property ID from Admin, then Property details.
- In WordPress, go to Vireo Analytics, then Settings, then the Import & export tab. Choose Google Analytics, paste the whole JSON key, enter the property ID and pick a date range.
- Start the import. It works through the range in two-week batches, newest first, and shows progress as it goes.
- When it finishes, you can remove the saved key from the same screen. Data already imported stays.
Before you start
- Imports stop the day before Vireo's own data begins, and the import screen says which day that is, so days Vireo already counted aren't added twice. You can include those days anyway, with a warning that they'll be counted twice.
- Vireo counts a visitor once per day. For a month, its visitor total is the sum of the daily figures, which reads higher than GA4's users for the same month, because GA4 counts a returning user once across the whole range.
- Importing the same dates twice adds the numbers twice. Vireo remembers what it imported and asks before you import a range that overlaps one you already brought in.
- If a run stops partway, set the dates to what's missing rather than starting from the beginning.
- The key is stored in your database and only used to request your own data from Google.
After the import
Imported days sit in the same tables as the traffic Vireo records itself, so your charts run straight through from the old tool to the new one. From there, Vireo also shows the Search Console searches that found each post, and what AI crawlers take from your site against the readers AI assistants send back. Bots are kept out of the numbers and listed by category so you can see what was filtered.
Google Analytics 4 is a trademark of its owner. This guide describes Vireo's importer as of October 2026. Google Analytics 4.
Bring your history with you
Vireo Analytics is free on WordPress.org and imports from 8 other sources too.
Get Vireo free on WordPress.org