How to export Google Ads data to Google Sheets
There are four practical ways to export Google Ads data to Google Sheets: download a report manually from the Google Ads interface, schedule an emailed report and import the file, run a Google Ads script that writes straight into a spreadsheet, or connect a third-party tool that refreshes the sheet on a timer. Which one you pick depends on whether you need the numbers once or every single week.
Most agency people land on this page for the same reason. A client wants their Google Ads numbers in a format they can poke at, or you need campaign data next to Meta spend and GA4 sessions in one tab so the totals actually add up. The export itself takes two minutes. Doing it forty times a month across a client book is what quietly eats your Thursdays.
This guide walks through each method, what it costs you in setup and maintenance, and the point where a spreadsheet stops being the right destination. If you want the shortcut, our Google Ads integration skips the export step entirely.
Last updated: September 2026
Key takeaways
- Google Ads exports to Google Sheets natively - use the download icon in any report or campaign table and choose Google Sheets as the format.
- Scheduled Google Ads reports can be emailed automatically, but they arrive as attachments, so someone still has to open the mail and paste the data in.
- A Google Ads script using
SpreadsheetAppis the only free method that writes into an existing sheet on a schedule with no manual step. - Spreadsheets break down at multi-client scale: across ReportsMate accounts, about 4 in 10 client profiles have more than one ad or analytics platform connected, and roughly 1 in 4 have three or more.
- If the end goal is a client seeing the numbers, email beats a spreadsheet link. Across around 2,700 tracked report sends on ReportsMate, the median open happened in under six hours and about 3 in 4 opens landed within a day.
What this guide covers
- The four export methods compared
- Method 1 - manual download from Google Ads
- Method 2 - scheduled reports by email
- Method 3 - Google Ads scripts writing to Sheets
- Method 4 - connectors and the Google Ads API
- How to structure the sheet once the data lands
- When a spreadsheet is the wrong destination
- FAQs
Which Google Ads to Sheets method should you use?
Pick by frequency and by who reads the result. A one-off audit needs a manual download. A recurring client deliverable needs automation, because anything you have to remember to do every Monday is a task you will eventually forget on the Monday it mattered.
| Method | Setup effort | Refreshes itself | Best for | Watch out for |
|---|---|---|---|---|
| Manual download | Under 2 minutes | No | One-off pulls, audits, ad hoc client questions | Repeats forever; no version history |
| Scheduled email report | ~5 minutes | Partly (email arrives, import is manual) | Internal record keeping, simple archives | Attachment still needs importing by hand |
| Google Ads script | 30-60 minutes once | Yes | A single spreadsheet you own and maintain | Needs a little JavaScript; scripts break silently when a column changes |
| Third-party connector | 10-20 minutes per account | Yes | Multi-account, multi-platform blends | Ongoing cost per data source or account |
We build ReportsMate, so treat this as an informed but interested view: we think spreadsheets are excellent working files and poor client deliverables. The comparison above is still accurate whichever tool you end up using.
Method 1 - how to manually export Google Ads data to Google Sheets
The fastest google ads data export is the download button inside Google Ads itself. Open any campaign, ad group, keyword or search terms table, or build a custom view in the report editor, then use the download icon in the top right and choose Google Sheets. Google Ads writes a new spreadsheet into your Drive and gives you the link.
A few things worth knowing before you download. The export honours whatever date range, segments and columns are on screen, so set those first. If you have segmented by day or by device, every row multiplies out, which is exactly what you want for charting and exactly what you do not want for a summary table. Google's own Google Ads Help documentation on downloading reports covers the available formats and the segment behaviour.
Two habits save time later. Add the currency and account columns if you manage clients across markets, because a sheet of numbers with no currency label is a mistake waiting to happen. And rename the file the moment it lands, since Google Ads names exports predictably and you will end up with six identically named files.
This method is fine for a quarterly audit or answering a client question in a hurry. It is not a reporting process.
Method 2 - schedule a Google Ads report download by email
Google Ads can email a saved report on a recurring schedule, which gets you a Google Ads report download without opening the interface. In the report editor, save your report, then use the schedule option to send it daily, weekly or monthly to chosen recipients as a CSV, Excel or Google Sheets attachment.
The honest limitation: this automates the sending, not the loading. The file arrives in an inbox and a human still has to import it into the master sheet. If your workflow is "download, import, refresh pivot table", you have automated one third of it.
Where scheduled reports genuinely help is as an archive. Point them at a shared mailbox and you get a dated trail of raw performance data to fall back on when a client disputes a number six months later.
One insider term worth defining here, because it shapes everything below: reporting cadence is simply how often a client hears from you with numbers attached. Weekly cadence with a small update usually holds a retainer better than monthly cadence with a large one, and the export method you choose has to survive the cadence you promised.
Method 3 - automate Google Ads spreadsheets with a script
Google Ads scripts are the free way to automate Google Ads spreadsheets properly. A script runs inside your Google Ads account on a schedule you set, pulls data with a GAQL query or the report API, and writes it into a specific spreadsheet using the SpreadsheetApp service. No manual step at all.
A minimal pattern looks like this:
function main() {
var sheet = SpreadsheetApp
.openByUrl('YOUR_SHEET_URL')
.getSheetByName('GoogleAds');
var rows = AdsApp.report(
'SELECT campaign.name, metrics.cost_micros, metrics.clicks, metrics.conversions ' +
'FROM campaign WHERE segments.date DURING LAST_30_DAYS'
).rows();
sheet.clearContents();
sheet.appendRow(['Campaign', 'Cost', 'Clicks', 'Conversions']);
while (rows.hasNext()) {
var row = rows.next();
sheet.appendRow([
row['campaign.name'],
Number(row['metrics.cost_micros']) / 1000000,
row['metrics.clicks'],
row['metrics.conversions']
]);
}
}
Note the division by one million. Google Ads returns cost in micros, so a $42.50 spend arrives as 42500000. Forget that conversion and your client report will look like a rounding error the size of a mortgage. The Google Ads scripts developer documentation is the reference to keep open while you build.
Scripts suit agencies with one or two accounts and someone comfortable editing JavaScript. The maintenance cost is real: scripts fail quietly when a field name changes or an account is renamed, and nobody notices until a client asks why the sheet stopped updating. Set the script to email you on failure.
Method 4 - connectors and the Google Ads API
If you need Google Ads to Sheets across multiple accounts, a connector is usually less work than maintaining scripts. Supermetrics, Coupler and similar tools install as Google Sheets add-ons, authenticate against your accounts and refresh on a schedule. Looker Studio is a related option, though it visualises rather than filling a spreadsheet. We have written separately about Looker Studio alternatives for agencies if that is the direction you are weighing up.
For heavier requirements, the Google Ads API and the BigQuery Data Transfer Service land raw data in a warehouse that Sheets can then query with a connected sheet. That is the right architecture when row counts stop being spreadsheet-sized.
Cost decides it for most agencies. Connectors typically price per data source or per account, so a book of twenty clients across Google Ads, Meta and GA4 multiplies quickly. Weigh that against what the manual process costs you in billable hours - our reporting time savings calculator does that maths in about a minute.
How to structure the sheet once the data lands
Keep raw exports and client-facing views in separate tabs. This is the single change that stops spreadsheets rotting. One tab per platform holding untouched export data, one summary tab that references it with formulas, and no manual edits anywhere in the raw tabs.
Set up the summary tab against the metrics a client actually reacts to rather than everything the export offers. Cost, conversions, cost per conversion, conversion rate and impression share cover most Search accounts. Our free Google Ads report template lays out that structure if you want a starting point rather than a blank grid.
Two details prevent the most common breakages. Use QUERY or FILTER rather than hard-coded cell ranges, because every refresh changes the number of rows. And note the date range in plain language at the top of the summary tab, since a client reading a sheet with no context will assume the worst possible interpretation of any number that dipped.
The blending problem shows up fast. Across ReportsMate accounts, roughly 4 in 10 client profiles have more than one platform connected and about 1 in 4 have three or more, with Google Analytics on around 7 in 10 clients and Google Ads on close to 3 in 10. A single Google Ads sheet is rarely the whole report, and every extra platform is another tab, another export cadence, another thing that can be stale on the day you present.
When a spreadsheet is the wrong destination
Export to Sheets when you need to work with the data. Do not export to Sheets when the goal is a client understanding their results. Those are different jobs and the spreadsheet is only good at one of them.
We built ReportsMate email-first because after years around agency reporting, the pattern was hard to miss: the beautifully built dashboard or shared sheet gets opened once during onboarding and then never again, while the report that lands in the inbox actually gets read. Across around 2,700 tracked report sends on our platform, the median open happened in under six hours and about 3 in 4 opens came within the first day. A shared spreadsheet link cannot compete with that, because it requires the client to remember, click and interpret.
White-labelling is the other gap. White-label reporting means the report carries your agency's branding rather than the tool's, right down to the sending domain and the sender identity, so the client experiences it as your work. A Google Sheet says Google Sheets. That is fine internally and quietly undercuts a retainer externally.
The practical split most agencies land on: keep spreadsheets for analysis, working files and one-off deep dives, and automate the recurring client-facing report so nobody has to remember it. See how automated reporting works if you want the mechanics, or read our breakdown of Google Ads reporting automation.
FAQs
Q: Can you export Google Ads data directly to Google Sheets without a third-party tool?
A: Yes. Google Ads has native Google Sheets output in its download menu, so you can send any campaign, ad group, keyword or search terms table straight to a new spreadsheet in your Drive, or schedule a saved report to arrive as a Sheets attachment. The one thing Google Ads will not do natively is write into an existing spreadsheet on a schedule, which is what a script or a connector solves. For a one-off export, the native download is the fastest route and costs nothing.
Q: How do I automatically update Google Ads data in Google Sheets?
A: Use a Google Ads script or a third-party connector. A script runs on a schedule inside your Google Ads account and writes into a named spreadsheet using the SpreadsheetApp service, which is free but requires basic JavaScript and occasional maintenance. Connectors like Supermetrics install as Sheets add-ons and refresh on their own timer without any code, at a per-account or per-source cost. Whichever you choose, set up a failure alert, because the most common problem is not a broken export but a silently stale one.
Q: Why is my Google Ads cost showing as a huge number in Sheets?
A: You are looking at micros. The Google Ads API and scripts return monetary values in micros, meaning one millionth of the account currency unit, so $42.50 arrives as 42500000. Divide by 1,000,000 in your script or add a formula column in the sheet. Manual downloads already convert this for you, which is why the problem only appears once people move from downloading to scripting.
Q: What is the difference between exporting to Sheets and using Looker Studio?
A: Sheets gives you the underlying rows to manipulate; Looker Studio gives you a visual layer over a live connection. Export to Sheets when you need to calculate, blend or reconcile numbers yourself. Use Looker Studio when the output is a chart someone will look at. Both share the same weakness for client reporting, which is that they require the client to open a link. That is the gap email-first delivery is designed to close, and it is why we treat spreadsheets as working files rather than deliverables.
Q: How often should I send Google Ads reports to clients?
A: Match the cadence to the spend and the decision speed, not to the calendar. Accounts with meaningful daily spend usually justify a weekly report, since a fortnight of a broken conversion tag is expensive. Lower-spend or long-sales-cycle accounts are fine monthly. The important part is that the cadence you promise is one you can actually sustain, which is precisely where manual exports fail. Automating removes the temptation to skip a week when things get busy. Pricing details cover which plans include multiple schedules per client.
Q: Can I combine Google Ads and Meta Ads data in the same Google Sheet?
A: Yes, though it takes more care than it looks. Export each platform into its own raw tab and build a summary tab that references both, rather than pasting them into one table, because the platforms define conversions and attribution windows differently and totalling them naively produces a number that is not true. Label every metric with its source. A blended cost per acquisition is a legitimate figure; a blended conversion count usually is not, and a client who later checks the platform will find the discrepancy.
Final tips
Choose the lightest method that survives your cadence. If you export Google Ads data to Google Sheets once a quarter, the download button is the whole answer and anything more is over-engineering. If you do it weekly across a client book, automate it now, because the manual version does not get faster with practice.
Keep raw and presentation layers separate, convert micros, label currency and date range, and alert on any automated method so a silent failure does not become a client conversation. Then be clear about which job the spreadsheet is doing: analysis, or client communication. It is genuinely good at the first one.
Stop losing your Sundays to client reports. Start your free 14-day trial - no credit card, no setup, cancel anytime. Your clients get branded Google Ads reports in their inbox automatically, so nobody has to open a spreadsheet to find out how the month went.