How involved is the dbt-GA4 package setup?
The dbt-GA4 package does not provide a complete set of reporting tables for your data mart. Mostly what it does is provide staging models, utilities to build missing staging models, and data marts that pretty much any web site will need regardless of configuration.
The difficult parts of working with the GA4 export to BigQuery are handled by the package. We estimate that you save about 50 hours per site by using the package over implementing from the ground up.
This estimate comes from both the direct time saving you gain from using the package, the maintenance and update savings from the open-source community that should find and resolve most issues you might run into from changes to the data before you run in to them, and in data quality improvements implemented in the package after it has been vetted on many thousands of sites that a small team is unlikely to catch before sending to production.
Connecting and Installing dbt-GA4
The actual process of connecting of GA4, BigQuery, dbt, and Git and installing of dbt-GA4 does not take much actual time.
The main installation issues are related to access. If you are setting all of this up on your own infrastructure, it takes about an hour to connect everything and install dbt-GA4.
Installation becomes complex when access becomes a concern which is the case in many organizations.
GA4 is not usually a problem setting up. The person setting everything up will need to be an Admin on your GA4 property.
Your BigQuery project should typically be in a Google Cloud Organization managed by your IT team. Even though it is easier to create your own project on Google Cloud outside any GCP Organization, you run the risk of orphaning the project and IT is better positioned to minimize security risks.
For dbt Cloud, you will need a credit card and the authority to spend with it although there is a free tier that includes one developer and one project.
For Git, you will want to use whatever Git provider your dev or IT teams use like GitHub, GitLab, or BitBucket. If you do not use Git at your organization, then it is still recommended you work with an external Git provider over the dbt-Cloud provisioned Git provider as the dbt-Cloud provisioned one is limited to managing your code and does not let you compare file versions and you need to contact support in order to roll back a release.
Getting proper access to all of these resources can take weeks of time with several hours worth of meetings at some organizations all so that you can do the connection and installation tasks that take less than an hour.
Configuring and Customizing dbt-GA4
After installing dbt-GA4, you still have the following configuration and customization tasks to do:
- Enable staging models for recommended events
- Build staging models for your custom events
- Build fact models for automatically collected, recommended, and custom events
- Process custom parameters (custom dimensions and metrics)
- Process user properties and session properties
- Configure conversions
- Clean query parameters from your URLs
All of these setup steps are covered in the free dbt-GA4 Setup course.
Once you are familiar with these steps, you can get a fairly standard website set up in about four hours.
The main challenge is ensuring that you know which event and parameter customizations you need to configure as events and parameters can be set in several different places and it can by a challenge to uncover all of these settings. The Advanced dbt-GA4 course includes some utilities to help speed up this process.
Estimating dbt-GA4 Projects
At the bottom-end we have an estimate of five hours: one hour for connecting all of the tools together; and four hours for configuring and customizing the package.
However, the first few times you use the package should take much longer and connection can vary a lot from organization to organization. In addition, you likely have some reporting requirements that drove the initial project and you will need to ensure that your tables can meet those requirements.
With all of this variability, an estimate of about 12 hours for a basic setup should let you deliver the essentials and still have room to accomplish whatever drove your stakeholders to use the GA4 export to BigQuery.