How to Connect Google Ads with Google Sheets (Step-by-Step Guide for 2026)
Learn how to connect Google Ads with Google Sheets using three practical methods — the native Ads add-on, manual CSV exports, or Looker Studio — so your campaign data flows automatically into spreadsheets, eliminating tedious copy-pasting and making performance reporting faster and more reliable.
If you manage Google Ads campaigns, you've probably spent way too much time copy-pasting data into spreadsheets. Pulling search term reports, tracking keyword performance, monitoring spend — it's tedious, error-prone, and honestly just not a great use of your time.
Connecting Google Ads directly to Google Sheets fixes that. Once it's set up, your campaign data flows into a spreadsheet automatically, where you can slice it, sort it, build dashboards, or share it with clients without touching the Google Ads interface every single time.
TL;DR: You can connect Google Ads with Google Sheets using Google's native Ads add-on, manual CSV exports, or Looker Studio as a connected data layer. This guide walks through each method so you can pick the one that fits your workflow.
This guide covers three practical methods:
The Google Ads Google Sheets add-on: Built-in, free, no coding required. Best for ongoing campaign monitoring.
Manual CSV export and import: Quick and dirty, works well for one-off pulls and ad hoc client deliverables.
Looker Studio as a connected data layer: Best for agencies running consistent, branded reporting across multiple clients.
Whether you're a freelancer reporting to one client or an agency juggling ten accounts, at least one of these approaches will save you real time. We'll also flag where each method falls short and show you how smarter keyword management inside Google Ads can reduce how much cleanup work you're doing in Sheets in the first place.
Let's get into it.
Step 1: Understand What You're Actually Connecting (and Why It Matters)
Before you set anything up, it helps to get clear on what data you're pulling and what kind of connection you need. Not all Google Ads data is equally useful in a spreadsheet, and the type of connection you choose determines whether your data stays fresh or goes stale.
Here's what's worth pulling from Google Ads into Sheets:
Search Terms Report: What people actually typed before clicking your ad. This is gold for negative keyword research and identifying wasted spend.
Keyword Performance: Clicks, impressions, CTR, average CPC, conversions, and conversion value broken down by keyword.
Campaign and Ad Group Data: Spend, ROAS, impression share — useful for budget pacing and performance summaries.
Cost and Conversion Trends: Day-over-day or week-over-week data for spotting patterns and flagging anomalies.
Now, there's an important distinction to understand before you pick a method: a live data connection means your sheet automatically pulls fresh data on a schedule. A static export is a snapshot in time — the numbers are accurate when you pull them, but they don't update on their own.
For client reporting or budget tracking, you almost certainly want a live connection. For a one-time keyword audit or a quick deliverable, a static export is fine.
One thing worth flagging early: the quality of your Sheets reports is directly tied to the quality of your campaign data. If your search terms report is full of irrelevant queries and your keyword structure is messy, that noise carries straight into your spreadsheet. Clean campaigns produce clean data. If you're working through a campaign optimization process, sorting out your keyword hygiene before setting up a Sheets connection will save you a lot of cleanup work later.
Step 2: Use the Google Ads Add-on for Google Sheets (Recommended Method)
This is the method most PPC managers should start with. It's free, it's maintained by Google, and it doesn't require any coding. Once it's configured, your sheet updates automatically on whatever schedule you set.
Install the add-on
Open a new Google Sheet. Go to Extensions in the top menu, then click Add-ons, then Get add-ons. Search for "Google Ads" in the Google Workspace Marketplace. You're looking for the official add-on published by Google. Click Install and follow the authorization prompts.
Authorize with the right account
When prompted, make sure you authorize using the same Google account that has access to your Google Ads account. If you're an agency managing client accounts through an MCC (Manager Account), authorize with your MCC-level login — that gives you access to all linked accounts from a single connection.
Create your first report
Once installed, go to Extensions > Google Ads > Create new report. A sidebar will open. Here's what to configure:
1. Account: Select the Google Ads account (or MCC sub-account) you want to pull data from.
2. Date range: Choose a preset (Last 30 days, This month, etc.) or set a custom range. For recurring reports, dynamic date ranges like "Last 30 days" are more useful than fixed dates.
3. Report type: Choose from Keywords, Search Terms, Campaigns, Ad Groups, and others. Each maps to a different view in Google Ads.
4. Metrics: Add the columns you want — clicks, impressions, cost, CTR, average CPC, conversions, conversion value. Only pull what you'll actually use. More columns = more noise.
5. Dimensions: These segment your data. Common choices are keyword text, match type, campaign name, ad group name, and search term.
Click Create report. The add-on generates a new tab in your sheet and populates it with data. On first run, this usually takes 30-60 seconds depending on account size.
Schedule automatic refreshes
Go to Extensions > Google Ads > Schedule reports. You can set daily or weekly refreshes. For active campaigns, daily is usually the right call. The sheet will update in the background without you touching it.
Managing multiple accounts
The mistake most agencies make here is trying to cram all accounts into one tab. Don't. Create a separate report tab per account, or use your MCC access to pull aggregated data if you need a cross-account view. Bulk editing and managing data at scale becomes much easier when each account has its own structured tab.
Success indicator: Your sheet populates with real campaign data on the first run and the column headers match the metrics you selected. If you see an error, it's almost always an authorization issue — re-check that the Google account linked to the add-on has the right access level.
Step 3: Export and Import Data Manually (For One-Off Reports)
Sometimes you don't need a live connection. You need a quick snapshot — a search terms export for a client audit, a keyword performance pull for a one-time analysis, or a campaign summary for a deck. Manual export is the right tool for that.
When to use this method
Use manual export when you need a one-time deliverable, when you're doing a quick audit that doesn't require ongoing data, or when you want to share a frozen view of performance with a client without giving them live access to your reporting setup.
How to export from Google Ads
Navigate to the report you want inside Google Ads. For search terms: go to Campaigns > Search terms. For keyword performance: go to Campaigns > Keywords. For campaign-level data: go to Campaigns > Campaigns.
Before you download anything, apply your filters. Set your date range, filter by campaign or ad group if needed, and filter by status if you only want active keywords. Exporting everything when you only need a subset creates a messy file you'll have to clean up in Sheets.
Once filtered, click the Download button (the downward arrow icon in the top right of the report). You'll see format options. Choose Google Sheets — this opens a new Sheets file pre-populated with your report data. No CSV download, no import step, no formatting issues. It's clean and fast.
Alternatively, download as CSV if you need to work offline or import into another tool.
Tips for keeping exported data clean
Filter before exporting: The more specific your filter, the more useful the export. Don't pull 90 days of data across all campaigns if you only need last month's search terms for one campaign.
Remove zero-impression rows: In Sheets, use a quick filter to hide or delete rows where impressions = 0. They add bulk without adding insight.
Rename the tab immediately: When the sheet opens, rename the tab to something meaningful like "Search Terms - June 2026" so you're not hunting for it later.
The main limitation
Exported data is a static snapshot. The moment you download it, it starts going stale. If a client asks for updated numbers next week, you're exporting again. This is fine for one-off use, but if you find yourself re-exporting the same reports regularly, that's your signal to set up the add-on or Looker Studio instead.
Step 4: Connect Google Ads to Google Sheets via Looker Studio
Looker Studio (formerly Google Data Studio) is a free Google product that sits between your data sources and your reporting outputs. It connects natively to Google Ads and lets you build dashboards, scheduled reports, and multi-source views without writing code.
It's not a direct Google Ads to Sheets pipeline in the traditional sense, but it's a powerful layer for agencies who need consistent, structured reporting across multiple clients.
How to set up a Looker Studio data source
Go to lookerstudio.google.com and create a new report. Click Add data and select Google Ads from the connector list. Authorize with your Google Ads account. Select the account you want to connect, then choose which metrics and dimensions to include.
Looker Studio pulls directly from the Google Ads API, so the data is fresh and doesn't require manual refreshes. Dashboards update automatically when you open them.
Getting Looker Studio data into Sheets
Looker Studio doesn't have a native "export to Sheets" button for live data. The workaround most agencies use is one of two approaches: schedule PDF or email exports from Looker Studio for client delivery, or use the Sheets add-on alongside Looker Studio — Sheets for raw data manipulation, Looker Studio for visualization.
Some teams use third-party connectors like Supermetrics or Coupler.io to pull Looker Studio-processed data into Sheets with more flexibility. These are paid tools but worth considering if you're managing complex multi-account setups where native options feel limiting.
When Looker Studio is the right choice
Use Looker Studio when you need branded, client-facing dashboards that pull from multiple sources (Google Ads + Google Analytics + Google Search Console, for example). It's also good when you want to share live reports with clients via a link rather than sending updated spreadsheets.
Where it falls short
Looker Studio is excellent for visualization but less flexible for raw data manipulation. If you need to run QUERY() functions, apply custom formulas, or do deep analysis on keyword-level data, you're better off with the Sheets add-on. Think of Looker Studio as the presentation layer and Sheets as the analysis layer. For teams looking to read Google Ads reports properly, understanding which tool handles which job makes the whole workflow much cleaner.
Step 5: Structure Your Google Sheet for Useful PPC Reporting
Getting data into Sheets is step one. Making it actually useful is step two. In most accounts I audit, the Sheets setup is either a single tab of raw data dumped with no structure, or an over-engineered dashboard that nobody uses. There's a better middle ground.
A practical tab structure
Raw Data: The unformatted output from your add-on or export. Don't touch this tab manually — it's your source of truth.
Search Terms: A filtered view of your search terms data. Use QUERY() or FILTER() to pull only relevant columns and exclude zero-spend rows.
Keyword Performance: Keyword-level metrics — clicks, impressions, CTR, CPC, conversions. Sort by cost descending to see where budget is going.
Spend Summary: A high-level view of cost by campaign, week over week or month over month. Useful for budget pacing.
Client View: A clean, formatted summary tab with only the metrics your client cares about. No raw data, no formulas visible — just clear numbers.
Using QUERY() and FILTER()
These two functions do most of the heavy lifting. A basic QUERY() example to pull keywords with more than 100 clicks from your Raw Data tab:
=QUERY('Raw Data'!A:H, "SELECT A, B, C, D WHERE D > 100 ORDER BY D DESC", 1)
Adjust the column letters to match your actual data structure. FILTER() works well for simpler pulls where you want to match a specific campaign name or ad group.
Conditional formatting that actually helps
Flag high-spend, low-conversion keywords with a red background — any keyword spending more than your target CPA with zero conversions should stand out immediately. Highlight CTR outliers (very high or very low) to spot anomalies worth investigating.
A note on data quality
If your search terms tab is full of irrelevant queries — random navigational searches, competitor brand terms, completely unrelated phrases — your analysis will be skewed. High spend on junk terms inflates your average CPC and tanks your conversion rate metrics. This is where negative keyword hygiene connects directly to reporting quality. Clean up the underlying data, and your Sheets analysis gets sharper.
Success indicator: You can answer "what's my top-performing keyword this month?" in under 30 seconds from the sheet, without touching Google Ads.
Step 6: Automate the Refresh and Keep Your Data Clean
Setting up the connection is the one-time work. Keeping it running cleanly is the ongoing work. Here's how to handle both.
Scheduling refreshes in the Google Ads add-on
Go to Extensions > Google Ads > Schedule reports. Set your refresh frequency. For active campaigns with daily budget decisions, daily refresh is the right call. For monthly client reporting, weekly is usually enough. The add-on runs the refresh in the background — you don't need the sheet open for it to work.
Going further with Google Apps Script
If you want more control, Google Apps Script (built into every Sheets file under Extensions > Apps Script) lets you write simple automations without external tools. Common use cases:
Trigger a sheet refresh at a specific time: Run a script that calls the add-on's refresh function at 6am daily so data is fresh when you start work.
Send an email alert when spend crosses a threshold: Script a check that runs daily — if total cost in the Spend Summary tab exceeds your monthly budget cap, send an email alert. This is genuinely useful for catching runaway spend before it becomes a problem.
Log daily snapshots: Append today's metrics to a historical log tab automatically, so you build a time-series dataset without manual effort.
Apps Script requires basic coding knowledge, but the Google documentation is solid and most of these use cases have ready-made examples you can adapt.
The data quality problem with automation
Here's the thing most people miss: automated reports are only as good as the underlying campaign data. If you're pulling in hundreds of junk search terms every week, your automated Sheets report will faithfully reflect that mess on a daily basis. Automation amplifies whatever's already there — good or bad.
The practical fix is to run a search terms audit in Google Ads before you set up your Sheets connection. Go through your search terms report, add negatives for irrelevant queries, and tighten up your keyword match types. What usually happens in accounts I audit is that 20-30% of search terms are clearly irrelevant but have never been actioned — they just keep accumulating, inflating costs and cluttering reports.
Tools like Keywordme let you clean up search terms and add negatives directly inside Google Ads without exporting to Sheets first. You can flag junk terms, build negative keyword lists, and apply match types in a few clicks right inside the Search Terms Report. The result is that when your Sheets connection pulls data, it's pulling from a cleaner account — so your automated reports reflect actual performance rather than noise.
Putting It All Together: Which Method Should You Use?
Here's a simple decision framework based on what you're trying to do:
One-off report or quick audit: Use the direct CSV or Google Sheets export from inside Google Ads. Fast, no setup required, works immediately.
Ongoing campaign monitoring for one or a few accounts: Use the Google Ads add-on for Sheets. Free, reliable, and handles scheduled refreshes without any manual work.
Multi-client agency reporting with branded dashboards: Use Looker Studio for client-facing views, with the Sheets add-on running in parallel for raw data analysis and keyword audits.
Quick-reference checklist before you go live:
Google Ads account connected: Add-on authorized with the correct Google account (MCC-level if managing multiple clients).
Report configured: Right metrics selected, date range set to a dynamic option, dimensions match your reporting needs.
Refresh scheduled: Daily for active campaigns, weekly for lighter monitoring.
Sheet structured: Raw Data tab untouched, summary tabs pulling from it via QUERY() or FILTER(), Client View tab formatted cleanly.
Data quality checked: Search terms audited and negatives added before the connection goes live.
The best reporting setup is one that reflects clean campaign data. What you see in Sheets is a mirror of what's happening in Google Ads. If your campaigns are messy, your reports will be messy. If your keyword structure is tight and your negatives are maintained, your Sheets reports become genuinely useful decision-making tools rather than noise generators.
If your search terms report is full of irrelevant queries, fix that first. Start your free 7-day trial of Keywordme to clean up junk search terms and add negatives directly inside Google Ads — so the data flowing into your spreadsheet is worth analyzing from day one.