{"id":1937,"date":"2023-06-13T14:17:18","date_gmt":"2023-06-13T12:17:18","guid":{"rendered":"https:\/\/webmasterei-prange.de\/hourly-updates-for-google-merchant-center\/"},"modified":"2025-10-06T10:28:23","modified_gmt":"2025-10-06T08:28:23","slug":"hourly-updates-for-google-merchant-center","status":"publish","type":"post","link":"https:\/\/webmasterei-prange.de\/en\/hourly-updates-for-google-merchant-center\/","title":{"rendered":"Hourly Updates for Google Merchant Center"},"content":{"rendered":"\n<p>Hello Merchant Center experts,<\/p>\n\n<p>Today I&#8217;d like to introduce you to a <strong>Google Ads script<\/strong> that can save you time and hassle when managing <strong>Merchant Center feeds<\/strong> . Its unique feature is the ability <g id=\"gid_2\">to update your feeds in Google Ads hourly<\/g> . This appealing feature may sound trivial at first, but it offers numerous advantages, which I&#8217;ll discuss below.  <\/p>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Aktualitat_der_Produktdaten\">Timeliness of Product Data<\/h2>\n\n<p>One of the biggest advantages of this solution is ensuring up-to-date product data in your Shopping campaigns. For example, if you have constant price changes or rapid inventory fluctuations, the hourly updates are invaluable. This helps you avoid disappointed customers and ensures that only products that are actually still available are advertised.  <\/p>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Effektives_Budgetmanagement\">Effective Budget Management<\/h2>\n\n<p>By updating product feeds hourly, you can use your ad budget more efficiently. With product removals or introductions sometimes occurring within a day, you can adapt to the market faster and thus reduce unnecessary expenses. <\/p>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Reaktion_auf_Wettbewerbsanderungen\">Response to Competitive Changes<\/h2>\n\n<p>Dynamic pricing has intensified online shopping. With hourly updates, you can easily react to these developments and, for example, adjust your own prices in a controlled manner relative to those of the competition. <\/p>\n\n<p>Now, how do you get to enjoy the benefits of this script? Here&#8217;s the solution: <\/p>\n\n<p>1. In your Google Ads account, navigate to the \u201cBulk Actions\u201d section.<br\/> 2. Select \u201cScript\u201d and create a new script.<br\/> 3. Now copy the provided code for the hourly update script and paste it here.<br\/> 4. Enter the corresponding Merchant Center IDs in the script<br\/> 5. Save the script and schedule it to run hourly.<\/p>\n\n<p>And you&#8217;re done! Your Merchant Center feed will now be updated hourly using the script, and you can benefit from it. <\/p>\n\n<p>In conclusion, the Google Ads Script for hourly updates of Merchant Center feeds is a simple but excellent way to increase your online marketing efficiency and secure a decisive competitive advantage!<\/p>\n\n<p>Just give it a try &#8211; I&#8217;m curious about your experiences and feedback! Happy optimising! <\/p>\n\n<h2 class=\"wp-block-heading\" id=\"toc_Das_Script\">The script<\/h2>\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Hourly Updates for Google Merchant Center Main Feeds\n\/\/ Fill the array with merchant center ids\n\/\/ Set the script to \"hourly\"\nvar MCIDS = [\n  \"123456\", \/\/ mein-shop.de\n];\n \nfunction main() {\n  MCIDS.forEach(function(MCID){\n  var fetchedFeeds = fetchEnabledProductFeeds(MCID);\n  Logger.log(fetchedFeeds)\n  });\n}\n \nfunction fetchEnabledProductFeeds(merchantId) {\n  var fetchedFeeds = [];\n  var date = new Date();\n  var now = Utilities.formatDate(date, AdsApp.currentAccount().getTimeZone(), \"yyyy MMM dd HH:mm\");\n  try {\n  var productFeeds = ShoppingContent.Datafeeds.list(merchantId);\n  } catch(e) {\n  Logger.log(\"### ERROR Fecthing data from merchant: '\"+merchantId+\"' --&gt; \"+e);\n  fetchedFeeds.push([now, merchantId, , , \"### ERROR Fecthing datafeed: \"+e]);  \n  return fetchedFeeds;\n  }\n  if (productFeeds.resources) {\n  for (var i = 0; i  &lt;  productFeeds.resources.length; i++) {\n  try {\n  var dataFeedId = productFeeds.resources[i].id;  \n  var response = ShoppingContent.Datafeeds.fetchnow(merchantId, dataFeedId);\n  fetchedFeeds.push([now, merchantId, productFeeds.resources[i].name, dataFeedId, \"Fetch OK\"]);\n  } catch(e) {\n  fetchedFeeds.push([now, merchantId, productFeeds.resources[i].name, dataFeedId, \"### ERROR Fecthing datafeed: \"+e]);\n  }\n  }\n  }\n  return fetchedFeeds;\n}<\/pre>\n\n<p><a href=\"https:\/\/gist.github.com\/Webmasterei\/5927a93cc1b4827d4e63e465f8bc46a6#file-google-merchant-center-hzourly-update-js\">Google Merchant Center hzourly update.js<\/a> hosted with \u2764 by <a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n<p>The script comes in its <a href=\"https:\/\/nilsrooijmans.com\/google-ads-script-increase-shopping-feed-update-frequency\/\" target=\"_blank\" rel=\"noreferrer noopener\">original version from Nils Rooijmans<\/a> and was rebuilt by me into a multi-account script.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello Merchant Center experts, Today I&#8217;d like to introduce you to a Google Ads script that can save you time and hassle when managing Merchant Center feeds . Its unique feature is the ability to update your feeds in Google Ads hourly . This appealing feature may sound trivial at&#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":"Hourly updates in Google Merchant Center \u2013 automatically update feed","description":"Learn how to use scripts or AIU to update your Merchant Center feeds hourly to ensure you always have up-to-date data for prices and availability."},"footnotes":""},"categories":[32,31],"tags":[],"class_list":["post-1937","post","type-post","status-publish","format-standard","hentry","category-google-ads-scripts","category-google-shopping"],"taxonomy_info":{"category":[{"value":32,"label":"Google Ads Scripts"},{"value":31,"label":"Google Shopping"}]},"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":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},{"term_id":31,"name":"Google Shopping","slug":"google-shopping","term_group":0,"term_taxonomy_id":31,"taxonomy":"category","description":"","parent":0,"count":7,"filter":"raw","cat_ID":31,"category_count":7,"category_description":"","cat_name":"Google Shopping","category_nicename":"google-shopping","category_parent":0}],"tag_info":false,"_links":{"self":[{"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/posts\/1937","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=1937"}],"version-history":[{"count":1,"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/posts\/1937\/revisions"}],"predecessor-version":[{"id":1938,"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/posts\/1937\/revisions\/1938"}],"wp:attachment":[{"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/media?parent=1937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/categories?post=1937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webmasterei-prange.de\/en\/wp-json\/wp\/v2\/tags?post=1937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}