Tag Archives: content_api

Buy on Google For Search and Shopping Deprecation

Buy on Google for Search and Shopping will no longer be available starting September 26, 2023. All Merchant and Consumer support will end for Buy on Google on Search on November 25, 2023. The only exception is that the orders.get and orders.list methods will remain available for Search and Shopping until October 30, 2024, so that merchants can download their historical order data.

See below for the specific timeline of when Buy on Google methods will no longer be available for the Search and Shopping program.

June 28, 2023 onwards:

September 30, 2023:

October 31, 2023:

All the orders related resources (orders, orderinvoices, orderreports, orderreturns, ordertrackingsignals) and all their underlying methods. The only exception is that the orders.get and orders.list methods will remain available for Search and Shopping until October 30, 2024, so that merchants can download their historical order data.

If you are currently using the Buy on Google endpoints for Search and Shopping via the Content API, you will need to stop using these services for Search and Shopping before the dates listed above, as your requests will start to fail after that date.

If you have any questions or concerns, please don't hesitate to contact us via the forum.

Planned Content API maintenance from 15:00 UTC to 17:00 UTC on September 28, 2023

The Content API for Shopping will undergo planned maintenance on September 28, 2023, from 15:00 to 17:00 UTC.

During this time, you will not be able to make any changes to your account such as updates to users, business information, feeds, shipping details, or linking your Google Ads accounts.

You can still upload products to your existing feeds or data sources and run ads as usual.

If you have any questions or concerns, please don't hesitate to contact us via the forum.

Launching the Merchant Support Service

On August 23rd, 2023, we introduced new features in the Content API for Shopping to help you display detailed information about product and account issues to your merchants, and enable those merchants to request re-review or perform other actions. The new MerchantSupport service provides more transparency about our policy-related requirements to your merchants. These methods should be used for merchants based in the EEA, but can be used globally.

Here are the 2 new methods (developer guide):
  • Render account issues: provides UI elements with text in the language you select to display account issues to your merchants and redirect link to Merchant Center for merchants to request a re-review or perform other actions
  • Render product issues: provides UI elements with text in the language you select to display product issues to your merchants and redirect link to Merchant Center for merchants to request a re-review or perform other actions
All issue texts returned from MerchantSupport methods above are localized. Clients can request texts in any Merchant Center supported language. Please note that merchants need to have access to their Merchant Center account in order to perform the actions.

If you are based in EEA, we highly recommend implementing MerchantSupport methods by the end of the year, so that your merchants will have more information regarding our policy-related requirements, and have access to our new features. In the future we will expand the MerchantSupport service to let you request re-review or perform other actions directly with the Content API for Shopping. With this future addition, your merchants will not have to be redirected to Merchant Center, they will be able to request the action directly in your UI.

If you have any questions or concerns, please don't hesitate to contact us via the forum.

New Merchant IDs are now 64-bit in Content API for Shopping

In the Content API for Shopping, we informed you last June that new Merchant IDs were migrating from 32 bit to 64-bit signed integers.

Existing Merchant IDs haven’t changed. Beginning on March 13, 2023 new Merchant IDs created could be in the 64-bit signed range. Through a slow rollout over the next few months, a higher percentage of new Merchant IDs will be in the 64-bit signed range. By June 2023, all new Merchant IDs created will be in the 64-bit signed range.

To avoid any issues, please make sure your applications are fully compliant with IDs within a range of 64-bit signed integer values.

If you have any questions or concerns, please don't hesitate to contact us via the forum.

Issues from all destinations to be included in Productstatuses Service by default in the Content API for Shopping

Starting on April 24, 2023, the Content API for Shopping methods productstatuses.list and productstatuses.get will include issues from all eligible destinations by default. This will likely increase the size of the response you get back from the same call.

Currently, the responses you get when using the productstatuses.list and productstatuses.get methods only include issues from Shopping Ads and don’t include issues from other destinations, for example free listings issues.

Including issues from all eligible destinations will let you provide your users with an overall better experience. This change will improve your issue visibility across all destinations. In turn, you will see an increase in the number of results, or the size of responses you’ll receive.

No action is needed from you as the free listing issues will now be included by default when using the Content API for Shopping methods productstatuses.list and productstatuses.get.

