Advertising
Track your Quality Score history with a free Google Ads script
Copy for AI
The Quality Score in Google Ads is a snapshot. You open the interface, you see a 6 next to a keyword, and that is all the platform gives you. What the score was yesterday, last week, or before your latest ad copy change: Google does not keep it. As soon as the score changes, the old value is gone. And that is exactly the problem when you want to improve your account systematically.
Because without history you cannot see cause and effect. You adjust something, the score moves, but you do not know whether your change did it or whether it had already been sliding a week earlier. In this article you will read how to solve that with a free Google Ads script that logs a snapshot of your Quality Scores every day. No expensive tool, no subscription, just a piece of code running inside your own account.
This is a deep dive alongside our pillar on what SEA is. If you do not know the basics yet, first read what the Quality Score actually measures, because the rest of this article assumes you know the three components.
Why Google does not keep the history
Google Ads treats Quality Score as a live signal, not as a report card you track over time. The score is recalculated continuously based on recent performance: expected click-through rate, ad relevance and landing page experience. What you see in the column is the state right now. There is no built-in chart, no timeline, no export button that hands you the value from three weeks ago.
For the algorithm that makes sense. Google does not need the history to rank your ad, only the current estimate. But for you as an advertiser that history is crucial. You want to know whether restructuring an ad group genuinely lifted relevance, or whether a new landing page pushed the score down. Without your own log you are flying blind. At best you remember that a score “used to be higher”, but that is a feeling, not a measurement.
The solution is simple in principle: you record the score yourself every single day. Do it long enough and you build the timeline Google withholds from you. And that timeline is what turns a hunch into evidence.
What a Google Ads script does for you
Google Ads scripts are pieces of JavaScript you run directly in your account, under Tools and settings. They have access to your campaign data and can write it to a Google Sheet. You can run them manually or on a fixed schedule, for example every morning at seven.
For Quality Score history, here is what you do. Every day the script loops through your active keywords, reads the Quality Score and the three underlying components per keyword, and adds a new row to a Sheet with the date attached. After a week you have seven data points per keyword. After a month you see trends. After a quarter you see the effect of every structural change you made.
The setup, step by step:
- Create an empty Google Sheet and copy its URL.
- In Google Ads, go to Tools, then Bulk actions, then Scripts.
- Create a new script and paste the code that pulls the score and components per keyword and writes them to the Sheet, with the date as the first column.
- Authorise the script to talk to your account and your Sheet.
- Set a daily schedule so it runs automatically.
You will find the exact code in the official Google Ads scripts documentation, which has examples for reading keyword statistics. The most important part is that per keyword you log not just the number, but the three components as separate columns too. Because without that context the number tells you very little.
A few practical points. Limit your log to keywords that actually get traffic, otherwise you fill your Sheet with noise from keywords that never serve and therefore have no reliable score. Use a fixed date format so you can filter and build charts later. And bear in mind that a Google Sheet does not grow forever: on a large account it pays off to create a separate tab per month or per campaign so the file stays workable. The script itself runs within the free limits of Google Ads, so there are no costs attached.
Why you log the components separately
Say a keyword’s score drops from 7 to 4 in three weeks. The number alone tells you something is going wrong, but not what. Log the components separately and you see it immediately. Did ad relevance stay on “average” while expected CTR collapsed? Then something happened to your ad or your keyword match. Did landing page experience fall to “below average” on exactly the day you pushed a new landing page live? Then you know where to look.
That separation is the whole point. The score from 1 to 10 is a summary of three signals, and a summary hides where the problem sits. By tracking each component separately over time, you turn a vague “the score is dropping” into a concrete “landing page experience broke on 12 May”. That is the difference between guessing and fixing with precision. If you want to understand the three components and how they interact, read how the Quality Score components work together.
Snapshots only become valuable when you tie them to pipeline
Here is the pitfall. A daily log of Quality Scores is nice, but the number is not a goal in itself. A higher Quality Score is only valuable if it leads to a lower cost per qualified enquiry. You can chase a 10 on a keyword that never produces a sales conversation, and then you have wasted your time on a vanity number.
That is why your snapshot Sheet should not stand alone. Put the trend next to your conversion data. Is the score dropping while cost per qualified lead stays flat? Then it may not be worth an alarm. Is the score rising after you split an ad group, while cost per enquiry falls at the same time? Then you have a genuine improvement you can repeat elsewhere in the account. That is how your log becomes a steering instrument instead of a pile of numbers.
That is also exactly where many accounts get stuck: they do measure the score, but never connect it to what happens after the click. If you want to dig deeper than isolated snapshots and review your whole account in one go, the Quality Score audit with a 12-point check helps you find structural problems instead of plastering over symptoms.
When a script is no longer enough
A daily script is an excellent starting point, but it has limits. It tells you what is happening, not always why, and it fixes nothing. At some point you have the trends, you see the breaking points, and then the real work begins: straightening out the structure, tightening the keyword-to-ad match, making landing pages match intent, and above all getting conversion measurement right so you know which part of your budget produces pipeline.
That is where it pays off to outsource your Google Ads to a partner who ties the snapshots to your sales data. At Google Ads outsourcing we do not look at the score as a final grade, but at what it means for your acquisition: is your account steering on clicks and ROAS vanity, or on qualified enquiries and deals? A script gives you the history. The interpretation and the intervention make the difference.
For us, SEA is the fast acquisition layer of one orchestrated growth machine, with offline conversions and lead-to-deal attribution underneath it. A Quality Score log fits in there as an early warning signal, not as a goal.
Getting started
Start small. Set up the script today, let it run for a week, and see what you find. You do not need a perfect dataset to begin; what you mostly need is the habit of recording every day what Google itself throws away. A month from now you will have a timeline that lets you judge every change on its effect. Add a simple notes column where you write down each day what you adjusted: new ad copy, a split ad group, a revised landing page. Then the cause sits next to the effect, and you will not have to puzzle later over why a score moved on exactly that date.
Stuck on the setup, or would you like us to put your snapshot data next to your conversions and translate the trend into cost per pipeline? Get in touch and we will look together at where your account is losing value and what it is worth to fix it.
Free website scan
Enter your website and get an automatic scan within minutes, with concrete technical and SEO improvements. No sales pitch.
We only use your details for your scan. No spam, unsubscribe anytime.