← All guides

Microsoft Merchant Center: get your Google feed onto Bing

16 September 2026 · 8 min read

Microsoft Shopping campaigns run on the same kind of file as Google Shopping, and Microsoft says so out loud: its feed documentation accepts Google-formatted feed files and ships a one-click tool that pulls your catalogue straight out of Google Merchant Center. For a store that already has a Google feed, this is the cheapest channel left to add — and Romania is on the supported market list, alongside most of Europe.

The catch is that “accepts Google's format” is not the same as “behaves like Google”. A handful of attributes are read and quietly ignored, the price rules differ by country, and every offer you upload expires after 30 days whether you notice or not. This guide is the difference list.

Before the feed: claim the domain

You cannot create a Microsoft Merchant Center store until Microsoft agrees the website is yours. There are two routes (Microsoft's verification article): verify the URL in Bing Webmaster Tools, or, if you already have a Universal Event Tracking tag on the site, select “Validated via UET tag”. The UET route has a waiting period worth planning around — the tag has to register at least 50 events, and the domain can take another 48 hours to appear in the list.

The destination URL you claim then constrains the whole feed: every link must be a sub-path of that URL or of a subdomain of it. Product URLs on another domain are rejected, which is also the usual cause of the “store domain mismatch” error when importing from Google.

Two ways in, and the one most stores should take

The Google Merchant Center import tool signs into your Google account and copies the offers across, on demand or on a daily, weekly or monthly schedule (Microsoft's import article). It imports everything — including pending and disapproved offers — but only online offers, only Shopping destinations, and only for markets Microsoft supports. Local-channel products are skipped. There is a find-and-replace for tracking parameters in the URL, which is how you stop Google's utm values from attributing Bing clicks to Google.

Your own feed is the other route, and the one to take if your Google feed is itself generated rather than hand-kept — importing a copy of a copy adds a day of staleness for nothing. Microsoft accepts a tab-delimited text file, or XML if it is Google-formatted; there is no Microsoft XML schema of its own. The file rules are strict enough to be worth a checklist (feed file article):

One line in that article decides your architecture: fetch-from-URL is the only method with built-in scheduling. Manual uploads and FTP have to be scheduled by something you run yourself. There is also a Content API if you would rather push than be pulled.

The required attributes

Six fields are required for every offer, plus the identifiers (Microsoft's product attributes reference). The header row of a minimal feed:

id	title	description	link	image_link	price	brand	gtin	mpn
SKU-1234	Acme Trail Jacket Men Blue L	Waterproof shell…	https://shop.example/p/trail-jacket	https://cdn.example/trail-jacket.jpg	489.99 RON	Acme	8590000000012	ACM-TJ-BL-L

Identifiers follow the same logic Google uses: send gtin, brand and mpn where the manufacturer assigned them, brand and mpn for own-brand goods, and identifier_exists=FALSE for handmade or vintage items with none of the three. If you have been putting that off for Google, the barcode guide applies here unchanged.

What Microsoft reads from a Google feed — and what it drops

Microsoft publishes the full mapping (what Google feed file attributes can I use), where each Google attribute is either used or “accepted but ignored”. The ignored column is the interesting one:

One more worth a look rather than an assumption: Microsoft's own attribute list documents all five custom labels, while the table of Google attributes lists custom_label_0, 1, 2 and 4. If your campaign filters hang off custom_label_3, verify it arrived after the first import instead of trusting it did.

Prices, VAT and the mismatch rule

Microsoft's feed tax policy names the countries where tax must be inside the price — Australia, Germany, France, the United Kingdom — and the United States, where it must be outside. Romania and most of the rest of the EU are not in that table, which is not permission to improvise: the binding rule sits in the price field itself, where the price in the feed must be the price on the landing page. Romanian stores display VAT-inclusive prices, so the feed carries VAT-inclusive prices. Same reasoning, same failure mode, as a Google price mismatch.

sale_price and sale_price_effective_date are both read. Send them together — a sale price without an end date keeps applying.

The 30-day expiry nobody plans for

This is the failure we see most on this channel, and it is documented in three places at once. A feed expires after 30 days and its products stop publishing. The expiration_date attribute caps out at 30 days from upload and defaults to 30 days if you omit it. Offers brought in by the Google import tool expire after 30 days too, so a one-time import empties itself a month later. Microsoft's own recommendation is to upload daily.

The practical consequence: an uploaded-once catalogue looks perfect for four weeks and then goes to zero with no error to explain it. Either schedule a recurring Google import, or use fetch-from-URL against a feed URL that regenerates itself.

Review times, and what re-triggers a review

A submitted file usually finishes processing in minutes, though a large one can take hours. Editorial review takes up to 24 hours; if an offer fails the first pass it goes to a second review of up to three business days. What catches people out is that this is not a one-time cost: editing an existing item's title, description, price, availability, image URL, brand or product URL sends it back to pending review. Price and availability updates process in up to 24 hours, shipping updates in up to eight. Deleting a product can take 12 hours, which is why Microsoft advises setting availability to out of stock first.

availability accepts in stock, out of stock and preorder, and defaults to in stock when empty — so a blank column publishes your entire out-of-stock range. condition defaults to new the same way.

Supplemental feeds have a short field list

You can override fields in the primary feed without rebuilding it, matched on feed label, language and product ID. But only seven fields are supported: product ID, the five custom labels, title, description, promotion ID, size and colour. You cannot add or remove products this way, only modify them — anything else, including price and availability, belongs in the primary feed.

Selling into more than one country

A single feed can target several countries, set through the feed label or country of sale plus a default currency. Microsoft converts the currency at serve time and shows the converted amount with the country of sale's amount in brackets — but only if your feed carries currency codes in the price field or the feed settings. The countries in the feed have to match the campaign's location targets, or the products are ineligible in the places they were meant for.

How FeedRobin handles it

Microsoft Merchant Center is served from the same product data as your Google feed, which is the whole point of the channel: one catalogue, one set of barcodes and prices, rendered to the format Microsoft accepts and kept inside the rules above — VAT-inclusive prices matched to the landing page, a single image_link with the rest as additional images, redirects moved into ads_redirect, and a feed URL that regenerates so the 30-day expiry never arrives. If you would rather use the Google import tool, that works too; schedule it rather than running it once.

To see what Microsoft would make of the feed you already have, paste it into the free feed check — missing barcodes, images below the minimum size and descriptions that fail review are the same problems on both channels.

Sources

Microsoft Advertising documentation: What is Microsoft Merchant Center?, creating and organizing feed files, product attributes, what Google feed file attributes can I use, importing from Google Merchant Center, the feed tax policy, verifying and claiming your website, Product ads and market availability, and the Content API catalogues reference. Google's product data specification is the format all of the above is measured against.

Read next

Get your products into ChatGPT: the OpenAI product feed, step by stepChatGPT now recommends real products with live prices. How merchant enrollment works, what OpenAI's feed spec requires (JSONL, nine mandatory fields), and why your catalogue disappears about two weeks after you stop uploading.
7 min
Price mismatch in Google Merchant Center: why it happens and how to fix it for goodGoogle suspends products when the feed price and the page price disagree. The usual causes — currency, sale prices, stale feeds — and the fixes.
7 min
Fix “Limited performance due to missing identifiers [gtin]” in Google Merchant CenterWhat Google's missing-GTIN warning means, where to find barcodes for your products, and what to do when a product genuinely has none.
6 min
Not sure what's wrong with your feed?Paste your feed URL and FeedRobin checks every product for missing barcodes, images, descriptions and more — free, no account needed.
Check my feed — it's free