{"id":2224,"date":"2020-02-11T15:46:37","date_gmt":"2020-02-11T14:46:37","guid":{"rendered":"https:\/\/webmasterei-prange.de\/google-ads-ads-matching-the-local-weather\/"},"modified":"2025-12-02T18:11:46","modified_gmt":"2025-12-02T17:11:46","slug":"google-ads-ads-matching-the-local-weather","status":"publish","type":"post","link":"https:\/\/webmasterei-prange.de\/en\/google-ads-ads-matching-the-local-weather\/","title":{"rendered":"Google Ads ads, matching the local weather"},"content":{"rendered":"\n<p>The weather is an essential environmental factor. Mood, activities and our purchasing behaviour are significantly influenced. When it&#8217;s warm, we eat ice cream and wear T-shirts. If it is cold, we wear coats and drink hot drinks. This article shows how weather data can be used efficiently as an ad customizer in Google Ads to deliver personalized messages based on the weather in the user&#8217;s target region.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Ideen_fur_Wetterdaten_in_Google_Ads_Anzeigenanpassungen_aufgrund\">Ideas for slogans in ad customizer based on weather data<\/h2>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Product \/ Service<\/td><td>Ad Customizer<\/td><\/tr><tr><td>Jackets<\/td><td>Warm jackets for cold days. Weatherproof jackets for rainy days. Lightweight jackets for summer days. Windproof jackets for stormy weather.  <\/td><\/tr><tr><td>Food \/ Gastronomy<\/td><td>Delicious fruit spritzers on offer. Large selection of soft drinks. Hearty soups for lunch. Fresh fruit ice cream daily.   <\/td><\/tr><tr><td>Duvets<\/td><td>cuddly, warm winter blankets year-round transitional blankets airy light summer blankets<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<p>I look forward to more ideas on weather data ad customizations in the comments below the post.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Uberblick_uber_den_Aufbau\">Overview of the structure<\/h2>\n\n<ol class=\"wp-block-list\">\n<li>Weather data Retrieves via Google Ads Script and the OpenweatherAPI (free plan) into a Google Spreadsheet.<\/li>\n\n\n\n<li>Import the weather data from the script-filled spreadsheet into another spreadsheet. This makes it possible to reuse the data obtained in step 1 multiple times. This spreadsheet then contains the full ad customizer with the text adjustments for each campaign.<\/li>\n\n\n\n<li>The ad customizer is added to the business data in the Google Account and an auto-retrieval connection is established.<\/li>\n\n\n\n<li>Now Google Ads can be used with the new ad customizations.<\/li>\n<\/ol>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/docs.google.com\/drawings\/u\/0\/d\/sTf2OOMrUoOFrra5eSq8UIg\/image?w=485&amp;h=693&amp;rev=164&amp;ac=1&amp;parent=1Y2NOqfuL3adQpHZrmh4UOH5oUqDJXZ4dDbAWY3uLdBE\" alt=\"Structure of Google Ads Script for Ad Customizer due to local weather&#10;\" title=\"Google Ads ads, matching the local weather\"\/><\/figure>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Erfassung_von_Wetterdaten_fur_Google_AdCustomizer\">Collecting weather data for Google Ad-Customizer<\/h2>\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/raw.githubusercontent.com\/Webmasterei\/google-ads-weatherdata\/master\/script.js\" target=\"_blank\" rel=\"noreferrer noopener\">Download Google Ads Script<\/a> for weather data.<\/li>\n\n\n\n<li>Add the Google Ads Script to the Google Ads account (Tool &gt; Scripts &gt; + icon.<\/li>\n\n\n\n<li>Adjust variables at the top of the script.\n<ol class=\"wp-block-list\">\n<li>OPEN_WEATHER_MAP_API_KEY: A corresponding API key must be entered here. The free key should be enough in most cases. Create an <a href=\"https:\/\/openweathermap.org\/api\" target=\"_blank\" rel=\"noreferrer noopener\">OpenWeatherApi key<\/a>.<\/li>\n\n\n\n<li>SPREADSHEET_URL: Create a copy of <a href=\"http:\/\/bit.ly\/wetterdaten-dach\" target=\"_blank\" rel=\"noreferrer noopener\">this spreadsheet<\/a> and store it in the script.<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Preview Start press. Authorizations for Google Ads and Spreadsheets are queried. These must be confirmed.<\/li>\n\n\n\n<li>Test execution. If the script works, the first lines of the sheet should now be filled.<\/li>\n\n\n\n<li>If the execution works, then an hourly execution can be set. The weather data should then be renewed from 0:00 at night and should only be queried once a day.<\/li>\n<\/ol>\n\n<iframe src=\"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vQNnIesKVFcKsU82Dqhxmfi-bAS4dcsX6YQCK0QiO-lRfYYuY9Zhbva5DgiLBR9OvUZegW3DzRlWVTk\/pubhtml?widget=true&#038;headers=false\"><\/iframe>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Die_Wetterdaten_Tabelle\">The weather data table<\/h2>\n\n<p>The list, which now fills up with weather data, has deposited all postcodes of Germany, Austria and Switzerland in its original state. If you want to use other Target locations, that&#8217;s not a problem. These are in the sheet geotargets-2020-01-30 and can be updated at any time from <a href=\"https:\/\/developers.google.com\/adwords\/api\/docs\/appendix\/geotargeting\" target=\"_blank\" rel=\"noreferrer noopener\">here.<\/a> <\/p>\n\n<p>If you use a different type than the Target Location &#8220;Postal Code&#8221;, a small adjustment has to be made in the SEARCHMODE variable in the current version of the script.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Optionen_des_Scripts_fur_verschiedene_Betriebsarten\">Script options for different modes of operation<\/h2>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Variable<\/td><td>Description<\/td><\/tr><tr><td>DEBUG<\/td><td>writes relevant information for debugging in spreadsheets and the log<\/td><\/tr><tr><td>MODE<\/td><td>CURRENT: The current weather at the site is determined: The weather is determined over the current day in high and low values.<\/td><\/tr><tr><td>SEARCHMODE<\/td><td>ZIP: The postal code is used for search. (default) (use when the location table wird.NAME applied unchanged: It is used by name (value before the 1st comma of Taget Location).<\/td><\/tr><tr><td>LOCATION_UPDATE<\/td><td>Number of hours after weather data is outdated in Current Mode (default: 1h) (note api limits)<\/td><\/tr><tr><td>APILIMIT<\/td><td>Number of retrievals before a timeout<\/td><\/tr><tr><td>timeOutInSeconds<\/td><td>Number of seconds of timeout<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Nutzen_der_Wetterdaten_fur_Google_Ads\">Using Weather Data for Google Ads <\/h2>\n\n<p>So that the weather data from the first spreadsheet can be used for several campaigns \/ statements, another spreadsheet is now created in which the actual ad customizers are created.<\/p>\n\n<ol class=\"wp-block-list\">\n<li>Copy <a href=\"http:\/\/bit.ly\/wetterdaten-ad-customizer_v2\" target=\"_blank\" rel=\"noreferrer noopener\">Google Ads table<\/a>.<\/li>\n\n\n\n<li>Exchange URL in the Export cell A1 to the spreadsheet URL created in the first step. If the access works, the weather data collected so far should appear. From column L, the corresponding ad customizers can then be seen.<\/li>\n\n\n\n<li>Go to the &#8220;Setup&#8221; sheet. Here you can set ad texts for different weather conditions using some parameters.<\/li>\n<\/ol>\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"347\" src=\"https:\/\/webmasterei-prange.de\/wp-content\/uploads\/2025\/09\/wetterdaten-im-ad-customizer-setup-1024x347.png.webp\" alt=\"Weather data in ad-customizer setup\" class=\"wp-image-1296\"\/><figcaption class=\"wp-element-caption\">Weather data in ad-customizer setup<\/figcaption><\/figure>\n\n<p>In the Setup table, temperatures can be changed and corresponding texts can be made for one ad adjustment text per condition. This is, of course, just one example, the sheet and its conditions can be changed at will.<\/p>\n\n<p>Here is a look at the table:<\/p>\n\n<iframe src=\"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vSNnybpUd9ieilbXO-WcH41SvasZX08jNsoYxiX1C8i0gAh3GV0pQygigd8bnr3_EZbo1XSNrNduYck\/pubhtml?widget=true&#038;headers=false\"><\/iframe>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Wetterdaten_in_Google_Ads_Importieren\">Import weather data into Google Ads<\/h2>\n\n<p>The finished ad customizer can now be imported to Google Ads and then used in the ads.<\/p>\n\n<ol class=\"wp-block-list\">\n<li>Download the created, finished ad-customizer table in spreadsheets as csv (File &gt; Download &gt; Comma-separated Values)<\/li>\n\n\n\n<li>Import the Ad-Customizer table into Google Business Data (Tools &gt; Business Data &gt; + icon). A short name_with_underdot is recommended.<\/li>\n\n\n\n<li>Enter the Google table with the ad customizers in the upload plan so that the data is also updated. Attention! Be sure to add required authorizations.<\/li>\n<\/ol>\n\n<h2 class=\"wp-block-heading\" id=\"toc_AdCustomizer_mit_Wetterdaten_in_Google_Ads_Anzeigen_nutzen\">Use Ad Customizer with weather data in Google Ads ads<\/h2>\n\n<p>The ad customizer have only the Target Location as the targeting criterion as the demonstrated form. This means that all users who trigger this ad will receive ad customizations based on their current location, provided it is included in the ad customization data. <\/p>\n\n<p>A new ad is created in the ad group where an ad customizer ad is to be created. If you tap the menu, a menu will automatically open in which &#8220;Ad adjustments&#8221; can be selected. The table that has just been created will then appear here.<\/p>\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"515\" height=\"612\" src=\"https:\/\/webmasterei-prange.de\/wp-content\/uploads\/2025\/09\/Google-Ads-Anzeige-mit-Anzeigenanpassungsdaten.png.webp\" alt=\"Google Ads display with ad customization data\" class=\"wp-image-1297\"\/><figcaption class=\"wp-element-caption\">Google Ads display with ad customization data<\/figcaption><\/figure>\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"614\" height=\"82\" src=\"https:\/\/webmasterei-prange.de\/wp-content\/uploads\/2025\/09\/Google-Ads-Anzeige-mit-Anpassungsdaten-vorschau.png.webp\" alt=\"Google Ads display with customization data preview\" class=\"wp-image-1298\" style=\"width:787px;height:auto\"\/><figcaption class=\"wp-element-caption\">Google Ads display with customization data preview<\/figcaption><\/figure>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Fazit\">Conclusion<\/h2>\n\n<p>With a few setup steps, it becomes possible to use Google Ads for free with weather data and thus make valuable improvements to you ad-copy. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>The weather is an essential environmental factor. Mood, activities and our purchasing behaviour are significantly influenced. When it&#8217;s warm, we eat ice cream and wear T-shirts. If it is cold, we wear coats and drink hot drinks. This article shows how weather data can be used efficiently as an ad&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","slim_seo":{"title":"Weather-dependent ads with Google Ads Script","description":"Here's how to integrate weather APIs into Google Ads and dynamically control budgets or campaigns based on weather conditions."},"footnotes":""},"categories":[24,32],"tags":[],"class_list":["post-2224","post","type-post","status-publish","format-standard","hentry","category-google-ads-optimization","category-google-ads-scripts"],"taxonomy_info":{"category":[{"value":24,"label":"Google Ads Optimization"},{"value":32,"label":"Google Ads Scripts"}]},"featured_image_src_large":false,"author_info":{"display_name":"admin","author_link":"https:\/\/webmasterei-prange.de\/en\/author\/admin\/"},"comment_info":0,"category_info":[{"term_id":24,"name":"Google Ads Optimization","slug":"google-ads-optimization","term_group":0,"term_taxonomy_id":24,"taxonomy":"category","description":"","parent":0,"count":12,"filter":"raw","cat_ID":24,"category_count":12,"category_description":"","cat_name":"Google Ads Optimization","category_nicename":"google-ads-optimization","category_parent":0},{"term_id":32,"name":"Google Ads Scripts","slug":"google-ads-scripts","term_group":0,"term_taxonomy_id":32,"taxonomy":"category","description":"","parent":0,"count":10,"filter":"raw","cat_ID":32,"category_count":10,"category_description":"","cat_name":"Google Ads Scripts","category_nicename":"google-ads-scripts","category_parent":0}],"tag_info":false,"_links":{"self":[{"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/posts\/2224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/comments?post=2224"}],"version-history":[{"count":2,"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/posts\/2224\/revisions"}],"predecessor-version":[{"id":2227,"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/posts\/2224\/revisions\/2227"}],"wp:attachment":[{"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/media?parent=2224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/categories?post=2224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/tags?post=2224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}