---
title: "Google Merchant Center and product feeds"
description: "Why the product feed is now your most important ad asset A product feed is a structured list of your products — IDs, titles, descriptions, prices…"
url: https://optimizeall.com/learn/ecommerce-marketing-and-growth/google-merchant-center-and-product-feeds
updated: 2026-10-05
---

E-commerce Marketing and Growth · Marketplaces, social commerce, product feeds and paid acquisition · lesson 13 of 20 · 8 min

# Google Merchant Center and product feeds

## Why the product feed is now your most important ad asset

A **product feed** is a structured list of your products — IDs, titles, descriptions, prices, availability, images, identifiers and more. Google Merchant Center uses it for **free listings** on Google (Shopping tab, Search, Images, Maps/YouTube in eligible markets) and for **Shopping ads and Performance Max**. The same data powers Meta and TikTok catalogues, marketplaces and increasingly AI shopping experiences. A clean, rich feed improves visibility everywhere; a messy one quietly limits every channel.

## Required and key attributes (Google Merchant Center)

| Attribute | Notes |
|---|---|
| `id` | Unique, stable per variant (e.g. SKU). Changing IDs resets performance history. |
| `title` | Up to 150 characters. Front-load what shoppers search: brand + product type + key attributes (material, size, colour, gender, model). |
| `description` | Up to 5,000 characters; accurate, no promotional text or competitor comparisons. |
| `link` | Landing page for the exact variant; must match the feed price and availability. |
| `image_link` | High-quality image of the product; no watermarks or promotional overlays on the main image. |
| `availability` | `in_stock`, `out_of_stock`, `preorder`, `backorder`. |
| `price` | Number + ISO currency, e.g. `189.00 AED`; must match the landing page. |
| `brand` | Required for most new products with a brand. |
| `gtin` | Required when the product has one assigned (EAN/UPC/ISBN). Use `mpn` + `brand` if no GTIN; `identifier_exists = no` only when neither exists (e.g. custom-made). |
| `condition` | `new`, `refurbished` or `used`. |
| Variant attributes | `item_group_id`, `color`, `size`, `gender`, `age_group` (required for apparel in many countries). |
| `shipping` / `tax` | Shipping cost and speed settings (account-level or in feed); tax settings in some countries (e.g. US). |
| Optional but valuable | `sale_price` + `sale_price_effective_date`, `product_highlight`, `product_detail`, `additional_image_link`, `custom_label_0-4`, `google_product_category`, `product_type`. |

Always check the current *Product data specification* in Merchant Center Help — requirements differ by country and category and change over time.

## Ways to submit and manage the feed

- **Platform integrations**: Shopify's Google & YouTube channel app, WooCommerce's Google for WooCommerce extension, and marketplace-style connectors sync products automatically.
- **Scheduled file fetch** (CSV/TSV/XML hosted on your server) or **Google Sheets**.
- **API**: the **Merchant API** replaced the Content API for Shopping, which was scheduled to shut down on 18 August 2026. If a developer or feed tool integrated with the Content API, confirm it has migrated. File uploads, scheduled fetches and Sheets are not affected.
- **Supplemental feeds** add or override attributes (custom labels, better titles) without touching the primary feed.
- **Feed management tools** (e.g. Feedonomics, Channable, Productsup, DataFeedWatch) help at scale and across channels.

## Hands-on: validate a feed before Google does

```python
import csv

REQUIRED = ["id", "title", "description", "link", "image_link", "availability", "price", "brand", "condition"]
AVAILABILITY = {"in_stock", "out_of_stock", "preorder", "backorder"}
CONDITION = {"new", "refurbished", "used"}

def gtin_ok(gtin: str) -> bool:
    """GS1 check digit for GTIN-8/12/13/14."""
    if not gtin.isdigit() or len(gtin) not in (8, 12, 13, 14):
        return False
    digits = [int(d) for d in gtin]
    check = digits.pop()
    total = sum(d * (3 if i % 2 == 0 else 1) for i, d in enumerate(reversed(digits)))
    return (10 - total % 10) % 10 == check

problems = 0
with open("products.tsv", newline="", encoding="utf-8") as f:
    for n, row in enumerate(csv.DictReader(f, delimiter="\t"), start=2):
        issues = [f"missing {k}" for k in REQUIRED if not (row.get(k) or "").strip()]
        if len(row.get("title", "")) > 150: issues.append("title > 150 chars")
        if row.get("availability") and row["availability"] not in AVAILABILITY: issues.append("bad availability value")
        if row.get("condition") and row["condition"] not in CONDITION: issues.append("bad condition value")
        if len((row.get("price") or "").split()) != 2: issues.append("price should be like '189.00 AED'")
        gtin = (row.get("gtin") or "").strip()
        if gtin and not gtin_ok(gtin): issues.append(f"gtin {gtin} fails check digit")
        for i in issues:
            problems += 1
            print(f"line {n} id={row.get('id', '?')}: {i}")
print(f"{problems} problem(s) found")
```

Example TSV (header + one row):

