The Google Shopping comparison engine gives consumers an efficient way to discover new products. Shoppers’ ability to compare products before visiting an e-commerce site improves the efficiency of advertising spend. Thus, Google Shopping ads account for over 75% of all search ad spend from retailers.
Those looking to run successful shopping campaigns at scale must optimize how they manage their product data feed. There are several ways to upload your product feed to Google Merchant Center, including from a local file, Google Sheets, and Google Shopping APIs (also known as Content API).
The Google Content API is the most effective method as it eliminates errors and allows you to automate ad management.
Google’s strict product data requirements ensure that shoppers have a smooth experience. Any inconsistencies will make those items ineligible for ads. Typical data inconsistencies include mismatched prices and URLs and incorrect availability and attributes like color or size.
Avoiding these errors is challenging with manual feed management. Let’s say you wanted to run a promotion for your products. You would need to manually change the prices in your feed to match those on your site. You would also need to revert the price once the promotion is over.
With the Content API, you can automatically push updates the moment your price or inventory changes. Google can process updates from an API faster as you only need to push data from the products that need to change.
With a spreadsheet or other fetching method, you must push the entire feed to Merchant Center. Doing so takes more time and strains Google’s resources.
Beyond reducing errors, there are several ways Google Shopping APIs can help streamline product syndication. Let’s examine some of these further.
If your products are available through Buy on Google, you can use the Content API to apply pricing rules to your products. These pricing rules allow you to automatically update the price for your items to ensure they are always competitively priced.
Here is the body of a POST
request to automatically price a product 10% higher than the lowest competitor price:
{
"title": "10% higher than the lowest price!",
"paused": false,
"countryCode: "US",
"languageCode: "en",
"eligibleOfferMatcher": {
"matcherOption": "MATCHER_OPTION_CUSTOM_FILTER"
"offerIdMatcher": [
'1111111111',
'2222222222',
'3333333333',
],
"itemGroupIdMatcher": [
'12345',
'67890',
'11223',
],
"brandMatcher": [
'Nike',
'Adidas',
'New Balance',
],
"matcherOption: "CUSTOM_FILTER"
},
"effectiveTimes": [
{
"startTime": "2020-06-20T12:00:00+00:00"
"endTime": "2020-06-20T14:00:00+00:00"
}
],
"type": 'TYPE_STATS_BASED',
"restriction": {
"floor": {
"priceDelta": "-10",
"percentageDelta": -10
}
}
"stats_based_rule": {
"percentage_delta": 10
}
}
With the Content API, you can make live adjustments to your shipping and tax settings. You can do so on an account or product level. For instance, you can create a shipping promotion for shoppers in a certain location.
Below is some code illustrating this capability:
PUT /content/v2.1//shippingsettings/
{
"accountId": ,
"services": [
{
"name": "Eligible for free shipping",
"deliveryCountry": "US",
"rateGroups": [
{
"mainTable": {
"rowHeaders": {
"locations": [
{ "locationIds": ["21167"] }, // NY
{ "locationIds": ["21164", "21139"] } // NJ, CT
]
},
"rows": [
{
"cells": [
{
"flatRate": { "currency": "USD", "value": "0" }
}
]
},
{
"cells": [
{
"flatRate": { "currency": "USD", "value": "0" }
}
]
}
]
}
}
],
"active": true,
"deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
"currency": "USD"
},
{
"name": "UPS in US",
"deliveryCountry": "US",
"rateGroups": [
{
"singleValue": { "carrierRateName": "UPS mainland" },
"carrierRates": [
{
"name": "UPS mainland",
"carrierName": "UPS",
"carrierService": "Ground",
"originPostalCode": "10011", // currently only US, AU, and DE postal codes
"percentageAdjustment": "1.05",
"flatAdjustment": { "currency": "USD", "value": "0.75" }
}
]
}
],
"active": true,
"deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
"currency": "USD"
}
],
"postalCodeGroups": [
{
"name": "More cities", // An alternative using postal codes
"country": "US",
"postalCodeRanges": [
{ "postalCodeRangeBegin": "94041" },
{ "postalCodeRangeBegin": "94042" },
{ "postalCodeRangeBegin": "94043", "postalCodeRangeEnd": "94045" },
{ "postalCodeRangeBegin": "9405*" },
{ "postalCodeRangeBegin": "9406*", "postalCodeRangeEnd": "9408*" }
]
}
]
}
The Content API also allows you to update the products held at your local store. You can change prices, run promotions, or adjust availability.
The following request shows how to create an in-store promotion for your local product listings:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchant
Id/products/productId/localinventory
{
"storeCode": "1235",
"salePrice": {
"value": "100.00",
"currency": "USD"
},
"salePriceEffectiveDate": "2021-02-24T13:00-0800/2021-02-28T15:
30-0800",
"quantity": 200,
}
Strong data management is the foundation of an effective product feed. Using product information management software like fabric PIM provides a centralized place to view and manage your products. Data is clean and consistent, and products support unlimited attributes.
With the upcoming fabric Fusion, you can create your own integration layer to map product data to the appropriate Google Shopping fields. Take advantage of the opportunity to enrich your products and create an experience optimized for Google Shopping.
PIM product manager @ fabric. Previously VP of products @ Ubreathe.