Skip to main content

weighted QS average per campaign experiment

Track how your Google Ads experiment impacts Quality Score for a single campaign over time.

This script helps you monitor the average weighted Quality Score for one base campaign and its experiment campaigns. It focuses on impressions so high-volume keywords count more than low-volume ones. By default it looks at the last 7 days, but you can switch it to the last 30 days or last business week.

You choose a base campaign name. The script then automatically finds all related experiment campaigns whose names start with that same base name. This is why a clear naming convention is important. Your experiment campaign name must include the original campaign name at the start. For example:

1.2 search - nb - nike // 20230831 // more direct ad copy

The script pulls keyword data from Google Ads and calculates:

  • A weighted average Quality Score for each campaign in the date range

  • A daily weighted Quality Score per campaign for each of the last 7 days

The results are sent to a Google Sheet, using a template that the script copies from the provided spreadsheet URL.

You get two main views in the sheet:

  • Summary view (Sheet1)

    A compact log where each row shows:

    • Today’s date

    • Campaign name

    • The date range (for example LAST_7_DAYS)

    • The weighted average Quality Score

  • Daily view (Sheet2)

    A day-by-day overview where each row shows:

    • Date

    • Campaign name

    • Daily weighted Quality Score

This makes it easy to:

  • Compare original vs experiment campaigns on Quality Score

  • Spot trends, like improving or declining Quality Scores over the last week

  • Keep a daily history for reporting or further analysis

Tips

  • Always start experiment campaign names with the exact same base name as the original campaign.

  • Use a clear naming pattern that includes a date and what you changed, so you remember the test later.

  • Run the script on a schedule to keep your Quality Score tracking up to date.

Did this answer your question?