```text
id	title	description	link	image_link	availability	price	brand	gtin	condition	item_group_id	color	size	custom_label_0
LNS-SAND-M	ExampleBrand Linen Relaxed Shirt - Sand - Men's M	Breathable 100% linen shirt, relaxed fit.	https://example.com/p/linen-sand?variant=m	https://example.com/i/linen-sand-1.jpg	in_stock	189.00 AED	ExampleBrand	5012345678900	new	LNS-SAND	Sand	M	margin_high
```

## Common disapprovals and how to avoid them

| Issue | Typical cause | Fix |
|---|---|---|
| Price mismatch | Feed not updated after a sale; currency/tax display differs | Sync prices automatically; use `sale_price` with effective dates |
| Availability mismatch | Stock changes faster than feed updates | More frequent syncs; structured data on the page matching the feed |
| Missing identifiers | No GTIN/brand/MPN | Add GS1 GTINs; `identifier_exists` only when truly none |
| Misrepresentation (account level) | Unclear business identity, missing policies, misleading claims | Clear contact details, returns/delivery policies, honest pricing and claims |
| Image problems | Watermarks, promo text, placeholder images | Clean main images; lifestyle images as additional images |

## Free listings, promotions and ratings

- **Free listings** can bring clicks at no cost once the feed is approved — a strong reason for every store to use Merchant Center, even without ads.
- **Promotions** (e.g. "10% off with code EID10") can appear on listings; terms must match your site and pass review.
- **Product ratings** and **store ratings** can show when you have enough genuine reviews from supported sources.
- **Local inventory** features let stores with physical locations show in-store availability.

## AI and the feed

Merchant Center includes AI tools (for example Product Studio for image editing and generation, and suggested title/description improvements). Use them to improve imagery and fill gaps, but check accuracy: AI-generated backgrounds are fine; AI changes to the product itself (colour, shape, included items) are misleading. Remember that AI shopping experiences — Google's and others' — read your structured product data, so accurate, complete attributes help you appear for detailed queries like "breathable linen shirt for 40°C".

## Video lecture: Google Merchant Center and product feeds

Lecture coming soon · 14 chapters · about 9 minutes. Read the full transcript below.

1. Google Merchant Center and product feeds
2. Why the feed matters
3. What Merchant Center does
4. Key attributes
5. Titles do the heavy lifting
6. Submitting the feed
7. Common disapprovals
8. Simple example: Lahore bookshop
9. Realistic example: UAE fashion feed (illustrative)
10. Watch me do it: feed validator
11. Extra visibility
12. AI and the feed
13. Common mistakes
14. Recap

## Lecture transcript

### Google Merchant Center and product feeds

Here's an ad asset most stores neglect: a spreadsheet. Your product feed, a structured list of every product, its price, stock, images and identifiers, decides whether you appear in Google's free listings, Shopping ads, Performance Max, Meta and TikTok catalogues, marketplaces, and increasingly AI shopping answers. In this lecture you'll learn what Google Merchant Center does, the required and key attributes, how to write titles that match searches, ways to submit feeds including the new Merchant API, how to avoid disapprovals, and how to use free listings, promotions and ratings. Then you'll watch me validate a feed before Google does.

### Why the feed matters

Why does the feed matter so much? Because automated campaigns and shopping surfaces can only show what the feed tells them. If titles are vague, you won't match detailed searches. If prices don't match your site, products get disapproved. If identifiers are missing, Google can't match your product to what shoppers are comparing. And a clean feed also unlocks free listings on Google, which can bring clicks at no cost. It's the rare marketing task where tidy data directly becomes visibility.

### What Merchant Center does

Let's meet Merchant Center. It's Google's hub for your product data and store information. You verify and claim your website, set shipping and returns information, upload or sync your feed, and fix any issues it reports. From there, your products can appear in free listings across Google surfaces, and your Google Ads account can use the feed for Shopping ads and Performance Max. Think of it as your store's shop window on Google: Merchant Center arranges the window, and the feed is everything in it.

### Key attributes

The required and key attributes. An ID, unique and stable for each variant. A title, up to a hundred and fifty characters. A description, up to five thousand. The link to the exact variant's page. The main image link. Availability: in stock, out of stock, preorder or backorder. Price, with currency, matching the page. Brand. The GTIN, meaning the barcode number, whenever the product has one, or brand plus MPN if it doesn't. Condition. And for apparel, variant details like colour, size, gender and age group, grouped with an item group ID. Requirements differ by country and category, so always check the current specification.

### Titles do the heavy lifting

Titles do the heavy lifting. Google matches shopper searches largely against your title, so front-load what people actually search: brand, product type and key attributes like material, size, colour, gender or model number. Compare linen shirt, with ExampleBrand men's linen relaxed shirt, sand, size M. The second matches far more real searches, like men's linen shirt beige. Use your site search data and search terms reports to learn the words shoppers use. And keep promotional text, like free shipping or best price, out of titles.

### Submitting the feed

