How to Integrate Campaignswell with Google Analytics (via BigQuery)
TL;DR: Google Analytics (GA4) exports your raw event data into BigQuery, a database inside a Google Cloud project. You then invite Campaignswell to that project, and we read your GA data from there as regular tables. We never need access to your GA account itself.
👤 Who should do this: someone on your team with Editor access to your GA4 property and Owner access to your Google Cloud project (these permissions are required by Google to complete the linking).
Step 1. Set Up a Google Cloud BigQuery Project
This is the "home" your GA data will be exported to. If your company already has a Google Cloud project for analytics, you can use it and skip to Step 2.
- Open Google Cloud Console

- Click the project dropdown in the top bar → New Project


- Enter a name (e.g.
yourcompany-analytics) → Create

- Select the new project in the dropdown. Make sure it stays selected for all the next steps.

Step 2. Enable the BigQuery API
- In the Cloud Console search bar, type BigQuery API
- Open the result → Enable


Step 3. Link Google Analytics to BigQuery
This is the key step: it connects your GA property to the project from Step 1. Without it the project stays empty.





✅ Within ~24 hours a dataset named analytics_<your property ID> will appear in BigQuery. That's your GA data.

Step 4. Give an access to Campaignswell
This lets our engineer read the data and set up the connection for you.
.png)
.png)
Prefer not to grant Owner? You can assign this set of roles instead. It works for us just as well:
- Editor
- Security Admin (roles/iam.securityAdmin)
- BigQuery Admin (roles/bigquery.admin)
- Storage Object Admin (roles/storage.objectAdmin)
- Role Administrator (roles/iam.roleAdmin), which includes the
iam.roles.createpermission
.png)
Step 5. Send us these details
Send them to your Campaignswell CSM so we can verify the connection right away:

Several websites or GA properties? Send one set of IDs per property. They can all be linked to the same Google Cloud project.
FAQ
What to Do When You Hit GA4 Limits
GA4 has a hard cap of 1,000,000 events/day per property. Once you hit it, data drops. Here's what to do.
Reduce events exported to BigQuery
Keep only the essential events in your GA4 → BigQuery export:
- All
cw_events first_visitsession_startpage_view
How to configure:
- Go to BigQuery links
- Go to Configure data streams and events
- Exclude unnecessary streams, or specify events by name to exclude
- Apply and Save changes
Other Solutions
1. Split funnels across multiple GA4 properties One GA4 property per funnel. Keeps each property under the limit. Best long-term fix.
2. Fork Amplitude → Campaignswell endpoint Send events to Campaignswell in parallel. Tracking continues even if GA4 is throttled. Contact your CSM to configure.
3. Add UTM parameters to Stripe Pass utm_source, utm_medium, utm_campaign into Stripe metadata at checkout. Recommended regardless of GA4 limits — improves attribution across all paid channels.
4. GA360 Removes the limit entirely. Starts at $50,000/year — enterprise only.
Immediate workaround
Disable all non-purchase events in GA4 to unblock data export. Temporary measure only — implement one of the solutions above in parallel.
Questions? Contact your Campaignswell CSM.
