Data to AI™ / Gemini/Google Ad Manager

Work with Google Ad Manager reporting in Gemini CLI

Ad ops engineers and publisher developers pull network reporting into the terminal or editor, check trafficking against code and commit the output.

Better answers, fewer tokens.

  • Lower AI costs for the same work
  • More accurate, reliable answers
  • Read-only
  • Uses the Google Ad Manager data you already sync
  • SOC 2 Type II certified
Gemini CLI
Connected to Dataddo

Which ad units earned the most last week, and where did inventory go unfilled?

Gemini Answer · Google Ad Manager

video_preroll earned the most, 6,840 from 380,000 impressions, an eCPM of 18.00. article_sidebar served the most impressions but left 412,000 unfilled.

Ad Unit NameTotal ImpressionsTotal Line Item Level All RevenueTotal Inventory Level Unfilled Impressions
video_preroll Google Ad Manager 380,0006,84021,000
article_sidebar Google Ad Manager 2,310,0005,544412,000
homepage_leaderboard Google Ad Manager 1,240,0004,96086,000

Last week is re-read on every scheduled run, so its rows are replaced, not added twice.

source
Google Ad Manager · as of Mon 06:40 UTC
covers
21-27 Sep 2026
Example answer · fictional account and figures
Google Ad Manager in Gemini

Questions Gemini can answer from your Google Ad Manager data

Google Ad Manager is Google's ad serving platform for publishers and advertisers. Dataddo extracts one flexible report dataset per network: choose from 101 standard metrics, 100 dimensions and line item attributes.

Trafficking sanity check before go-live

Ask Gemini

Through dataddo, find line items whose Line Item Start Date Time is after their Line Item End Date Time or whose Line Item Cost Type is not CPM, and save them to checks/line-items.csv.

An ad operations engineer runs this in the terminal each afternoon before new campaigns start and attaches the file to the trafficking ticket.

Ad slots in code versus the network

Ask Gemini

Read src/ads/slots.ts, then query Ad Unit Name with Total Impressions for the last 7 days and tell me which slots in the file never served and which ad units are not in the file.

A front-end developer uses Gemini Code Assist agent mode in VS Code while refactoring templates, so no live slot is dropped by mistake.

Monthly revenue file for the notebook

Ask Gemini

Get Total Line Item Level All Revenue and Ad Exchange Estimated Revenue by Country Name for each of the last 12 months and write data/gam-revenue-by-country.csv.

A monetization analyst refreshes the forecasting notebook input in one command and commits the CSV beside it, so the run can be reproduced.

Google Ad Manager datasets and the questions they answer in Gemini →
Pricing

Priced per seat.

Data to AI™ is priced per seat, like the AI assistants your team already uses, with ~25% off on annual billing. Need tailored contracts or volume pricing? Talk to us about Enterprise.

Data to AITM

Serve governed business data to Claude, ChatGPT and other AI tools over MCP.

$10.49/month

per seat

3 seats minimum

Enterprise

Flexibly deploy Dataddo in any cloud or hybrid environment.

Custom

We have a payment model that works for you

See all plans and features →
Setup

Connect Google Ad Manager to Gemini step by step

  1. 1
    Connect Gemini to Dataddo Add the Dataddo server to settings.json in Gemini CLI, restart it and run /mcp auth dataddo to sign in. Gemini Code Assist in VS Code reads the same file.
  2. 2
    Connect Google Ad Manager to Dataddo Sign in with your Google Ad Manager account in Dataddo and choose the datasets to sync, such as Delivery and Revenue.
  3. 3
    Choose what Gemini can see Select the Google Ad Manager data Gemini may query. Access is read-only, and data you don't select stays out of reach.
Gemini setup guide →
With vs. without

Google Ad Manager in Gemini, with and without Dataddo

Without Dataddo With Dataddo Outcome for you
Reports as files in a repository Someone downloads a report from the Ad Manager interface and copies it into the project folder, where it quietly goes out of date. Gemini CLI queries the scheduled Dataddo flow and writes the CSV or JSON straight into the working tree, so the file can be regenerated with the same prompt. Reproducible report files
Control over lookups A script with a stored API credential pulls whatever it was coded to pull, and nobody reviews the calls it makes against the network. Gemini CLI asks you to confirm each Dataddo tool call, and you can pick Always allow only for the tools you trust, such as describing fields. Each call approved by you
Trafficking mistakes Swapped flight dates or the wrong cost type are found when a line item fails to deliver or bills incorrectly, usually days after launch. Line item attributes sit in the same Ad Manager dataset as delivery, so a terminal check lists suspect line items before they go live. Errors caught before launch
Token consumption Gemini spends tokens exploring raw Google Ad Manager columns, sampling rows and retrying until it understands the data. Field definitions and relations are supplied up front, so the model skips the exploration and goes straight to the answer. Fewer tokens per answer
Answer quality Prone to wrong joins, invented fields and numbers that are hard to check. Answers grounded in defined fields. In the Dataddo benchmark, 78.5% of questions were answered correctly, against 65.5% with plain CSV files. Better answers
Datasets

