This page documents known developer concerns with Merchant API.

## Throughput issues for product and inventories `insert` methods

**Reported:** 2026-01-28 UTC \| **Last Updated:** 2026-03-31 UTC

We received reports of client-side performance issues with throughput
while transmitting large amounts of data to the Merchant API. You might see
this issue when using client libraries for the following methods:

- [`accounts.productInputs.insert`](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs/insert)
- [`accounts.products.localInventories.insert`](https://developers.google.com/merchant/api/reference/rest/inventories_v1/accounts.products.localInventories/insert)
- [`accounts.products.regionalInventories.insert`](https://developers.google.com/merchant/api/reference/rest/inventories_v1/accounts.products.regionalInventories/insert)

We've made improvements to increase the performance of various backend systems.
If you still encounter this issue, you might need to configure a channel pool to
maximize throughput. This bypasses the typical 100-stream limit of a single gRPC
channel by managing multiple underlying connections. For more information, see
[Refactor code for concurrent requests: Improve throughput with channel pools](https://developers.google.com/merchant/api/guides/compatibility/refactor-concurrent-requests#channel-pools).

## Product identifiers with special characters

**Reported:** 2025-10-03 UTC \| **Last Updated:** 2026-04-08 UTC

Users may encounter issues when managing products where the `productId` or
`offerId` don't respect the
[product ID formatting guidelines](https://support.google.com/merchants/answer/6324405).
Such product IDs might contain special characters --- most notably forward
slashes (`/`), colons (`:`), tildes (`~`), and percent signs (`%`). Surfaces
like Merchant Center already allow some special characters in product IDs.

Because Merchant API incorporates the product identifier directly into the
resource `name` as part of the URL (for example
`accounts/{account}/products/{productId}`), these characters can interfere with
standard URL routing and parsing, leading to unexpected `404 Not Found` or
`400 Bad Request` errors during GET, PATCH, or DELETE operations.

To safely interact with products containing these characters, you must
encode the `productId` or `offerId` segment of the resource name. The encoding
algorithm is **Base64URL encoding with no padding** . For more information, see
[`accounts.productInputs.name`](https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs#ProductInput.FIELDS.name).

**Resolved:** We rolled out a solution to standardize the behavior across the
Merchant API ecosystem. We've added a new field `base64_encoded_name` to the API
responses that provides the pre-encoded resource name, which lets you use the
output of a list or get call directly as the input for subsequent updates
without performing manual encoding.

## Delay after data source creation

**Reported:** 2024-04-10 UTC \| **Last Updated:** 2024-05-12 UTC

A known delay occurred when trying to insert products, promotions, or reviews
immediately after creating a new `DataSource`. The `Data source not found` error
was returned when trying to insert items within 5 minutes of the data source
being created.

**Resolved:** This delay has been eliminated, allowing for more immediate
interaction with newly created data sources.

## Any other issue?

Go to our [Get help with Merchant API](https://developers.google.com/merchant/api/support/get-help)
and
[Give feedback](https://developers.google.com/merchant/api/support/give-feedback)
pages for any other issues.