However, if you want to keep the calls to only display issues from Shopping Ads, we suggest setting the query parameter destinations[] in the productstatuses methods to Shopping.

Learn more about the changes to the product statuses methods in the Content API for Shopping Product statuses documentation.

If you have any questions or concerns, please don't hesitate to contact us via the forum.

Request Account Reviews with the Content API

In the Content API for Shopping, your Merchant Center account and the products in it might be disapproved for various reasons. Historically, you have been able to see the status of your merchant center account for free listings and Shopping ads with the accountstatuses service. In Q1 2022 we introduced the freelistingsprogram and shoppingadsprogram services to provide more granular detail. You can now use the requestreview method on the freelistingsprogram and shoppingadsprogram services to request your account to be re-reviewed after making changes to fix your product and account data.

For an in-depth explanation of how to use the freelistingsprogram and shoppingadsprogram services, please refer to the Free listings and Shopping ads guides.

If you have any questions or concerns, please don't hesitate to contact us via the forum.

Feed label support added to datafeeds service in Content API for Shopping

On September 22, 2022, we updated you on changes to country targeting for shopping products, and how to use the feedLabel field. We’ve made additional changes to help you integrate feedLabel. Here are our previous announcements: What’s new
Merchant Center & Content API
As of November 8th, 2022 we’ve added the ability to manage feedLabel for datafeeds. The feedLabel field is now available in the following resources:
  • products
  • datafeeds
  • DatafeedStatus
You can now see which countries a datafeed explicitly targets in datafeedtarget. This applies when you use feedLabel instead of country in the datafeedtarget configuration.

We’ve also added the targetCountries field for datafeeds, so you can configure targeting for datafeeds directly. You can still configure targeting outside the feed, for example, by setting the shipping attribute of the products resource.

Note: You can’t manage Primary and Supplemental API feeds with the datafeeds service. You need to use the Merchant Center UI.

Behavior changes
Here’s a clarification of new API behavior for feedLabel:

Insert and update
You can now call Products.insert and Products.update with a feedLabel set to any valid string, for example “WINTERPRODUCTS”.

You can now use feedLabel without setting targetCountry during insertion and updates. Errors that used to warn of this requirement have been removed.

If you use both feedLabel and targetCountry in these calls, their values must be the same.

See Use feed labels to advertise products from specific feeds for the definition of a valid string for feedLabel.

Targeting
If you don’t use targetCountry for products, you must either set the shipping attribute of the products resource, or use the targetCountries field for the datafeeds resource to ensure your products target the chosen countries.

Opt out of receiving products and datafeeds without a country
If you’re concerned your codebase cannot handle products and datafeeds without a country, and you want to opt out of receiving them via the Content API for Shopping, fill out the following form: Feed label replaces target country in the Content API for Shopping - temporary exemption.

When you’re ready to support feedLabel, you can opt back in to receiving these offers.

If you have any questions about this change, please visit the Content API for Shopping forum.

Feed label support added to datafeeds service in Content API for Shopping

On September 22, 2022, we updated you on changes to country targeting for shopping products, and how to use the feedLabel field. We’ve made additional changes to help you integrate feedLabel. Here are our previous announcements: What’s new
Merchant Center & Content API
As of November 8th, 2022 we’ve added the ability to manage feedLabel for datafeeds. The feedLabel field is now available in the following resources:
  • products
  • datafeeds
  • DatafeedStatus
You can now see which countries a datafeed explicitly targets in datafeedtarget. This applies when you use feedLabel instead of country in the datafeedtarget configuration.

We’ve also added the targetCountries field for datafeeds, so you can configure targeting for datafeeds directly. You can still configure targeting outside the feed, for example, by setting the shipping attribute of the products resource.

Note: You can’t manage Primary and Supplemental API feeds with the datafeeds service. You need to use the Merchant Center UI.

Behavior changes
Here’s a clarification of new API behavior for feedLabel:

Insert and update
You can now call Products.insert and Products.update with a feedLabel set to any valid string, for example “WINTERPRODUCTS”.

You can now use feedLabel without setting targetCountry during insertion and updates. Errors that used to warn of this requirement have been removed.

If you use both feedLabel and targetCountry in these calls, their values must be the same.