How do you submit the feed? Most stores use a platform integration, like Shopify's Google and YouTube channel app or Google for WooCommerce, which sync products automatically. You can also use a scheduled file fetch from your server, or a Google Sheet. Developers use the API, and here's an important update: the Merchant API replaced the Content API for Shopping, which was scheduled to shut down in August twenty twenty-six. If a developer or feed tool integrated through the old API, confirm they've migrated. File uploads, scheduled fetches and Sheets aren't affected. And supplemental feeds let you add or override attributes, like custom labels or better titles, without touching the primary feed.

### Common disapprovals

Disapprovals are the silent killer. The most common: price mismatches, when a sale starts on the site but not in the feed. Availability mismatches, when stock changes faster than the feed updates. Missing identifiers. Image problems, like watermarks or promotional text on the main image. And account-level misrepresentation, usually from unclear business identity, missing policies or misleading claims. The fixes: sync automatically and frequently, use sale price with effective dates, add real barcodes, keep main images clean, and make your contact details and policies clear.

### Simple example: Lahore bookshop

A simple example. A small Lahore bookshop hasn't touched Merchant Center. They sync their Shopify catalogue using the Google channel app, add ISBNs as identifiers, fix twenty books with missing images, and verify their shipping and returns settings. Within weeks, their books start appearing in free listings when people search for specific titles and authors. No ad spend yet. Just clean data turned into visibility.

### Realistic example: UAE fashion feed (illustrative)

Now a realistic scenario with illustrative details. A UAE fashion retailer's Performance Max campaign struggles, and many products are disapproved. The audit finds three problems. Titles like Summer Shirt 3 don't match searches. Sale prices change on the site each weekend, but the feed updates only daily, causing mismatches. And a third of products have no identifiers, even though they have barcodes. The team rewrites titles with brand, type, material, colour and size, switches to scheduled sale prices with effective dates, adds GTINs from their supplier, and adds margin tiers as custom labels. Approved products rise sharply, and the campaign finally has good inputs to work with.

### Watch me do it: feed validator

Watch me validate a feed before Google does. I have a tab-separated file exported from our system. A short Python script reads each row and checks the required attributes are present, the title is under a hundred and fifty characters, availability and condition use supported values, the price looks like a number followed by a currency code, and every GTIN passes the GS1 check digit. I run it, and it flags three problems on one row: a missing description, availability written as InStock with a capital letter instead of in underscore stock, and a GTIN that fails the check digit, probably a typo. I fix them before upload, and avoid a week of disapprovals.

### Extra visibility

Now the extras that bring extra visibility. Free listings can show your products across Google surfaces at no cost. Promotions, like ten percent off with a code, can appear on listings if the terms match your site and pass review. Product ratings and store ratings can show when you have enough genuine reviews from supported sources. And stores with physical locations can show in-store availability with local inventory features. Each one depends on the same foundation: accurate, complete data.

### AI and the feed

AI and the feed. Merchant Center includes AI tools, like Product Studio for editing and generating product imagery, and suggestions for titles and descriptions. Use them to improve backgrounds and fill gaps, but check accuracy. Changing the background is fine. Changing the product itself, its colour, shape or what's included, is misleading. And remember that AI shopping experiences read your structured product data, so complete, accurate attributes help you appear for detailed queries, like breathable linen shirt for forty degree heat.

### Common mistakes

Common mistakes. Ignoring Merchant Center because you don't run Shopping ads, and missing free listings. Vague titles. Changing IDs, which resets performance history. Missing identifiers. Prices that don't match the site during sales. Promotional text on main images. Misleading AI-edited images. And an old Content API integration nobody checked after the migration deadline.

### Recap

Recap. Your product feed powers free listings, Shopping, Performance Max, social catalogues, marketplaces and AI shopping answers. Get the required attributes right, write titles that match real searches, add identifiers, keep prices and stock in sync, and use supplemental feeds and custom labels to add structure. Make sure any API integration uses the Merchant API. Try this now: export your feed, run the validator from the lesson text, fix every flagged row, and rewrite your ten highest-traffic titles with brand, product type and key attributes.

## Key takeaways

- A clean product feed powers free listings, Shopping ads, Performance Max, social catalogues, marketplaces and AI shopping answers.
- Get the essentials right: stable IDs, titles up to 150 characters front-loaded with searched attributes, matching prices and availability, and GTINs where assigned.
- The Merchant API replaced the Content API for Shopping (scheduled shutdown 18 August 2026); check any API-based integrations — file and Sheets feeds are unaffected.
- Most disapprovals come from price/availability mismatches, missing identifiers, image rule breaches and unclear business information.
- Use supplemental feeds and custom labels (e.g. margin tiers, seasons) to structure campaigns, and keep AI-edited images faithful to the real product.

## Try it

Export your product feed, run the validator from this lesson, fix every flagged row, and rewrite the titles of your ten highest-traffic products with brand, product type and key attributes. Check Merchant Center diagnostics a week later.

- [Previous: Social commerce and creator-led selling](https://optimizeall.com/learn/ecommerce-marketing-and-growth/social-commerce)
- [Next: Paid acquisition for e-commerce](https://optimizeall.com/learn/ecommerce-marketing-and-growth/paid-acquisition-for-ecommerce)
- [All lessons of E-commerce Marketing and Growth](https://optimizeall.com/learn/ecommerce-marketing-and-growth)
