Uploading and maintaining product data feeds for shopping campaigns
In Microsoft Merchant Center, the product count shown in the store graph reflects what is successfully ingested and approved in that specific MMC store, not what is present in external systems or campaigns.
Given that products are importing via API and campaigns are running, but the MMC store graph shows zero products, the most likely causes (based on the Content API behavior) are:
- Wrong MMC store ID in the graph vs. API
The Content API base URI is:
https://content.api.bingads.microsoft.com/shopping/v9.1/bmc/
All product operations must be scoped by the correct{mmcMerchantId}(the Merchant Center store ID). If Feedonomics is pushing products to store A (using itsmmcMerchantId), but the UI graph is showing store B, the graph will show zero products even though campaigns are running against store A. Action:- Confirm the exact MMC store ID (
mmcMerchantId) used in the Feedonomics/API configuration. - In Microsoft Advertising, open the Merchant Center store with that same ID and check the graph there.
- Confirm the exact MMC store ID (
- Using the wrong identifier when checking products
The Content API uses the fully qualified product ID (e.g.,Online:en:US:Sku123), not theofferId, for product-level operations:- Get a product:
GET {mmcMerchantId}/products/{productUniqueId} - Delete a product:
DELETE {mmcMerchantId}/products/{productUniqueId}
offerIdinstead of the product ID, it can appear as if there are no products. Action:- Verify that the product IDs used in API calls match the IDs returned by the API on insert (case sensitive).
- Use
GET {mmcMerchantId}/productsto list products and confirm that the store actually contains items.
- Get a product:
- Products in a different catalog or duplicated IDs
If the same product ID is inserted into multiple catalogs under the same store, the service’s behavior when retrieving can be non-deterministic:- Getting a product by ID returns only one of them, and which catalog it comes from is undetermined.
- Deleting by product ID deletes from all catalogs.
- Ensure a given product ID is not inserted into multiple catalogs.
- Standardize on a single catalog per store (or unique IDs per catalog) and re-check the store graph after the next feed/API run.
- Timing / propagation delay
The documentation notes that deleted products can take up to 12 hours to stop delivering. Similarly, product ingestion and UI reporting can have some delay. Campaigns may still run on previously ingested data while the graph lags. Action:- After confirming products exist via API (
GET {mmcMerchantId}/products), wait for the reporting interval and then re-check the Merchant Center graph.
- After confirming products exist via API (
- Verify headers and account scoping when managing on behalf of others
When catalogs are managed on behalf of other customers, the following headers must be set correctly on each Content API call:-
AuthenticationToken(user’s OAuth token) -
DeveloperToken -
CustomerId(customer whose store is being managed) -
CustomerAccountId(any managed account for that customer)
CustomerId/CustomerAccountIdthan the one viewed in the UI, the UI store graph will not match. Action:- Confirm
CustomerIdandCustomerAccountIdin the Feedonomics/API configuration match the customer and account being viewed in Microsoft Advertising.
-
Summary of concrete checks:
- Confirm the exact MMC store ID (
mmcMerchantId) used by Feedonomics and open that same store in Merchant Center. - Use the Content API to list products:
GET https://content.api.bingads.microsoft.com/shopping/v9.1/bmc/{mmcMerchantId}/productsand verify that products are present. - Ensure product IDs are unique per catalog and that the product ID (not
offerId) is used for lookups. - Verify
CustomerIdandCustomerAccountIdheaders align with the customer/store being inspected in the UI. - Allow for reporting delay and re-check the graph after confirming via API that products exist.
If all of the above are correct and the API confirms products exist in the store while the graph remains at zero after propagation time, the next step is to open a Microsoft Advertising support ticket with the specific mmcMerchantId and recent API request IDs.
References: