Connect Google Analytics 4 to Rig
Add one email address as a viewer on your GA4 property and paste the property ID into Rig. Traffic acquisition, ecommerce purchases, landing pages and device and country reporting then land in your warehouse, where you can join them to orders, spend and CRM data.
- Requirements
- Admin access to your GA4 property, plus its property ID
- Time required
- 5 mins
How the connection works
Rig provisions a service account for your workspace: a Google identity owned by Rig that exists only to read your data. You add its email to your GA4 property as a Viewer, the same way you would add an analyst.
Sharing in this way avoids the OAuth consent screen and Google's app verification queue entirely, and it leaves the permission visible in your own property, where you can revoke it without involving Rig. The service account's key is held by Rig and never leaves it, so there is nothing for you to download or paste.
Before you start
- Administrator access to the GA4 property, enough to reach
Admin→Property access management. - The property ID, a number such as
283481234. Find it atAdmin→Property Settings. This is not the same as the measurement ID that startsG-, which will not work here. - A GA4 property rather than a Universal Analytics one. Universal Analytics stopped processing data in 2023 and its API is not supported.
Generate your Rig service account
The service account is generated once for your whole workspace, not once per connector. If you have already generated one for another Google source, reuse that same email address and skip to the next section.
- In Rig, open
Connectionsand go toSources & actions. - In the Google service account card at the top of the page, click
Generate service account. - Copy the email address Rig gives you. It ends in
.iam.gserviceaccount.com.
Add Rig as a viewer
- In GA4, go to
Admin→Property→Property access managementand click+. - Paste the service-account email and give it the Viewer role. Viewer is all Rig needs, and it cannot change anything in your property.
- Add the user. The grant takes effect immediately.
Grant it on the property, not the account
GA4 has access management at both the account and the property level. Adding Rig at the account level does not always cascade the way people expect, so add it on the specific property whose ID you are about to paste into Rig.
Connect it in Rig
- In Rig, open
Connectionsand go toSources & actions. - Search for Google Analytics 4 and open the card.
- GA4 Property ID: paste the numeric ID from Property Settings.
- Click
Testto pull a small sample, thenSync.
Connect one source per property. If you run several properties, add each as its own source so they land in separate datasets and stay comparable.
What Rig pulls in
GA4 lands in its own google_analytics_4 schema. Rig pulls four daily reports, chosen to cover the questions people actually ask of GA4 once it sits beside their order and spend data:
- Traffic acquisition: sessions, users, new users, engaged sessions and bounce rate, broken down by default channel group, source, medium, campaign, term and ad content
- Ecommerce purchases: transactions, purchase revenue, average purchase revenue, add to carts and checkouts by channel group
- Sessions by landing page: sessions, engaged sessions and conversions per landing page
- Device and country: sessions, users and transactions by device category and country
These are aggregate reports rather than raw event rows. If you need event-level GA4 data, that comes from GA4's own BigQuery export, and Rig can read that warehouse directly.
How much history you get
The first sync pulls 90 days, then keeps up incrementally from there. That is a deliberate default rather than a limit of your data.
GA4 meters API use with an hourly, property-level cost quota, and it is easier to exhaust than it looks. Simply asking GA4 how far back a property's data goes was expensive enough on its own to burn the whole hourly quota in a single call, before a single row of real data had landed. Starting at 90 days means your first sync completes.
If you need a deeper backfill, ask us and we will run it in stages that stay inside the quota. Two hard limits apply whatever we do: GA4's API will not return data before 2015-08-14, and your property only has data from the day it started collecting.
The last three days are still settling
GA4 takes 24 to 48 hours to finish processing, so Rig treats the most recent three days as provisional and re-pulls them. Expect very recent numbers to move slightly.
Troubleshooting
- Permission denied: the service account is not on that property. Check
Property access managementon the exact property whose ID you entered, not a sibling property or the account level. - The property ID is rejected: you probably pasted the measurement ID. Rig wants the numeric property ID from Property Settings, not the
G-string used in the tracking snippet. - The sync stops partway with a quota error: GA4's hourly cost quota is shared across everything querying that property, including other tools and anyone using the Explore reports heavily. It resets on the hour, and Rig picks up where it stopped.
- Numbers do not match the GA4 UI exactly: check whether the range includes the last three days, and whether the UI report you are comparing against applies its own sampling or thresholding. Rig stores what the API returns.