All resources
Topics

How to Connect Google Ads to Databricks

Step-by-step guide to piping Google Ads campaign data into your Databricks Lakehouse using OWOX connectors. OAuth auth, zero ETL code, open-source.

Step-by-step guide to piping Google Ads campaign data into your Databricks Lakehouse using OWOX connectors. OAuth auth, zero ETL code, open-source.

Getting Google Ads data into Databricks shouldn't require a dedicated engineering sprint. Yet most teams still cobble together custom Python scripts, manage brittle API tokens, and babysit scheduled jobs that break every time Google changes a field name. There's a faster path – and it takes about 2 minutes.

This guide walks you through connecting Google Ads to Databricks using OWOX – an open-source connector platform that handles OAuth, schema mapping, and incremental loads out of the box. You'll go from zero to queryable campaign data in your Databricks Lakehouse without writing a single line of ETL code.

What you'll need before you start

Before diving into the setup, make sure you have the following prerequisites ready. Missing any of these will stall the process mid-way, so it's worth checking everything upfront.

Databricks workspace access

You need an active Databricks workspace with permissions to create tables and run SQL queries. Specifically, you'll need:

  • Workspace URL – the full URL of your Databricks deployment (e.g., https://dbc-abc123.cloud.databricks.com)
  • SQL Warehouse HTTP path – found under SQL Warehouses → your warehouse → Connection Details
  • Personal Access Token (PAT) – generate one from User Settings → Developer → Access Tokens

If you're on a Databricks trial, all of this works the same way. Just make sure your SQL Warehouse is running when you set up the connection.

Databricks SQL Warehouse connection details showing HTTP path for OWOX connector setup. i-shadow

Google Ads account

You need a Google Ads account with active campaigns (or at least historical data). Manager accounts (MCC) work too – you'll pick the specific customer ID during setup.

No API credentials are required. OWOX uses pure OAuth authentication – you simply sign in with your Google account and authorize access. No developer tokens, no client IDs, no client secrets.

OWOX account

Sign up at owox.com/app-signup if you don't have an account yet. The free tier includes connectors and a generous data allowance to get started.

Step 1: Configure Databricks as your storage in OWOX

The first step is telling OWOX where to write data. You'll connect your Databricks workspace as a storage destination so that any connector you set up later knows where to land the data.

Log into your OWOX account and navigate to Storages.

 OWOX Settings page showing Storages section where users add Databricks as a data destination . i-shadow

Click Add Storage and select Databricks from the list of supported warehouses.

OWOX storage selection dialog showing Databricks among supported data warehouses . i-shadow

Enter your Databricks connection details

Fill in the three values you gathered in the prerequisites:

                                                                                                                                                                    
FieldWhere to find itExample
Workspace URLYour browser address bar when logged into Databrickshttps://dbc-abc123.cloud.databricks.com
SQL Warehouse HTTP PathSQL Warehouses → [your warehouse] → Connection Details/sql/1.0/warehouses/abc123def456
Personal Access TokenUser Settings → Developer → Access Tokens → Generate New Tokendapi1234567890abcdef

OWOX Databricks storage setup form with workspace URL, HTTP path, and personal access token fields. i-shadow

Click Save to verify everything works. OWOX will now use this Databricks workspace as the target for all connectors you configure.

Troubleshooting tip: If the connection test fails, double-check that your SQL Warehouse is in a Running state. Databricks auto-suspends idle warehouses, and a stopped warehouse will reject connection attempts.

Step 2: Create a new data mart with the Google Ads connector

Now that Databricks is connected as your storage, you can set up the actual Google Ads pipeline. In OWOX, every data pipeline lives inside a Data Mart – a logical container that defines what data to pull, from where, and on what schedule.

Navigate to the Data Marts section and click Create Data Mart.

OWOX Data Marts page with Create Data Mart button for setting up Google Ads connector. i-shadow

Select the Google Ads connector

Select Input Source - Connector, then from the connector library, select Google Ads. OWOX supports dozens of data sources – advertising platforms, CRMs, analytics tools – but for this guide, we're focusing on Google Ads.

OWOX connector library showing Google Ads among available data source connectors. i-shadow

Choose your Google Ads customer ID

After authorization, OWOX will display a list of Google Ads accounts associated with your Google login. Select the customer ID you want to pull data from.

OWOX Google Ads customer ID selection after OAuth authorization. i-shadow

If you use an MCC (Manager Account), you'll see all child accounts listed. Pick the specific account whose campaign data you need in Databricks.

Authorize with Google OAuth

Select your Click Connect Google Account. A standard Google OAuth window will appear – sign in with the Google account that has access to your Google Ads data and grant OWOX the requested permissions.

Google OAuth authorization screen for connecting Google Ads account to OWOX. i-shadow

This is the entire authentication step. No developer tokens, no API keys, no client secrets – just a standard OAuth flow. If you manage multiple Google Ads accounts under a single Google login, you'll select the specific account in the next step.

Step 3: Choose your API endpoints and fields

This is where you decide exactly what data flows into Databricks. OWOX exposes the full Google Ads API surface – you're not limited to a pre-set schema.

Select endpoints

Endpoints correspond to Google Ads API resources – campaigns, ad groups, ads, keywords, search terms, and more. Each endpoint creates a separate table in your Databricks catalog.

OWOX Google Ads endpoint selection showing available API resources for Databricks import. i-shadow

Common endpoint selections for marketing analytics:

  • Campaigns, Campaigns Stats – budget, status, bidding strategy, performance metrics
  • Ad groups, Ad Groups Stats – group-level targeting and performance
  • Ad Group Ads Stats – individual ad copy, URLs, and creative performance
  • Keywords Stats – keyword-level bids, quality scores, and match types
  • Critorion, Get Stats & many more

Select the endpoints relevant to your reporting needs. You can always come back and add more later.

Select fields within endpoint

For selected endpoint, you can choose which fields (columns) to import. By default, OWOX selects the most commonly used fields, but you can customize this – deselect fields you don't need to keep your Databricks tables lean, or add additional fields for deeper analysis.

OWOX Google Ads field selection for customizing which data columns import into Databricks. i-shadow

Pro tip: Start with the defaults and iterate. It's easier to add fields later than to troubleshoot why a field you assumed was important is actually always null for your account.

Step 4: Configure the destination

With endpoints and fields selected, tell OWOX where to write the data in Databricks.

Set the Databricks destination

Choose the catalog, schema (database), and table prefix for your Google Ads data. If you've already configured Databricks as your storage in Step 1, these options will be available in the dropdown.

OWOX Databricks destination configuration with catalog, schema, and table prefix settings. i-shadow

A clean naming convention helps keep things organized:

  • Schema: google_ads or marketing_raw
  • Table prefix: gads_ – so your tables become gads_campaigns, gads_ad_groups, etc.

Step 5: Publish and run your first import

Everything is configured. Time to launch.

Publish the data mart

Click Publish & Run Data Mart to activate it and run the import for the last 7 days. This saves all your settings and makes the pipeline ready for scheduling. 

 OWOX data mart publish screen showing Google Ads to Databricks pipeline configuration summary. i-shadow

Trigger the historical backfill run

After publishing & the first run, you can run it manually to load all of the historical data you might need. OWOX will pull the historical data from Google Ads and write it into your Databricks tables.

OWOX data mart ready to run with Run Now button for initial Google Ads data import to Databricks. i-shadow

The initial import duration depends on your data volume:

  • Small accounts (< 10 campaigns, < 1 year of data) – a few minutes
  • Medium accounts (50–100 campaigns, 2–3 years) – 10–30 minutes
  • Large accounts (hundreds of campaigns, 5+ years) – up to a few hours

You can monitor progress directly on the data mart page. OWOX shows the import status, row counts, and any errors in real time.

Set the refresh schedule

OWOX supports daily, hourly, and custom cron schedules. For most Google Ads reporting, daily is the sweet spot – Google Ads data is typically finalized within 24–72 hours anyway, so hourly pulls give you more API calls without meaningfully fresher data.

OWOX data mart scheduling options for Google Ads to Databricks refresh frequency. i-shadow

Step 6: Verify your data in Databricks

Once the import completes, head over to your Databricks workspace and confirm the data landed correctly.

Run a quick validation query

Open a SQL Editor or notebook in your Databricks workspace and run a basic check:

1-- Check that tables were created
2SHOW TABLES IN your_catalog.google_ads;
3
4-- Preview campaign data
5SELECT
6  campaign_name,
7  campaign_status,
8  impressions,
9  clicks,
10  cost_micros / 1000000 AS cost,
11  date
12FROM your_catalog.google_ads.gads_campaigns
13WHERE date >= CURRENT_DATE - INTERVAL 7 DAYS
14ORDER BY cost DESC
15LIMIT 20;

If you see your campaign names, metrics, and recent dates – you're in business. The data is now in your Databricks lakehouse and ready for analysis.

Check row counts and freshness

Run a quick freshness check to confirm incremental loads are working:

1SELECT  
2COUNT(*) AS total_rows,
3MIN(date) AS earliest_date,
4MAX(date) AS latest_date
5FROM your_catalog.google_ads.gads_campaigns;‍

The latest_date should match your most recent Google Ads data (typically yesterday or today, depending on Google's reporting lag).

What can you do with Google Ads data in Databricks?

With your campaign data sitting in Databricks, the real work begins. Here's what teams typically build next – and why having raw Google Ads data in a data warehouse is so much more powerful than relying on the Google Ads UI alone.

Cross-channel attribution

Join Google Ads data with your other marketing sources – Facebook Ads, LinkedIn Ads, organic traffic from GA4, CRM data from Salesforce. Databricks' Lakehouse architecture makes these joins trivial at scale.

OWOX supports connectors for Facebook Ads, LinkedIn Ads, TikTok Ads, and many more – all writing to the same Databricks workspace. Cross-channel reporting becomes a SQL query, not a spreadsheet nightmare.

Custom reporting with OWOX Data Marts

Once the raw data is in Databricks, you can build OWOX Data Marts on top of it – reusable SQL-based datasets that power business reporting in Google Sheets, Looker Studio, or any BI tool. Analysts control the logic; business users get clean, governed, always-fresh data to explore.

This is the sweet spot for teams that want to move beyond ad hoc queries. Create a data mart for campaign performance by week, another for keyword-level ROI, and let marketing managers pull reports without waiting on the data team.

ML-ready datasets for bid optimization

Databricks makes it easy to feed Google Ads data into ML pipelines. Build predictive models for bid optimization, budget allocation, or anomaly detection on campaign performance – all within the same workspace where your data lives.

The open-source advantage

One detail that sets OWOX connectors apart: they're fully open-source. The Google Ads connector code is available on GitHub under an open license.

This matters in practice. If you need an API endpoint that isn't supported yet, or you want to pull a custom field that OWOX doesn't expose in the UI – you can fork the repository, add the endpoint, and submit a pull request. Contributor guides are available in the repo.

For enterprise teams, this means no vendor lock-in on the connector level. You can:

  • Audit the code – see exactly what API calls are made and how data is transformed
  • Extend functionality – add new endpoints, custom transformations, or post-processing hooks
  • Self-host if needed – run connectors in your own infrastructure with the Self-Managed Edition (though the Cloud Edition handles everything for most teams)

This fork-and-extend model is especially valuable for data teams that operate in regulated industries or have strict data governance requirements.

Troubleshooting common issues

Even with a straightforward setup, things can occasionally go sideways. Here are the most common issues and how to fix them.

Connection test fails

Problem: OWOX can't reach your Databricks workspace.

Check:

  • Is your SQL Warehouse running? Databricks auto-suspends idle warehouses
  • Is the workspace URL correct? It should include the full https:// prefix
  • Is your Personal Access Token still valid? Tokens can expire based on your org's policies
  • Are there network restrictions (IP allowlists, private endpoints) blocking external access?

OAuth authorization fails

Problem: The Google OAuth flow doesn't complete or returns an error.

Check:

  • Are you signing in with the Google account that has Google Ads access?
  • Does your Google Ads account have the Standard or Admin role? Read-only access may not be sufficient for API connections
  • Try in an incognito window – browser extensions or cached credentials sometimes interfere

Missing data or empty tables

Problem: Tables exist in Databricks but contain no rows or are missing expected fields.

Check:

  • Does the Google Ads account have data for the selected date range? New accounts may not have historical data
  • Did you select the right customer ID? MCC accounts can have many child accounts
  • Check the data mart run logs in OWOX for error details – they'll show exactly which API calls failed and why

Conclusion

Connecting Google Ads to Databricks doesn't have to be a complex engineering project. With OWOX, the entire setup – from Databricks storage configuration to the first data import – takes about 2 minutes. No custom scripts, no API credential management, no ongoing maintenance.

And because the connectors are open-source, your data team keeps full control. Audit the code, extend it when needed, and build AI Insights on top of reliable, governed data.

Ready to get your Google Ads data into Databricks? Sign up for OWOX and follow the steps above – you'll be querying campaign data in your Lakehouse before your next coffee break.

FAQ

Frequently asked questions

How do I connect Google Ads to Databricks?
+
Do I need API credentials to connect Google Ads to Databricks?
+
What Google Ads data can I import into Databricks?
+
How often does Google Ads data refresh in Databricks?
+
Can I use a Google Ads Manager Account (MCC) with Databricks?
+
Is the OWOX Google Ads connector open-source?
+
What can I do with Google Ads data once it's in Databricks?
+
On this page
From the blog

Learn how teams ship analytics faster

Deep dives on data marts, governance, and modern reporting workflows.

See all articles →
What users are saying

Not testimonials. Comment threads.

From people who actually use the product. Each quote is attached to a specific claim.

A1
· re: warehouse integration
KP
Katya P.
BI Manager

Finally, a tool that doesn't ask business users to learn a new dashboarding UI. Our marketing team already knows Sheets. OWOX just delivers the right data.

C3
· re: governance
MR
Marco R.
Head of Data

Joinable data marts concept was the thing that sold us. We can now use the semantic layer without building one.

E7
· re: open source
JC
James C.
Data Analyst

Self-hosted the OSS version on Digital Ocean. Zero vendor lock-in. Contributed a Shopify connector back in week two.

Google Sheets in modern analytics

Google Sheets, powered by governed data marts

Google Sheets were never designed to be a system of record. With OWOX Data Marts, Sheets becomes a trusted analysis layer — powered by governed data marts defined upstream in your warehouse.

Business teams keep the flexibility they love
Data teams retain control over logic and definitions
No more fragile joins duplicated across spreadsheets
See how it works
/* Full Width Images in RichText */