Your BigQuery queries for Google Ads video metrics will break on March 2, 2026 unless you update them in the next 4 weeks. Google is deprecating three video metric columns as part of the Google Ads API v22 update.
Queries pulling average CPV, video view rate, or video views will return null values starting March 2. If you use BigQuery Data Transfer Service for Google Ads reporting, here's what changed and how to fix it before the deadline.
What's Changing in the Google Ads Connector
Google added new columns to BigQuery table schemas on January 16, 2026 (currently empty). On March 2, 2026, those new columns populate with data while the old ones go permanently empty.
Only one column in each pair contains values, never both. Right now the old columns work. After March 2, only the new ones do.
Who This Affects
This breaks any BigQuery query, Looker Studio dashboard, or data pipeline referencing these three specific video metrics.
You're affected if you have:
- YouTube campaign performance reports tracking CPV trends
- Executive dashboards showing video view rates across campaigns
- Budget models calculating cost per video view
- Custom GAQL reports pulling these metrics
- Scheduled queries that power automated alerts
Google did the same thing in June 2024 when migrating product category columns from API v14 to v16. Teams that missed the deadline lost weeks of reporting continuity while frantically updating queries.
Affected Tables
The deprecation impacts 18 BigQuery tables created by the Google Ads connector. Table names follow the format p_ads_<ReportType>_<customer_id> where customer_id is your Google Ads account number.
Complete list of affected tables:
p_ads_AccountNonClickStats_<customer_id>p_ads_AdCrossDeviceStats_<customer_id>p_ads_AdGroupAudienceNonClickStats_<customer_id>p_ads_AdGroupCrossDeviceStats_<customer_id>p_ads_AgeRangeNonClickStats_<customer_id>p_ads_BudgetStats_<customer_id>p_ads_CampaignAssetStats_<customer_id>p_ads_CampaignAudienceNonClickStats_<customer_id>p_ads_CampaignCrossDeviceStats_<customer_id>p_ads_CampaignLocationTargetStats_<customer_id>p_ads_DisplayVideoAutomaticPlacementsStats_<customer_id>p_ads_DisplayVideoKeywordStats_<customer_id>p_ads_GenderNonClickStats_<customer_id>p_ads_GeoStats_<customer_id>p_ads_KeywordCrossDeviceStats_<customer_id>p_ads_ParentalStatusNonClickStats_<customer_id>p_ads_PlacementNonClickStats_<customer_id>p_ads_SearchQueryStats_<customer_id>p_ads_VideoNonClickStats_<customer_id>
Note: Replace <customer_id> with your actual Google Ads customer ID (usually a 10-digit number).
How to Fix Your Queries Before March 2
Use IFNULL() to check both columns. This works automatically before and after March 2 without touching your code again.
Before (breaks March 2):
SELECT
campaign_name,
segments_date,
metrics_average_cpv,
metrics_video_views,
metrics_impressions
FROM `your_project.your_dataset.p_ads_VideoNonClickStats_1234567890`
WHERE segments_date >= '2026-02-01'
After (works forever):
SELECT
campaign_name,
segments_date,
IFNULL(metrics_average_cpv, metrics_trueview_average_cpv) AS average_cpv,
IFNULL(metrics_video_views, metrics_trueview_views) AS video_views,
metrics_impressions
FROM `your_project.your_dataset.p_ads_VideoNonClickStats_1234567890`
WHERE segments_date >= '2026-02-01'
Replace these placeholders with your actual values:
your_project: Your Google Cloud project IDyour_dataset: Your BigQuery dataset name1234567890: Your Google Ads customer ID
The logic: if the old column has data, use it. If not, use the new column. When March 2 arrives, it automatically switches without breaking your reports.
Looker Studio Calculated Fields
Update custom fields in Looker Studio connected to BigQuery:
Old: AVG(metrics_average_cpv)
New: AVG(IFNULL(metrics_average_cpv, metrics_trueview_average_cpv))
Apply the same pattern for metrics_video_view_rate and metrics_video_views.
Test Your Updates Now (Before March 2)
Don't discover broken dashboards on March 3. Validate updates today.
Step 1: Find Affected Queries
SELECT
table_name,
ddl
FROM `your_project.your_dataset.INFORMATION_SCHEMA.TABLES`
WHERE ddl LIKE '%metrics_average_cpv%'
OR ddl LIKE '%metrics_video_view_rate%'
OR ddl LIKE '%metrics_video_views%'
This returns every table and view referencing deprecated columns.
Step 2: Verify IFNULL Logic Works
SELECT
segments_date,
IFNULL(metrics_average_cpv, metrics_trueview_average_cpv) AS cpv_test,
metrics_average_cpv AS old_value,
metrics_trueview_average_cpv AS new_value
FROM `your_project.your_dataset.p_ads_VideoNonClickStats_1234567890`
WHERE segments_date >= '2026-02-01'
LIMIT 50
Right now: `cpv_test` should match `old_value` (new_value is null)
After March 2* `cpv_test` will match `new_value` without any code changes
That's how you know your update works.
Step 3: Update Scheduled Queries
Go to BigQuery, Scheduled queries in Google Cloud Console.
For each query using these metrics:
1. Click Edit
2. Add `IFNULL()` logic to the three columns
3. Save and verify the next run succeeds
Deadline: February 28, 2026
Custom GAQL Reports Need Extra Steps
If you configured BigQuery transfers with custom Google Ads Query Language queries, you can't use `IFNULL()` directly in GAQL.
Solution: Select both columns in GAQL, handle logic in BigQuery
In your GAQL configuration:
SELECT
campaign.name,
metrics.average_cpv,
metrics.video.trueview_average_cpv,
metrics.video_views,
metrics.video.trueview_views
FROM campaign
Then create a BigQuery view:
CREATE OR REPLACE VIEW `your_project.your_dataset.campaign_video_clean` AS
SELECT
campaign_name,
IFNULL(metrics_average_cpv, metrics_trueview_average_cpv) AS average_cpv,
IFNULL(metrics_video_views, metrics_trueview_views) AS video_views
FROM `your_project.your_dataset.p_ads_CampaignCrossDeviceStats_1234567890`
Point dashboards to this view instead of the raw table. The view handles the column logic automatically.
What Happens If You Do Nothing
After March 2, any query selecting old column names returns null values for all new data. Your dashboards show blanks where video metrics belong.
Historical data before March 2 stays in the old columns, you don't lose past data. But all new data after March 2 goes exclusively to new columns, invisible to queries still referencing old names.
The fix is identical whether you do it now or later, add IFNULL() logic. But waiting means you'll spend March 3 in crisis mode updating broken executive reports instead of analyzing campaign performance.
Common Questions
Will my historical data change?
No. Data before March 2 remains in old columns. Data after March 2 goes to new columns. IFNULL() pulls from whichever one has values for each date.
Do ALL my Google Ads queries break?
No. Only queries using these 3 specific video metrics. Other metrics (clicks, impressions, conversions, cost, CTR, etc.) continue working normally.
Can I switch to new column names now?
Not yet, they're empty until March 2. If you only reference metrics_trueview_average_cpv today, you get nothing. The IFNULL() pattern handles both time periods.
Will Google do this again?
Yes. Google Ads API regularly deprecates fields during version updates. Check the API sunset schedule to see upcoming changes.
4-Week Action Plan
Week of Feb 3-7:
Run the INFORMATION_SCHEMA query to inventory affected tables. Prioritize executive dashboards and automated alerts.
Week of Feb 10-14:
Update queries with IFNULL() logic. Test against current data to verify the pattern works.
Week of Feb 17-21:
Update Looker Studio dashboards, calculated fields, and any custom GAQL reports.
Week of Feb 24-28:
Final verification. Update scheduled queries. Confirm everything works before the deadline.
March 3:
Monitor dashboards to confirm new columns populate correctly. Fix any missed queries immediately.
If you're pulling Google Ads data to BigQuery and want to avoid manual updates during future API migrations, Dataslayer's BigQuery connector handles schema changes automatically. It works with 50+ marketing platforms beyond Google Ads. Connect to Google Sheets, Looker Studio, or data warehouses. Try it free for 15 days.
Source: Google Cloud BigQuery Data Transfer Service Changelog


.avif)




