Skip to content
feedlab Request early access

Channel comparison

Google Shopping vs Microsoft Advertising: feed requirements compared

Microsoft Advertising modelled its feed specification on Google's, down to using the same product taxonomy, making these the closest pair of channels documented here. The differences lie not in attribute names but in enforcement, refresh cadence, and whether you publish a second feed or import your Google account.

Where the two specifications diverge

The 1 attribute one channel treats differently from the other. Everything else is identical and is listed further down.

Attributes treated differently by Google Shopping and Microsoft Advertising
Attribute Google Shopping Microsoft Advertising What that means
condition Required in some cases Optional Stricter on Google Shopping.

Differences a table cannot show

Requirement levels are the easy part. These are the differences in values, structure and delivery that break a feed copied from one channel to the other.

The Google import is a copy, not a mirror

Microsoft will import a Merchant Center account directly, which is the fastest possible launch. What it creates is a separate catalogue synced on its own schedule, so a fix applied in Google appears in Microsoft later, or not at all if the sync fails quietly. Publishing one mapping to two feed URLs removes an entire class of "why does Bing show the old price" problems.

Microsoft enforces more harshly than it documents

The written rules for identifiers follow Google closely, but the consequences differ. An item that Google merely warns about, such as one with missing identifiers, can be rejected outright by Microsoft. A feed that looks healthy in Merchant Center is therefore still worth reviewing in Microsoft Merchant Center rather than assumed clean.

Refresh is daily, with no finer option

Google offers daily, weekly or monthly scheduled fetches plus the Content API for pushes in between. Microsoft schedules daily. For a catalogue where stock moves within the day, neither channel keeps up on schedule alone, but Microsoft has no equivalent of the Content API to fall back on.

It accepts TSV, not comma-delimited text

Microsoft's delimited format is tab-separated. Google accepts both comma and tab delimited text. A Shopify feed exported as CSV therefore needs regenerating as TSV rather than renaming, and the difference is easy to miss because both are "text feeds" in the interface.

condition is optional here

Google requires condition once an item is not new. Microsoft treats it as optional throughout. It is still worth sending for used and refurbished goods, because it is what stops a shopper arriving on a second-hand item expecting a new one, but it will not hold up a feed.

Reusing one feed for the other channel

What actually has to change, in the order it is worth doing.

  1. Publish the feed rather than importing the account

    Point Microsoft at the same generated feed, republished as TSV. It is a few minutes more work than the Google import and it means one mapping, one source of truth, and no second catalogue to reconcile when something changes.

  2. Regenerate as tab-delimited text

    Keep the same columns and change the delimiter. If any field can contain a tab, and descriptions occasionally can after an HTML strip, make sure the generator escapes or strips it rather than letting the row split.

  3. Keep google_product_category exactly as it is

    Microsoft accepts the Google product taxonomy values unchanged. This is the single biggest reason the migration is cheap, and it is also why the taxonomy mapping is worth doing properly once rather than approximately twice.

  4. Review identifier coverage before you launch, not after

    Because Microsoft can reject what Google only warns about, count the items with no valid gtin and no brand and mpn pair first. On Google those items serve with a warning; here they may not serve at all.

  5. Set up the second feed on its own schedule

    Both channels fetch daily at best, but they do not fetch at the same moment. Regenerate before each fetch rather than once a day on a cadence that happens to suit one of them.

Every attribute, side by side

All 16 attributes documented in this knowledge base, as Google Shopping and Microsoft Advertising each treat them.

Full attribute comparison between Google Shopping and Microsoft Advertising
Attribute Google Shopping Microsoft Advertising
availability Required availability Required availability
brand Required in some cases brand Required in some cases brand
condition Required in some cases condition Optional condition
custom_label_0 Optional custom_label_0 Optional custom_label_0
description Required description Required description
google_product_category Recommended google_product_category Recommended google_product_category
gtin Required in some cases gtin Required in some cases gtin
id Required id Required id
identifier_exists Optional identifier_exists Optional identifier_exists
image_link Required image_link Required image_link
item_group_id Required in some cases item_group_id Required in some cases item_group_id
link Required link Required link
mpn Required in some cases mpn Required in some cases mpn
price Required price Required price
sale_price Optional sale_price Optional sale_price
title Required title Required title

Frequently asked questions

Can I just import my Google Merchant Center account into Microsoft?

Yes, and it is the fastest way to launch. It creates a second catalogue that syncs on its own schedule rather than a live mirror, so the two can drift. Publishing the same mapping as a second feed avoids that and costs little once the mapping exists.

Does Microsoft Advertising use the Google product taxonomy?

Yes. Microsoft accepts Google's product category taxonomy values in google_product_category, so that mapping carries across with no changes at all. It is the main reason a Google feed can be repointed with so little work.

Which attributes actually differ between Google and Microsoft?

Almost none. Of every attribute documented here, only condition is treated differently, and only in that Microsoft makes it optional where Google requires it for items that are not new. The real differences are in delivery, format and enforcement rather than in the schema.

Does Microsoft accept a CSV feed?

Its delimited format is tab-separated text. Generate the same columns as TSV rather than renaming a comma-delimited file, and make sure the generator handles a tab appearing inside a description.

Both specifications in full

Errors on either channel

Related concepts

Primary sources

Channel specifications change. These are the official documents this page is based on.

Last reviewed View as markdown