The Scenario
It's Wednesday afternoon and your client's monthly budget review is at 9 AM Thursday. You need last month's impressions, clicks, cost, conversions, and ROAS for all 45 active campaigns in their Google Ads account, formatted into an Excel workbook that matches the deck template.
The bad version:
- Open Google Ads, navigate to Campaigns, set the date range to last month, export to CSV — then discover the column names don't match your template ("Impr." instead of "Impressions," "Conv." instead of "Conversions").
- Open the CSV in Excel, manually rename every column header, reformat the Cost column from "$1,234.56" strings to actual numbers, add a ROAS formula column.
- Repeat for the two separate campaign views the client's account uses (Search and Performance Max), then stack the exports and de-duplicate the campaign names that appear in both.
Your deck gets reviewed before the 9 AM meeting. There is no version of this where spending two hours on column reformatting is an acceptable use of the remaining time.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads your workbook layout, understands what you're building, and talks to Google Ads on your behalf through a native integration. No GAQL syntax required, no CSV wrangling, no reformatting pass.
Run a GAQL query on my Google Ads account to get all campaigns and their clicks, cost, average CPC, impressions, and CTR for last month and populate my Excel sheet sorted by cost descending
What You Get
- One row per campaign in your active campaign list, written into the worksheet starting at row 2 with headers in row 1.
- Columns: Campaign Name | Impressions | Clicks | Cost (in dollars, numeric) | Conversions | Conversion Value.
- Cost arrives as a plain number, not a formatted string — no find-and-replace needed.
- Any campaign the API returns as PAUSED or REMOVED is excluded automatically since the prompt specifies active campaigns.
What If the Data Is Not Quite Ready
The column order doesn't match the client deck template
Query my Google Ads account for all active campaigns and their last 30 days of impressions, clicks, cost, conversions, and ROAS, then write the results into my Excel sheet with columns in this order: Campaign Name in A, Impressions in B, Clicks in C, Cost in D, Conversions in E, ROAS in F — calculate ROAS as Conversion Value divided by Cost
The account has multiple campaigns with the same name in different campaign types
Pull all active campaigns from my Google Ads account with their last 30 days of impressions, clicks, cost, and conversions, and include the campaign type (Search, Display, Performance Max) in column B so campaigns with identical names can be distinguished
You need data from a specific label or campaign name prefix only
Query my Google Ads account for all active campaigns whose names start with "Q2_" and pull their last 30 days of impressions, clicks, cost, and conversions into my Excel sheet, one row per campaign
The full cleanup-and-report prompt for Thursday's meeting
Pull all active Google Ads campaigns with last 30 days of impressions, clicks, cost in dollars, conversions, and ROAS calculated as conversion value divided by cost — write the results into my Excel sheet sorted by cost descending, format the Cost column as a number with two decimal places, and highlight any campaign with a ROAS below 2.0 in red
One prompt handles the data pull, the sort, the formatting, and the conditional flag — nothing left to do manually before the meeting.
Try It
Get the 7-day free trial of SheetXAI and open an Excel workbook tied to your Google Ads account, then ask it to pull last month's campaign performance sorted by cost. Also see: Export Ad Group Performance for bid-level analysis, or back to the Google Ads overview.
