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.

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.

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.

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

Enter your Databricks connection details
Fill in the three values you gathered in the prerequisites:

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

.png)
.png)


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.
Joinable data marts concept was the thing that sold us. We can now use the semantic layer without building one.
Self-hosted the OSS version on Digital Ocean. Zero vendor lock-in. Contributed a Shopify connector back in week two.