Data to AI™ / Gemini/Apple Search Ads

Query Apple Search Ads from Gemini CLI and Code Assist

Pull Apple Search Ads campaign and keyword data into scripts, CSVs and pull requests from the terminal, so app teams check paid installs around a release without opening the ads dashboard.

Better answers, fewer tokens.

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

Which countries brought installs at the lowest cost last month?

Gemini Answer · Apple Search Ads

Canada had the lowest cost per install at $1.84, on a third of the UK's spend. The United States took the most budget at $2.61 per install.

Country Or RegionLocal Spend AmountTotal InstallsTotal Avg CPI Amount
CA Report Campaigns $3,1201,696$1.84
GB Report Campaigns $9,4804,190$2.26
US Report Campaigns $21,7008,314$2.61

Figures come from Report Campaigns with Group By set to Country Or Region and a monthly breakdown, requested from Apple in UTC.

source
Apple Search Ads · as of Mon 06:40 UTC
covers
1-30 Sep 2026
Example answer · fictional account and figures
Apple Search Ads in Gemini

Questions Gemini can answer from your Apple Search Ads data

Apple Search Ads promotes iOS apps in App Store search results. Dataddo extracts three datasets: Campaigns with budgets and serving status, Report Campaigns with spend, taps, installs and cost per install by day, country or device, and Targeting Keywords Find with the bids and match types of one campaign.

Release-day serving check

Ask Gemini

Using the dataddo server, list every campaign Name from Campaigns with Status enabled and a Serving Status that is not running, with Serving State Reasons. Exit non-zero if the list is not empty.

A mobile engineer runs the check from the release script before an App Store update goes live, so paid traffic is not sent to a campaign that has quietly stopped serving.

Daily installs file for the analytics repo

Ask Gemini

Query Report Campaigns for the last 30 days by Date and Country Or Region and write Local Spend Amount, Taps, Total Installs and Total New Downloads to data/asa-daily.csv.

A data analyst commits the CSV next to the notebook that models install trends, and the pull request shows exactly which rows changed since last week.

Bid plan diff

Ask Gemini

Read Targeting Keywords Find and compare Text, Match Type and Bid Amount with bids/plan.yaml. Print keywords whose live Bid Amount differs from the plan.

A technical marketer keeps the intended bids in version control. Gemini Code Assist in VS Code shows where the live account drifted, and the fix is reviewed like any other change.

Apple Search Ads 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 Apple Search Ads 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 Apple Search Ads to Dataddo Sign in with your Apple Search Ads account in Dataddo and choose the datasets to sync, such as Report Campaigns and Campaigns.
  3. 3
    Choose what Gemini can see Select the Apple Search Ads data Gemini may query. Access is read-only, and data you don't select stays out of reach.
Gemini setup guide →
With vs. without

Apple Search Ads in Gemini, with and without Dataddo

Without Dataddo With Dataddo Outcome for you
Checks before a release Nobody looks at the ads dashboard during a release, so a campaign that stopped serving is found days later in the weekly report. Gemini CLI reads Serving Status from Campaigns in the release workflow and stops on any enabled campaign that is not running. Serving checked at release
Data in the repo Install figures are downloaded by hand and dropped into the repo with renamed columns and no record of the period. Gemini CLI queries Report Campaigns through one MCP server and writes the same field names to the same CSV path on every run. Reproducible install files
Bid changes Bid edits in the Apple Search Ads dashboard leave no review trail, and the planned bids in a spreadsheet drift apart from the live ones. Targeting Keywords Find returns every keyword with Bid Amount and Modification Time, so Gemini prints the drift against the plan file. Bid drift visible in review
Token consumption Gemini spends tokens exploring raw Apple Search Ads 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

Apple Search Ads datasets and the questions they answer in Gemini

The Apple Search Ads 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
Report Campaigns
  • Country Or Region
  • Local Spend Amount
  • Total Installs
  • Total Install Rate
  • Campaign Name
  • + others
Write Local Spend Amount, Total Installs and Total Install Rate per Country Or Region for the last 30 days to a CSV in the repo.
Campaigns
  • Name
  • Status
  • Serving Status
  • Serving State Reasons
  • Budget Amount
  • + others
List every campaign Name with Serving Status and Serving State Reasons, and fail the check if any enabled campaign is not running.
Targeting Keywords Find
  • Text
  • Match Type
  • Bid Amount
  • Status
  • Ad Group Id
  • + others
Export keyword Text, Match Type and Bid Amount to bids/current.csv so the diff against our bid plan shows in the pull request.
See all Apple Search Ads 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

Apple Search Ads and Gemini: FAQ

How do I connect Apple Search Ads to Gemini?

Extract Apple Search Ads in Dataddo with Report Campaigns and Targeting Keywords Find and attach them to a Google Gemini destination or AI Model. Add Dataddo under mcpServers in ~/.gemini/settings.json with httpUrl https://headless.dataddo.com/mcp-data, restart Gemini CLI, run /mcp auth dataddo and sign in.

Why does the Gemini CLI config need httpUrl and not url?

With url, Gemini CLI falls back to SSE, which Dataddo does not support. Add Dataddo under mcpServers with the httpUrl key and no headers or oauth block, restart Gemini CLI, run /mcp auth dataddo and check the server with /mcp.

Does Gemini Code Assist in VS Code see the Apple Search Ads data?

Yes. Agent mode in VS Code reads the same settings.json as Gemini CLI. In IntelliJ, Gemini Code Assist uses its own mcp.json, so add the Dataddo server there.

Can a script approve Dataddo tool calls without a prompt?

Gemini CLI asks you to confirm each Dataddo tool call. You can choose Always allow per tool, which suits a check you run repeatedly. Sign-in still needs a web browser on the same machine.

Will Gemini also see flows that are not attached to Gemini?

Yes. Once signed in, Gemini reaches every flow or Context attached to an AI destination or AI Model in that Dataddo account, not only the Google Gemini ones. Use a separate Dataddo account if Apple Search Ads data should stay apart.

How fresh is the Apple Search Ads data Gemini reads?

As fresh as the last scheduled extraction. Report Campaigns and Campaigns re-read a moving date window on each run, while Targeting Keywords Find pulls all current keywords of its campaign every time.

Can Gemini change keyword bids in Apple Search Ads?

No. Gemini only reads data Dataddo extracted, through a read-only semantic layer that never accepts SQL from the model. Nothing is written back to Apple, so bid changes still happen in the Apple Search Ads account.

What happens when the Gemini sign-in expires?

Credentials are stored in ~/.gemini/mcp-oauth-tokens.json and renewed automatically. If a session expires or is revoked, run /mcp auth dataddo again and sign in with your Dataddo email and password.

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.