Quality Score is a key diagnostic metric in Google Ads that helps you understand why some keywords or ads underperform.
The built-in Google Ads analytics shows basic Quality Score data, but it’s not ideal for analyzing trends over time, comparing campaigns, or drilling into the components that hold your score back. For deeper and more comprehensive insights, you can analyze Google Ads data in BigQuery.
This guide explains how to use a pre-built Google Ads Quality Score data model to track self-updating metrics in BigQuery with Windsor.ai.
Google Ads Quality Score data model
By exporting the Quality Score data into BigQuery using Windsor.ai, you can create a structured dataset that tracks your Quality Score metrics over time.
This allows you to:
- Analyze Quality Score trends across ad groups and campaigns
- Blend the Quality Scores with KPIs like impressions and clicks
- Automate reporting and integrate with tools like Looker Studio
Here’s a pre-built Google Ads data model for analyzing Quality Score in BigQuery:

How this data model works
This Google Ads Quality Score data model is built using the star schema method, making it easy to analyse and scale.
At the center of the model is the fact_quality_score table, which holds all essential metrics such as Quality Score components, impressions, clicks, and costs.
Surrounding the fact table are four supporting dimension tables:
- dim_account – account-level details
- dim_campaign – campaign attributes
- dim_ad_group – ad group information
- dim_criterion – keyword or criterion-level details
These dimension tables provide all the descriptive context needed to break down and filter on your Quality Score data from any angle.
💡 If you’d like to learn how to design data models like this yourself, check out our guide: “How to Build a Facebook Ads Data Model in BigQuery.” There, we explain the star-schema modeling approach step by step, so that you can apply it to any marketing dataset.
How to deploy this model using Windsor.ai
To make your setup easier, we’ve prepared ready-to-use configurations for the tables defined in the above schema. These configurations can be copied right into Windsor.ai to create scheduled export tasks for BigQuery.
Quick setup steps:
- Connect your Google Ads account(s) to Windsor.ai and click ‘Next.’
- Scroll down to Destinations → BigQuery.
- Click “Create destination task” (create separate tasks for each config).
- Copy-paste the Connector URL from the config below.
- Set Schedule type as proposed in the config (or adjust to your needs).
- Set Columns to match from the config below.
- Save the task and see it’s running and streaming data to your BigQuery project.
📚 For detailed setup steps (including connecting your BigQuery project), visit documentation: How to Integrate Data into BigQuery with Windsor.ai.
Once set up, Windsor will automatically populate your BigQuery tables with data from Google Ads, so you can start analyzing your Quality Score right away. You can start with a 30-day free trial to test it out at no cost and see how it works for your campaigns.
Pre-built configurations for Windsor to BigQuery export tasks
Create BigQuery destination tasks in Windsor.ai with the following configurations (just copy-paste the connector URL and select/adjust the proposed settings).
❗ Important: Make sure to insert your actual API key into these connector URLs. For a quick API key insertion, first, paste a copied connector URL into the data preview field; Windsor will automatically add your API key. Preview your data and copy-paste this complete URL into the BigQuery destination task (repeat for each config).

1) Destination task: fact_quality_score
Connector URL:
https://connectors.windsor.ai/google_ads?date_preset=last_7d&fields=account_id,ad_group_id,campaign_id,clicks,conversions,cost,criterion_id,date,historical_creative_quality_score,historical_landing_page_quality_score,historical_quality_score,historical_search_predicted_ctr,impressions
Task settings:
| Task name | Google Ads Quality Score -> BigQuery (fact_quality_score) |
| Schedule type | Daily |
| Columns to match | date, account_id, campaign_id, ad_group_id, criterion_id |
2) Destination task: dim_account
Connector URL:
https://connectors.windsor.ai/google_ads?date_preset=last_7d&fields=account_id,account_name,account_time_zone,currency_code,managerTask settings:
| Task name | Google Ads Quality Score -> BigQuery (dim_account) |
| Schedule type | Daily |
| Columns to match | account_id |
3) Destination task: dim_campaign
Connector URL:
https://connectors.windsor.ai/google_ads?date_preset=last_7d&fields=account_id,bidding_strategy,campaign_budget,campaign_id,campaign_name,campaign_status,end_date,start_dateTask settings:
| Task name | Google Ads Quality Score -> BigQuery (dim_campaign) |
| Schedule type | Daily |
| Columns to match | campaign_id |
4) Destination task: dim_ad_group
Connector URL:
https://connectors.windsor.ai/google_ads?date_preset=last_7d&fields=account_id,ad_group_id,ad_group_name,ad_group_status,campaign_id,cpc_bid_microsTask settings:
| Task name | Google Ads Quality Score -> BigQuery (dim_ad_group) |
| Schedule type | Daily |
| Columns to match | ad_group_id |
5) Destination task: dim_criterion
Connector URL:
https://connectors.windsor.ai/google_ads?date_preset=last_7d&fields=account_id,ad_group_criterion_primary_status,ad_group_criterion_type,ad_group_id,campaign_id,criterion_id,final_urls,keyword_match_type,keyword_textTask settings:
| Task name | Google Ads Quality Score -> BigQuery (dim_criterion) |
| Schedule type | Daily |
| Columns to match | criterion_id |
What you get:
- A reusable Google Ads Quality Score star schema in BigQuery
- Fact table with Quality Score metrics + core KPIs (impressions, clicks, cost, conversions)
- Dimension tables for account, campaign, ad group, and keyword/criterion
- A clean dataset ready to plug into BI tools (Looker Studio, Tableau, etc.) for dashboards and reporting
By exporting your Quality Score metrics into BigQuery via Windsor.ai using a star-schema data model, you can easily track trends, diagnose low-performing keywords, and understand what’s impacting Ad Relevance, Expected CTR, and Landing Page Experience.
This structured approach gives you better visibility, faster analysis, and more informed optimization decisions. Ultimately, it helps you lower CPCs and improve campaign ROI.
🚀 Build your first Google Ads to BigQuery data integration through the Windsor connector right now: https://onboard.windsor.ai.
Windsor vs Coupler.io



