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.
| 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.
-
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.
-
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.
-
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.
-
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.
-
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.
| 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
- Google Shopping Google Shopping is the surface where Google displays product listings from a merchant's catalogue, fed by a product feed uploaded to Google Merchant Center. Google's product data specification is the most detailed of the major channels, and the one whose attribute names the other channels tend to borrow.
- Microsoft Advertising Microsoft Advertising runs product ads across Bing, Yahoo and the Microsoft Audience Network from a catalogue uploaded to Microsoft Merchant Center. Its feed specification is closely modelled on Google's, which makes it the cheapest additional channel to launch once a Google Shopping feed already exists.
Errors on either channel
- Missing value: GTIN The "Missing value: GTIN" issue means a channel believes a product has a manufacturer-assigned barcode but the feed did not supply one. On Shopify it almost always traces back to the variant barcode field, which is optional in the admin and therefore left empty across large parts of most catalogues.
- Invalid value: GTIN The "Invalid value: GTIN" error means the feed supplied a value in the gtin attribute that is not a structurally valid Global Trade Item Number. Unlike a missing GTIN this is usually a disapproval rather than a warning, because a wrong identifier matches the item to the wrong product rather than to none.
- Missing value: brand The "Missing value: brand" issue means a channel expects a brand name for a product and the feed did not supply one, or supplied a placeholder it treats as empty. On Shopify it usually means the vendor field is blank, or holds a supplier or internal category rather than the brand a shopper would recognise.
Related concepts
- Product identifiers Product identifiers are the values that let a sales channel recognise that your listing and someone else's describe the same physical product: a GTIN, or a manufacturer part number together with a brand. They matter because a channel that can identify a product can attach reviews, specifications and competing offers to it, and one that cannot has to treat your listing as an unknown object.
- Feed scheduling Feed scheduling is the arrangement where a sales channel fetches a feed from a fixed URL on a repeating timetable instead of the merchant uploading a file. It matters because the interval between regenerations is the window in which a channel can be wrong about a price or a stock level, and most mismatch disapprovals are caused by that window being too wide rather than by a bad mapping.
- Product feed A product feed is a structured file listing every item a shop sells, with one row per purchasable item and one column per attribute the destination understands. Sales channels use it to build their own copy of a catalogue, which is why a feed is a translation of a shop's data into another system's schema rather than an export of it.
Primary sources
Channel specifications change. These are the official documents this page is based on.