See Use feed labels to advertise products from specific feeds for the definition of a valid string for feedLabel.

Targeting
If you don’t use targetCountry for products, you must either set the shipping attribute of the products resource, or use the targetCountries field for the datafeeds resource to ensure your products target the chosen countries.

Opt out of receiving products and datafeeds without a country
If you’re concerned your codebase cannot handle products and datafeeds without a country, and you want to opt out of receiving them via the Content API for Shopping, fill out the following form: Feed label replaces target country in the Content API for Shopping - temporary exemption.

When you’re ready to support feedLabel, you can opt back in to receiving these offers.

If you have any questions about this change, please visit the Content API for Shopping forum.

Country targeting update for products in Content API for Shopping and Google Ads API

On August 10, 2022, we announced a change to country targeting for shopping products with the introduction of the feedLabel field. We’d like to update you on the progress of this change. Here are our previous announcements: What’s already changed

Google Ads:
Any Google Ads account can set the feed_label field in ShoppingSetting for Shopping and Performance Max campaigns. You can set feed_label in the Google Ads UI and the Google Ads API.

Merchant Center & Content API:
As of September 14th, 2022 we‘ve started the gradual rollout of feed labels in the Merchant Center UI. When this feature is enabled in the UI, merchants will be able to create a new feed with feed label set to any valid string. See Use feed labels to advertise products from specific feeds for more information.

In the Content API, you might see the following:
  • Products that have only feedLabel, and not targetCountry, if they were added in the Merchant Center UI.
  • Products with feed labels that aren’t two-letter country codes.
You can now use Products.update to update products by feedLabel. For example, if you had a product with offerId of “111111111” and a feedLabel set to “WINTERPRODUCTS”, you can now update attributes such as salePrice for that product by making the following call:
HTTP request:

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/online:en:WINTERPRODUCTS:1111111111
Example request body:

{
"salePrice": {
"value": "17.99",
"currency": "USD"
}
}
Behavior summary:
Here’s a clarification of the current API behavior for feedLabel:
  • Insertion: You can only call Products.insert on products with a matching feedLabel and targetCountry. Currently, Products.insert might return an error if you don’t provide a matching targetCountry. This behavior hasn’t changed if you continue to use only targetCountry.
  • Targeting: If you set feedLabel to a valid 2-letter CLDR territory code, you must still set the shipping attribute of the products resource to the same country in order to target that country. For example, if you set a new feedLabel to “US”, you must also set the country field in the shipping attribute to “US”. If you don’t set both fields, the product might not be eligible to serve in that country. You can configure targeting for an entire feed in the Merchant Center UI.
  • Get/List: When you use Products.list or Products.get, you might see products that only have feedLabel (and not targetCountry) set if they were added in the Merchant Center UI.
  • Product IDs: Once a feedLabel is set for a product it becomes part of the product Id. This means you can’t modify the feedLabel for that product (this is similar to how language works). If you wish to change the feedLabel you will need to create a new product with a different product Id.
What’s coming next

Products:
Once the gradual rollout of feed labels in the Merchant Center UI is complete, we will accept Products.insert calls with feedLabel set to any string. At this point, including targetCountry will become optional.

Datafeeds:
In late September, we will also update the datafeeds resource to include feedLabel in the Content API for Shopping.

Opt out of receiving products and datafeeds without a country
If you’re concerned your codebase cannot handle products and datafeeds without a country, and you want to opt out of receiving them via the Content API for Shopping, fill out the following form: Feed label replaces target country in the Content API for Shopping - temporary exemption. When you’re ready to support feedLabel, you can opt back in to receiving these offers.
If you have any questions about this change, please visit the Content API for Shopping forum.

Feed label replaces target country in Content API for Shopping

On August 23, 2022 we will gradually start updating the way country targeting works for shopping products. As a result, the targetCountry field for newly inserted products and the country field for new datafeeds may be empty in the Content API for Shopping. While targetCountry and country are now deprecated, there are no plans to remove these fields from v2.1 to preserve backward compatibility. We recommend using feedLabel to name new products and feeds, and using the shipping field to specify the countries to target.

If you're accessing accounts whose product data you don’t have total control over and you are unsure whether the products or datafeeds will have ONLY a feedLabel field beginning in late August, we recommend you update your code to support the feedLabel field.

