Ducted

Microsoft Shopping
feeds.

Shopping ads in Bing.

A store already producing a Google Shopping feed can serve Microsoft from the same mapped catalog with a second output: the specs are close cousins, and the differences are exactly what the template carries. Six fields are required, availability and condition default to in stock and new when omitted, and identifier_exists is Microsoft's way of saying a new product truly has no GTIN, brand or MPN.

Two things Google tolerates, Microsoft does not: adult products are rejected outright, and the price is documented as exactly two decimals plus its ISO currency code (Google rounds extra decimals), tax excluded in the US and VAT included in the UK, France, Germany and Australia.

What the feed needs

Generated from the Ducted Microsoft Shopping template, the same field rules your mapping is validated against.

51 fields: 6 required, 4 recommended, 41 optional. 11 fields change level with the market, the product or how the record is sent.

FieldLevelAccepted values / example
idrequiredISI1
titlerequiredWomen's shoes
descriptionrequiredBright yellow 100% cotton dress shirt
linkrequiredhttp://www.contoso.com/product.asp?pn=ISI1
image_linkrequiredhttp://www.contoso.com/images/ISI1.jpg
pricerequired23.99 USD
brandrecommended
recommended for new products with a brand (Microsoft: required if the manufacturer assigns one; send identifier_exists FALSE for products with no GTIN, brand or MPN)
Contoso
gtinrecommended
recommended for products whose manufacturer assigns a GTIN (new products with a GTIN must send gtin, brand and mpn)
00012345600012
mpnrecommended
recommended for products without a GTIN (Microsoft: submit brand and mpn)
ADNK-5020
identifier_existsrecommended
recommended for new products without gtin + brand or mpn + brand (set it to FALSE)
yes · no · true · false
coloroptional
required for Apparel & Accessories products targeted to France, Germany, the UK or the US
red/black/white
sizeoptional
required for Apparel & Accessories products targeted to France, Germany, the UK or the US
small
size_systemoptional
recommended for products that send a size
DE · FR · AU · US · UK
size_typeoptional
recommended for products that send a size
regular · petite · plus · big and tall · maternity
genderoptional
required for Apparel & Accessories products targeted to France, Germany, the UK or the US
male · female · unisex
age_groupoptional
required for Apparel & Accessories products targeted to France, Germany, the UK or the US
newborn · infant · toddler · kids · adult
shippingoptional
required for products targeted to Austria or Germany
12.99

Field rules from the official spec, verified 2026-10-02.

Also supported, always optional (34): availability, condition, product_category, product_type, item_group_id, material, pattern, additional_image_link, sale_price, sale_price_effective_date, custom_label_0, custom_label_1, custom_label_2, custom_label_3, custom_label_4, adult, multipack, expiration_date, energy_efficiency_class, max_energy_efficiency_class, min_energy_efficiency_class, excluded_destination, included_destination, installment, shopping_ads_excluded_country, unit_pricing_base_measure, unit_pricing_measure, ads_redirect, link_template, seller_name, promotion_id, return_policy_labels, consumer_message_type, consumer_message_content

Where Microsoft Shopping feeds get rejected

Adult products

Microsoft Advertising does not support adult products: any record with adult set to true or yes is rejected, where Google would only restrict where it serves.

New product without identifiers

A new product sends gtin and brand, or mpn and brand. If the manufacturer assigns none, identifier_exists must be FALSE, or the record is flagged as missing its identifiers.

Apparel and shipping by country

Apparel & Accessories targeted to France, Germany, the UK or the US needs color, size, gender and age_group; products targeted to Austria or Germany need shipping. Elsewhere all five are optional.

Sale price and sale dates out of step

sale_price must be lower than price and is documented without a currency code (the code is read from price). sale_price_effective_date only works together with sale_price, and a price of 0 is accepted only for phones and tablets sold with installments.

Validate your product feed for free →

From source to a live feed URL

  1. Connect the source. A Shopify, WooCommerce, Teemill, Spring, Printify Pop-Up, Bonfire or Fourthwall store address, a file, a feed URL or a REST API. No source at all? Website Indexing builds one from the store itself.
  2. AutoMap the fields. Every source column is scored against the channel template and the best match is pre-filled. You confirm or tweak.
  3. Transform what needs it. Casing, currency and number formats, conditional values, fallbacks for fields the source sometimes leaves empty.
  4. Validate before you send. The health check names the field, counts the affected records and shows example rows from your own data.
  5. Serve a permanent URL. The platform fetches your feed on a schedule; feed pull tracking shows when it last did.

The rest of the shopping stack

One mapped catalog serves every channel; each page covers what that platform's feed needs.

E-commerce feedsGoogle ShoppingMeta CatalogTikTok CatalogPinterestSnapchatRedditX ShoppingCriteoChatGPT Ads

Microsoft from the catalog you already mapped.

Add a Microsoft output to an existing project, or start free and map your first.

Create free accountCheck an existing feed