Campaign performance tracker for Google Ads using Scripts
Costs, conversions, CTR, CPA, Revenue — These words keep running through the head of a performance marketer all the time. And having these numbers on fingertips helps the marketers to better optimize the ad campaigns. But for the performance marketing teams, having all these data points at a single place is a major challenge. The script below aims to solve this problem.
How does the script do that?
This Google Ads script fetches the stats from all the active campaigns and ad groups for the last 30/7 days and records the results in a google spreadsheet. This spreadsheet can be used to compare the recent performance with the corresponding previous period. It can also send the spreadsheet URL to your inbox daily. Here’s a screenshot of the spreadsheet.

How can you set this up?
- Make a copy of this template spreadsheet. (The template sheet currently contains some example campaigns which will be overwritten once you run the script)
- Create a new script in your Google Ads account (How to create a Google Ads script?)
- Copy and paste the following code into the editor area
- Replace
SPREADSHEET_URLin the script with the URL of your spreadsheet (the one copied from the template spreadsheet) - Schedule the script daily at any convenient time. — How to schedule script?
How to make the best use of the script?
- To review any changes done for Optimisation: The campaign managers do a lot of optimisation on a daily basis like keyword changes, bid changes or ad copy changes. As the sheet directly shows the comparison with the previous period, any effect (due to the change) will be directly reflected on the change percentage.
- Identify better-performing campaigns (or otherwise): When there is a crunch in the budget, the campaign managers have to be extra careful about the performance of various campaigns. In that case, identifying the poor performing Campaigns/AdGroups and cutting down their budget will prove helpful in minimising redundant spend. Similarly, the same budget can be used for a better performing campaign.
- To detect the anomaly in the performance: I had added some broad match keywords in
Contract Mgmtad group ofSearch-AUScampaign. I forgot to review the impact of this change. The sheet showed some unusual activity in this ad group (screenshot below). So I checked and found that it was because of those broad match keywords which I had added. So this sheet proved to be a savior :D

Note: I developed this script in 2016 when there weren’t any tools to automate reporting. But today, there are a lot of great products that I would recommend using like Supermetrics (for small teams) and Clarisights (for large teams).
