Implementation guide

How to connect
GoHighLevel to BigQuery.

A practical first run: authorize your agency, choose the data that matters, and verify the output before building reports.

Prepare the connection

You need permission to authorize DataCharted for your GoHighLevel agency and access to the Google Cloud project that will receive the data. Decide who owns the dataset, which locations belong in the pilot, and which reporting question you want to answer first.

BigQuery is the destination, not an included dashboard. Review the supported datasets and plan options before starting production workloads.

  1. Create a DataCharted account

    Create your account using your agency name and email. The dashboard shows the connection steps. Account creation does not automatically begin a paid subscription.

  2. Authorize GoHighLevel

    Select Connect GoHighLevel, review the requested access, and complete the provider’s authorization flow. Return to Locations and enable the sub-accounts you want to include. OAuth lets you authorize scoped access without sharing your GHL password with DataCharted.

  3. Set the BigQuery destination

    Connect a service account, or use Google authorization when available. Choose the project, dataset, and region. Have your Google Cloud administrator approve the permissions needed to run jobs and create or write the required resources. The product checks destination access during setup. Missing stream tables are provisioned when the first sync runs.

  4. Pick a small set of streams

    Start with the datasets needed for one report. Contacts and opportunities are a useful starting point for many agency questions. For contacts, decide whether new records are sufficient or whether a full refresh is needed to capture edits.

  5. Run and reconcile

    Trigger a manual sync. Check the status and errors in Sync history. In BigQuery, compare several known source records, location identifiers, dates, and statuses against GoHighLevel. A completed run is useful evidence, but it does not replace checking the meaning of the data.

  6. Schedule the routine

    Choose a recurring schedule after measuring the initial runtime. Configure email alerts for failed or partial runs. Build reporting models over the source tables, then connect your dashboard.

Common decisions to make early

Freshness: this is scheduled batch extraction. Match cadence to the reporting need and allow enough time for each run to finish.

History: a full refresh represents a current snapshot within each stream’s supported retrieval window. It does not reconstruct every historical state. Agree a separate history model if your reports need that.

Cost: your Google Cloud usage is billed separately. Review the cost checklist and watch dashboard query activity as well as syncs.

Useful references

HighLevel OAuth documentation explains authorization. Google’s BigQuery loading guide explains the warehouse side. Our product documentation covers the current DataCharted controls.

Need a hand setting this up? Request guided implementation with your location count, warehouse status, and first reporting goal.