Weather Targeting for Google Ads: What Works Under Smart Bidding (2026)

Weather moves search demand. Heatwaves bring searches for air conditioning, storms bring searches for roof repairs, and rainy weekends lift online shopping. But Google Ads has no weather targeting, and the classic advice of “raise your bids when it’s cold” no longer works for most accounts.
This guide explains what has changed, which settings still respond to weather in 2026, and how to set up a simple weather rule that won’t fight Smart Bidding.
Google Ads has no weather targeting
There’s no weather option in Google Ads, either in the interface or in the API. For years, the standard workaround was Google’s own “weather-based campaign management” script, which set location bid adjustments from OpenWeather data. That script has now been removed from Google’s documentation, and its old address redirects to an unrelated script.
Weather-triggered Google Ads therefore still need three parts:
- A weather source with forecasts for each location you advertise in, such as OpenWeather.
- Rules that say what should change when conditions are met.
- A way to make the change: a Google Ads script, the Google Ads API, or a third-party tool.
Weather bid adjustments: do they still work?
Mostly not. Automated weather bid adjustments only work on campaigns that don’t use Smart Bidding, such as manual CPC, and most accounts now use Smart Bidding.
Google’s Smart Bidding strategies (Target CPA, Target ROAS, Maximise Conversions and Maximise Conversion Value) ignore manual bid adjustments, including location and ad schedule adjustments. Smart Bidding sets its own bid for every auction.
Performance Max, Demand Gen and AI Max for Search all use Smart Bidding, and so do most Search campaigns. So a script that adds +30% to a location’s bid adjustment when it’s cold does nothing in most accounts today. Keyword bid changes only work on campaigns using manual CPC.
The levers that still work
| Lever | Resets learning? | Good for |
|---|---|---|
| Budget | No | Buying more volume when the weather favours you |
| CPA or ROAS target | No. Google says you can change targets “as frequently as you would like” | Bidding harder or softer for a few days |
| Seasonality adjustment | No (built for short events) | A forecast heatwave or storm 1–7 days away |
| Ad group or asset group on/off | Usually no. The campaign keeps running | Weather-specific keywords or creative |
| Location inclusion or exclusion | No | Serving only where the weather matches |
| Ad customizers | No | Weather-relevant text inside your ads |
| Campaign pause and resume | Yes. Reactivating a bid strategy restarts learning | Manual CPC or awareness campaigns, short pauses |
Budgets
Raising a campaign’s budget when the weather favours your product is the simplest lever. Budget changes aren’t one of the things Google lists as triggering a learning period.
Since 17 August 2026, budget-limited Target CPA and Target ROAS campaigns spend towards their target instead of beating it. A weather budget boost therefore buys extra conversions at roughly your target cost. If you want the extra spend to be more efficient than that, lower the target at the same time.
Targets
Google’s guidance is clear that changing a CPA or ROAS target won’t trigger a learning period or undo what Smart Bidding has learned. That makes a temporary target change a good weather lever: bid more aggressively while a storm drives demand, then return to normal. Give each change enough time to show results before you judge it.
Seasonality adjustments
Seasonality adjustments tell Smart Bidding to expect a change in conversion rate for a set period. They work best for events of 1–7 days, and they’re the closest thing Google has to a built-in weather lever.
The catch is that they must be scheduled in advance, and Google recommends them only for changes Smart Bidding wouldn’t expect on its own. A forecast heatwave three days away is a good fit. A shower this afternoon isn’t. You can create them in the interface or through the API.
Ad groups and asset groups
Switching weather-specific ad groups (in Search) or asset groups (in Performance Max) on and off keeps the campaign, its budget and its bid strategy running. Only the keywords or creative change. This is usually safer than pausing the whole campaign.
Pausing whole campaigns
Pausing is still the right choice for manual CPC campaigns, awareness campaigns, and offers that only make sense in certain weather. For Smart Bidding campaigns, reactivating the bid strategy puts it back into a learning period, and Google advises against frequent status changes for Performance Max in particular.
A simple weather budget script
This Google Ads script raises a campaign’s daily budget when 20 mm or more of rain is forecast in the next 24 hours, and returns it to normal otherwise. It always sets the budget to one of two fixed values, so running it every hour can’t push the budget higher and higher.
// Weather budget rule: storm repairs in Brisbane
const API_KEY = 'YOUR_OPENWEATHER_KEY';
const LAT = -27.47;
const LON = 153.03;
const CAMPAIGN = 'Storm repairs - Brisbane';
const NORMAL_BUDGET = 40; // daily budget in your account currency
const WEATHER_BUDGET = 80; // daily budget when rain is forecast
const RAIN_MM = 20; // rain in the next 24 hours that triggers the boost
function main() {
const rain = rainNext24Hours();
const target = rain >= RAIN_MM ? WEATHER_BUDGET : NORMAL_BUDGET;
const campaigns = AdsApp.campaigns()
.withCondition("campaign.name = '" + CAMPAIGN + "'")
.get();
if (!campaigns.hasNext()) {
Logger.log('Campaign not found: ' + CAMPAIGN);
return;
}
const budget = campaigns.next().getBudget();
if (budget.getAmount() !== target) {
budget.setAmount(target);
}
Logger.log('Rain in next 24h: ' + rain.toFixed(1) + ' mm. Budget: ' + target);
}
// Sums forecast rain over the next 8 three-hour periods (24 hours)
function rainNext24Hours() {
const url = 'https://api.openweathermap.org/data/2.5/forecast' +
'?lat=' + LAT + '&lon=' + LON + '&units=metric&appid=' + API_KEY;
const data = JSON.parse(UrlFetchApp.fetch(url).getContentText());
return data.list.slice(0, 8).reduce(function (sum, period) {
return sum + ((period.rain && period.rain['3h']) || 0);
}, 0);
}
To use it:
- In Google Ads, open Tools, then Bulk actions, then Scripts, and create a new script.
- Paste the code and replace the API key, location, campaign name and budgets. A free OpenWeather key works for this call.
- Click Preview and check the log before you run it for real.
- Set the schedule to hourly or daily. Hourly is the most often Google allows.
Things to know:
- If the weather call fails, the script stops without changing anything, so the budget stays where it was.
- If the campaign uses a shared budget, this changes the budget for every campaign that shares it.
- For more patterns (pausing ad groups, several locations, forecast windows), see our Google Ads weather script examples.
Choosing a threshold
Pick conditions that match how your customers behave, not just what the weather is doing:
| Business | Condition | Lever |
|---|---|---|
| Roofing and storm repairs | 20 mm+ of rain or strong gusts forecast | Raise budget, switch on storm ad group |
| Heating and cooling | Maximum of 35°C+ in the next 3 days | Seasonality adjustment, raise budget |
| Online retail | Rain on a weekend | Raise budget or lower ROAS target |
| Pool and garden | Warm, dry week ahead | Switch on seasonal asset group |
| Cafés and delivery | Maximum of 30°C+ today | Switch on cold-drinks ad group |
Research on Australian card spending found that on days of 35°C or more, daytime spending falls and evening spending rises. For heat rules, consider shifting spend to the evening with your ad schedule. More evidence is collected in what the research says about weather and consumer behaviour.
Tools that do this for you
- Optmyzr has weather conditions in its Rule Engine and can change budgets, targets and bids, or include and exclude cities, for Google and Microsoft Ads.
- WeatherAds and WeatherAlpha support Google Ads alongside Meta, with on/off and bid or budget actions.
- WeatherTrigger currently automates Meta ads. Google Ads support is coming soon.
We compare them in WeatherAds alternatives.
Measuring the result
Weather changes demand, so comparing weather days with normal days tells you little about whether your rule helped. Better options:
- Geo experiments. Run the rule in some regions and not in similar ones, then compare conversions.
- Holdout periods. Switch the rule off for a few weeks with similar weather and compare.
- Logs. Record each change with the forecast that caused it, so you can line results up against conditions.
More on this in our guide to weather ad measurement.


