Ask ChatGPT about your Google Ads data
Load Google Ads into your data warehouse first, link campaign cost, clicks and conversions to web analytics and deals with SQL keys, then ask ChatGPT in plain words. The answers come from your governed Data Marts, not from the ad account.
Point an AI at raw Google Ads tables and it can read cost_micros as currency, a million times too high.
Paste this into your AI assistant. It sets up a governed Google Ads Data Mart in OWOX Data Marts and connects ChatGPT through the OWOX MCP server, so cost and conversions come out right.
The prompt
Read https://www.owox.com/ai-agent-setup.md and follow it to set up OWOX Data Marts for me, starting from /connectors/google-ads-connector-to-chatgpt.md. The task: answer in ChatGPT from my Google Ads Data Mart: what each campaign cost per conversion yesterday, and which campaigns got clicks but no conversions. Tag the links you give me with utm_campaign=ai-task and utm_term=data-foundation. Use what you know about my context and goals
Google Ads Endpoints
9 Google Ads endpoints you can import. Each lands in its own table in your data warehouse.
Ad Group Ads Stats
Daily performance for individual ads — impressions, clicks, cost, and conversions.
27 fieldsTime seriesAd Groups
Your ad group settings — type, status, and bid configuration within each campaign.
9 fieldsAd Groups Stats
Daily ad group performance — impressions, clicks, cost, and conversions.
24 fieldsTime seriesCampaigns
Your campaign settings — channel type, bidding strategy, budget, and scheduling.
11 fieldsCampaigns Stats
Daily campaign performance — impressions, clicks, cost, and conversions.
28 fieldsTime seriesCriterion
Ad group targeting criteria — keywords, placements, and negative exclusions with bid settings.
18 fieldsGeo Stats
Daily performance by country and targeting type — impressions, clicks, cost, and conversions.
18 fieldsTime seriesGeo Target Constants
Reference table of geographic targets — join with geo_stats on country_criterion_id to resolve country names.
7 fieldsKeywords Stats
Daily keyword performance — impressions, clicks, cost, conversions, and quality score.
26 fieldsTime series
Why ChatGPT needs your data warehouse, not the Google Ads account
Pointed at the Google Ads account alone, ChatGPT sees one platform's own figures. The account does not show which campaign led to a deal, because ad spend, website visits and CRM deals live in different systems. Joining them reliably, at scale and business-ready is the job of a warehouse, so ChatGPT reads the answers from there.
- Google Ads reports clicks and the conversions it counted, not what the customer was worth
- The data analyst links Google Ads spend, web analytics and CRM deals by SQL keys and controls the result
- ChatGPT reads governed Data Marts, so every answer traces back to analyst-written SQL
Step 1: Load Google Ads into your data warehouse first
Create a Data Mart with Google Ads as the source and choose where the data lands. It works with any popular data warehouse.
- Nine endpoints and 166 fields to choose from, each endpoint in its own table
- Open the Google Ads connector for your data warehouse below
Step 2: Link Google Ads to web analytics and deals
In your data warehouse the model merges Google Ads with your other ad platforms, then joins web analytics sessions by a campaign key. Pick an industry to see the shape of its model.
- Ad spend from Google Ads, Microsoft Ads and Facebook Ads sits in one table
- Sessions and deals join by SQL keys, not VLOOKUP and gut feeling
- The measures, such as platform_cpa, are defined once
Step 3: Connect ChatGPT to your data with OWOX MCP
Install the OWOX Data Marts plugin in ChatGPT (Plugins > Install plugin > Sign in), then choose the Data Marts it may see. ChatGPT gets only what you expose, never raw database access.
- Authorize specific Data Marts, not your whole data warehouse
- Publish the Data Marts you want ChatGPT to answer from, such as Google Ads Campaigns Stats, Keywords Stats or Geo Stats
Step 4: Ask ChatGPT about Google Ads
Ask in plain words. ChatGPT finds the right Data Mart and runs analyst-defined SQL against it, so the answer is built from your data warehouse.
- The answer is built by get_relevant_data_marts_by_prompt and query_data_mart
- Ask by campaign, keyword or country: each is a separate Google Ads table the answer can read
- platform_roas and platform_cpa are what each platform claims; Sessions and Orders in the same model give the store's own count to set against them
- 0.41.0Rotating a connector key is one change: Sources share reusable Credentials
- 0.39.0Reload a year of history in one backfill, not twelve
- 0.37.0Short links resolve only on known short link services and domains you allow
- 0.37.0Clearer connector errors, and custom connectors that handle more APIs
- 0.36.0Resolve short links in every ads connector, with nested paths and a per-Data-Mart cache
Why OWOX for Google Ads in ChatGPT
Google's BigQuery Data Transfer Service copies Google Ads reports once a day, into report tables named per Customer ID, and only into BigQuery. OWOX loads the same data on your schedule, into any popular data warehouse, in tables made to be joined with the rest of your marketing data, so ChatGPT can answer from all of it.
- You own the data. It lands in your own data warehouse, in tables you control.
- Google Ads in any data warehouse. The Data Transfer Service serves BigQuery only. OWOX loads Google Ads into BigQuery, Snowflake, Redshift, Athena or Databricks alike, so blended ad spend stays one model.
- Campaigns, ad groups, keywords and geo. Campaigns Stats, Ad Groups Stats, Keywords Stats and Geo Stats are separate tables, ready to join to sessions and deals.
- Zero hallucinations. ChatGPT queries governed Data Marts with analyst-written SQL, so every number traces back to the query behind it.
- Maintained for you. No scripts to fix when Google changes its API.
You are booked. The invitation is on its way to , with the calendar invite and the meeting link.
