/
Attribution
/
Web
/
Google Analytics

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.

Set Up a Google Cloud BigQuery Project
  • Click the project dropdown in the top bar → New Project
Click the project dropdown menu
Click “New Project”
  • Enter a name (e.g. yourcompany-analytics) → Create
Enter a name for your project and click “Create”
  • Select the new project in the dropdown. Make sure it stays selected for all the next steps.
After creation, select your new project from the dropdown

Step 2. Enable the BigQuery API

  • In the Cloud Console search bar, type BigQuery API
  • Open the result → Enable
Step 2. Enable the BigQuery API
Click on the result, then click “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.

  • Go to your Google Analytics Admin Panel.
  • Under the Property column, click “BigQuery Links”.
  • Step 3. Link Google Analytics to BigQuery
  • Click the “Link” button
  • Click the “Link” button
  • Choose the BigQuery project you just created
  • Choose the BigQuery project you just created
    In the linking setup, select all available checkboxes
  • In the linking setup, select all available checkboxes (e.g., streaming data, daily export)
  • Click Save to complete the link
  • Click Save to complete the link

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

    Your Google Analytics data will start appearing in BigQuery in about 24 hours

    ‍

    Step 4. Give an access to Campaignswell

    This lets our engineer read the data and set up the connection for you.

  • In Google Cloud Quick access panel select IAM and admin
  • Step 4. Give an access to Campaignswell
  • Select Grant access
  • Select Grant access
  • In New Principal section write an email, provided by Campaignswell and select an Owner role, click Save

    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.create permission
    To add several roles, click + Add another role in the same window before saving.
    ‍
  • In New Principal section write an email, provided by Campaignswell and select an Owner role, click Save

    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_visit
    • session_start
    • page_view

    How to configure:

    1. Go to BigQuery links
    2. Go to Configure data streams and events
    3. Exclude unnecessary streams, or specify events by name to exclude
    4. 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.

    ‍

    ‍