GA4Dataform installs a set of Dataform models into your own Google Cloud project and turns the raw GA4 BigQuery export into documented, analysis-ready tables. You keep the data, we bring the SQL.
One prerequisite: the GA4 to BigQuery export has to be running already. Everything after that is ours.
Flat, fast, small. Incremental models and a cost-monitoring module keep the BigQuery bill down.
Semantic layer included: every table and column is described, so BI tools and AI agents know what they are looking at.
For GA4, Google Ads and more. Installed in two minutes, and upgrades never touch what you wrote in custom/.
Incremental logic, late-arriving GA4 data, sessionisation, custom parameters, channel grouping: we solved it for you. It is all already written, documented and tested, and it runs via Dataform inside your BigQuery.
Your custom setup lives in configuration files, separate from the code.
Tell us where your GA4 export lives and what you need out of it. You get an answer within 1 to 2 business days from the people who build the models, not a sales script.
Yes. GA4Dataform models the export, it does not collect data and does not set up tracking. If the daily GA4 to BigQuery export is linked and filling up, you are ready to install.
In your own Google Cloud project. The models run as Dataform in your BigQuery, on your tables. Nothing is copied to us.
ga4_events (flattened events including custom parameters), ga4_sessions (sessionisation and session metrics) and ga4_transactions (ecommerce), all documented and ready to query or connect to your BI tool.
Yes: free forever, email only, no credit card. The Community variant is open source on GitHub. Premium starts at 275 euro per month and adds the extra modules, unlimited GA4 properties and support.
The installer only updates the core directory. Anything you wrote in the custom directory stays exactly as it is, so upgrading does not undo your work.
Working knowledge of GA4 and BigQuery is enough. The installer creates the repository, the schedule and the assertions for you; you can read and extend the SQL later if you want to.