Connect Apple Search Ads to Google Sheets

Reports written straight into a spreadsheet you own, by the agent you already use. No export file and no ETL tool in between.

Connect Apple Ads and Google Drive to Hermoso and both become callable from the same agent. apple_ads_report pulls the performance rows; create_sheet and append_to_sheet put them in a spreadsheet you own. No export file, no warehouse, no third tool holding your credentials.

What that looks like

"Pull last week's Apple Search Ads spend by keyword and append it to my Apple Ads sheet." The agent calls the report, shapes the rows and appends them. Ask again next Monday and the sheet grows by a week.

The Drive scope Hermoso requests is drive.file, which reaches files it created or that you picked, not your whole Drive.

How to connect Apple Search Ads to Google Sheets

  1. Connect both accounts. In the app, open Connectors and connect Apple Ads, then Google Drive. Sheets and Docs ride on the same Google authorisation, so it is one consent screen, not three. Apple Ads is a key exchange rather than a button; the Apple Search Ads setup guide covers it, including how to connect Apple Search Ads to Claude or ChatGPT, where you will type the request.
  2. Ask for the first pull. "Pull Apple Search Ads performance by campaign for the last 30 days and put it in a new sheet called Apple Ads." The agent calls apple_ads_report, then create_sheet, and hands back the link.
  3. Make it recurring. The same sentence with "append" instead of "new sheet", run on a schedule from the client you use (a scheduled task in Claude or ChatGPT, or a cron job calling the Hermoso CLI), adds a block of rows each time. Nothing is overwritten unless you ask for it.
  4. Point your dashboard at the sheet. Looker Studio, Power BI and Tableau all read Google Sheets with their own connectors.

What the sheet looks like

One row per entity per period. Columns follow the level you asked for (campaign, ad group, ad, keyword or search term) plus the metrics Apple reports: impressions, taps, installs, spend, tap-through rate, cost per tap and cost per acquisition. Ask for daily granularity and each entity gets one row a day; ask for totals and it gets one. The agent can add a grand-totals row, and on App Store reports it can keep entities with no delivery so a paused keyword shows as zero instead of vanishing.

Because the agent shapes the rows before writing them, you can ask for exactly the sheet you want: only keywords over a spend threshold, the campaign name next to its id, week-over-week changes worked out before the write. That is work a CSV export leaves to you.

Append, replace, or format

The Sheets tools cover the whole edit: append_to_sheet adds rows, update_sheet writes a range in place, clear_sheet_range empties one first when you want a replace rather than a pile-up, format_sheet handles headers, widths and number formats, and manage_sheet_tabs gives each campaign or each month its own tab. A "refresh the dashboard sheet" request is a clear followed by a write, on the tab you name.

Export Apple Search Ads to Looker Studio from the sheet

Hermoso has no native Looker Studio connector; the sheet is the bridge. In Looker Studio, create a data source, choose Google Sheets, and pick the spreadsheet and the tab the agent appends to. Build the report once and leave it. Every append shows up on the dashboard's next data refresh, as long as the column headers stay the same between runs. The same pattern works for Power BI and Tableau.

Want JSON instead of a sheet?

The same report is available as raw JSON from the Hermoso API (POST /v1/tools/apple_ads_report) or the CLI. See Export Apple Search Ads to JSON, and export data from Apple Search Ads for every other destination.

Frequently asked questions

How do I connect Apple Search Ads to Google Sheets?

Connect Apple Ads and Google Drive in Hermoso, then ask your agent to put the report in a sheet. It pulls the rows with apple_ads_report and writes them with create_sheet or append_to_sheet, and hands back the link.

Does Hermoso need access to my whole Google Drive?

No. It requests drive.file, which covers files Hermoso created and files you explicitly pick.

Which levels and metrics can go into the sheet?

Campaign, ad group, ad, keyword or search-term level, with impressions, taps, installs, spend, tap-through rate, cost per tap and cost per acquisition, as totals or as an hourly, daily, weekly or monthly series.

Will a scheduled report overwrite my sheet?

Not unless you ask it to. Appends add rows; a replace is a clear followed by a write on the tab you name, and the agent only does that when the request says so.

Can Looker Studio or Power BI read the result?

Yes. Hermoso has no native connector for either, but both read Google Sheets with their own connectors, so a dashboard built on the sheet refreshes as the agent appends to it.

Can the report run on a schedule?

Yes, from the client your agent runs in: a scheduled task in Claude or ChatGPT, or a cron job calling the Hermoso CLI or API. Each run pulls the new period and appends it.

Start free: 30 credits at signup, and every feature on every plan. Credits are spent only on AI models and Ad Spy research; posting, scheduling, ads management and analytics are free.

Start free →   See pricing