Google Ad Manager datasets and the questions they answer in Gemini

The Google Ad Manager datasets marketing teams use most, with their real field names. Gemini queries them by name through the Dataddo semantic layer.

Dataset Metrics and attributes Ask Gemini
Delivery
  • Total Clicks
  • Total CTR
  • Total Impressions
  • Total Line Item Level Impressions
  • + others
Export Total Clicks and Total CTR by day for the last 30 days as a CSV I can load into a notebook.
Revenue
  • Ad Exchange Estimated Revenue
  • Total Line Item Level All Revenue
  • Ad Server CPM and CPC Revenue
  • Ad Exchange Ad eCPM
  • + others
Write daily Ad Exchange Estimated Revenue for the last 90 days to a CSV file in this repo.
Inventory and fill
  • Total Code Served Count
  • Ad Exchange Coverage
  • Total Inventory Level Unfilled Impressions
  • + others
On which days in the last 30 did Total Code Served Count rise while Ad Exchange Coverage fell?
Viewability
  • Total Active View Viewable Impressions Rate
  • Total Active View Average Viewable Time
  • Video Viewership Completion Rate
  • + others
List the weeks this year when Total Active View Viewable Impressions Rate was below 70% as a table.
Orders and line items
  • Order Name
  • Line Item Name
  • Line Item Type
  • Order Delivery Status
  • Advertiser Name
  • + others
Output every Order Name with its Line Item Name entries as JSON so a script can check our naming convention.
Inventory dimensions
  • Ad Unit Name
  • Placement Name
  • Demand Channel Name
  • Country Name
  • + others
Which Ad Unit Name values in the report are missing from the ad slot list in our site code?
Line item attributes
  • Line Item Start Date Time
  • Line Item End Date Time
  • Line Item Cost Type
  • + others
Which line items have a Line Item Start Date Time later than their Line Item End Date Time?
See all Google Ad Manager datasets, metrics and attributes on the connector page →
Benchmark

More right answers. Half the confident mistakes.

We asked 43 pre-registered questions of three real datasets - Google Search Console, HubSpot deals and Google Ads - and delivered the same rows to the same model in four ways. Only the data layer changed.

78.5%

of questions answered correctly - the best of the four delivery methods tested

2x

fewer confidently wrong answers - 14.0% of runs against 24.0% and 26.3%

2.8x

more correct answers on messy CRM data - better on 8 questions, worse on none

Answered correctly All 43 questions - higher is better
Wrong, but stated as fact Share of runs - lower is better

Same model, prompts and rows in every condition; 759 graded runs, ground truth frozen before any run. On Google Search Console alone, documented CSV files did as well as Data to AI™ - the advantage comes from messier data such as HubSpot deals.

Read the benchmark →
FAQ

Google Ad Manager and Gemini: FAQ

How do I connect Google Ad Manager to Gemini?

Set up a Google Ad Manager source in Dataddo with Line Item Name, Line Item Start Date Time and Total Impressions, and attach it to a Google Gemini destination or AI Model. Put an httpUrl entry for https://headless.dataddo.com/mcp-data under mcpServers in ~/.gemini/settings.json, restart Gemini CLI and run /mcp auth dataddo.

Is there a direct Ad Manager connection inside Gemini because both are Google products?

Not one this setup uses. Dataddo extracts your Ad Manager report into a flow on a schedule, and Gemini CLI reaches that flow over the Dataddo Data Access MCP server.

What should the settings.json entry for Dataddo look like?

Add a dataddo server under mcpServers with only an httpUrl key set to https://headless.dataddo.com/mcp-data, with no headers or oauth block. The url key falls back to SSE, which Dataddo does not support.

Can I use Google SSO to sign Gemini CLI in to Dataddo?

No. The sign-in uses your Dataddo email and password, with MFA if prompted. Gemini CLI opens the page in a browser, so the machine running it needs one.

Does Gemini Code Assist in IntelliJ see the Ad Manager flow?

Yes, once you add the Dataddo server to the mcp.json of Gemini Code Assist in IntelliJ. In VS Code, agent mode already reads the same settings.json as Gemini CLI.

Could a Gemini session archive orders or edit line items?

No. Gemini only reads extracted Ad Manager report data through the semantic layer by entity and field name. Dataddo never takes SQL from the model, and no change reaches your network.

My Ad Manager queries stopped working after a few weeks. What happened?

The session probably expired or was revoked. Tokens live in ~/.gemini/mcp-oauth-tokens.json and are normally renewed on their own; run /mcp auth dataddo again to sign back in.

New from Dataddo · Data to AI™

Ask Claude or ChatGPT about your ads, analytics and CRM

“What did a new lead cost us last week, by paid channel?”

Connect 400+ sources once and get the answer right in your AI chat, without building a report. Better answers: your metrics are defined once, so the AI doesn't have to guess.