This upcoming change might impact or break your API integration if your application cannot handle products without a targetCountry or datafeeds without a country.

See Country targeting in Shopping Ads campaigns is changing in August 2022 for how this change will impact Google Ads.

What’s already changed
On August 8, 2022, the Content API for Shopping added the feedLabel field to the products resource. As of August 8, 2022, feedLabel can only accept and return two-letter CLDR territory codes. Products now require either targetCountry or feedLabel. As long as the feedLabel set is a valid two-letter CLDR code, targetCountry will be backfilled for compatibility.

We have changed the definition of the product identifier (the id, i.e. the REST ID). feedLabel now replaces targetCountry as the third component of the identifier, so it is no longer just a valid two-letter CLDR code. You can find an example shown here.

This change to product identifier is backwards compatible, so existing REST IDs for existing products will continue to work without change.

Important: feedLabel doesn’t impact targeting. This means if you use feedLabel instead of targetCountry, you need to specify all countries you want to target in the shipping attribute.

What’s coming next
We’re starting a gradual rollout to all users on August 23, 2022. When the upcoming change reaches you, you’ll be able to create a product or datafeed with any string (not just a two-letter CLDR code) as the feedLabel via the API or the Merchant Center. You’ll still be able to use a two-letter country code in targetCountry for backwards compatibility.

After the upcoming change, if you submit a feedLabel that isn’t a CLDR territory code, the API will return those products without a targetCountry or those datafeeds without a country. Instead, only their feedLabel will be populated. This may break your codebase if your implementation expects a value in targetCountry for products or a value in country for datafeeds.

How you’re impacted
Products
If you continue inserting your products with a targetCountry, you are not required to make any changes at this time, as the feedLabel value in the products REST ID will be identical to the targetCountry you inserted.

However, if you use a feedLabel in Merchant Center or the API that is not a CLDR territory code, we highly recommend you update your codebase to use feedLabels on all product insertions instead of targetCountry to avoid issues with your API integration.

All products inserted with a feedLabel instead of targetCountry, even if the feedLabel is a CLDR territory code, will not automatically target that country. You must explicitly set the countries you want to target via the shipping field.

Datafeeds
Note that starting August 23, 2022, feed label will replace the current country of sale value in the Merchant Center UI. The Content API will be expected to support this change via the datafeeds service starting mid-September. These new datafeeds will only have the feedLabel field set, not the country field, unless you explicitly set the feedLabel to a CLDR territory code.

To support new users, we highly recommend you update your codebase to use feedLabels on all datafeeds instead of country to avoid issues with your API integration.

Recommendation for third party integrations
If you’re a third party or agency that manages your customers' accounts for them, we highly recommend you check your codebase is able handle products without a targetCountry and datafeeds without a country before August 23, 2022.

After the gradual rollout starting in late August, your merchants will be able to modify products directly in Merchant Center to create a product with a feedLabel that is not a valid two-letter CLDR territory code. When this product is returned via products.list, you could encounter issues if your implementation expects a value in targetCountry.

As well, after the gradual rollout in late August, new users will create datafeeds that by default have a feedLabel and no country field. When this datafeed is returned via datafeeds.list, you could encounter issues if your implementation expects a value in country.

How to detect if you have offers without a country in your Merchant Center account
  1. Make a request to products.list.
  2. Filter your products to search for products where the targetCountry field does not exist on the product.
  3. If any products appear, you have offers without a country in your Merchant Center.
Detailed Changes
To view a detailed breakdown of the changes to the Content API by this feature launch, see the guide here.

Datafeeds Service
Starting mid-September the datafeeds service will begin to return feedLabel on all datafeeds, which will be the country value if that is how the datafeed was created. The datafeeds service will also return the country field if the feedLabel is a valid country code for backwards compatibility.

Opt out of receiving products and datafeeds without a country
If you’re concerned your codebase cannot handle products and datafeeds without a country, and you want to opt out of receiving them via the Content API after August 23, then please fill out the following form: Feed label replaces target country in the Content API for Shopping - temporary exemption. Once you have fully supported feedLabel, you will be able to opt back in to receiving these offers.

If you have any questions or concerns, please don't hesitate to contact us via the forum.