Google Merchant Center Framework
Diagnose feed health, optimize product listings, resolve disapprovals, analyze price competitiveness, and assess Shopping campaign readiness. A decision-framework for agents working with Google Merchant Center accounts of any size.
How This Skill Works
Step 1: Collect context from the user's message — merchant category, product count, known issues, goals (fix disapprovals, improve performance, launch Shopping ads, etc.).
Step 2: Ask one follow-up with all remaining questions using multiple-choice format. Key questions:
- - a) Account size: (1) <500 SKUs, (2) 500-10K, (3) 10K-100K, (4) 100K+
- b) Primary goal: (1) Fix disapprovals, (2) Improve feed quality, (3) Boost Shopping performance, (4) Launch new campaign, (5) General audit
- c) Feed method: (1) Direct API, (2) Scheduled fetch (XML/CSV), (3) Shopify/WooCommerce plugin, (4) Supplemental feeds, (5) Not sure
- d) Current disapproval rate: (1) <2%, (2) 2-10%, (3) 10-25%, (4) >25%, (5) Unknown
Allow shorthand answers (e.g., "1a 2c 3b 4e").
Step 3: Analyze using the frameworks below. Prioritize by impact: disapprovals first (products not showing), then data quality (products showing poorly), then performance (products showing but underperforming).
Step 4: Deliver structured output with specific fixes, benchmarks, and priority order.
Integration Note
This skill works best when paired with a Google Merchant Center MCP for live data access. Without live data, the agent applies frameworks to data the user provides (exports, screenshots, descriptions of issues). With live data, the agent can pull product statuses, diagnostics, and price insights directly.
1. Feed Health Analysis
Health Score Framework
Calculate a feed health score from these weighted components:
| Component | Weight | How to Score |
|---|
| Approval rate | 30% | 100% approved = 100 pts. Deduct 2 pts per % disapproved |
| Required attribute completeness |
25% | % of products with all required attrs filled |
| Recommended attribute completeness | 15% | % of products with 8+ of 12 recommended attrs |
| Data freshness | 15% | Updated <24h = 100, 24-48h = 70, 48-72h = 40, >72h = 0 |
| Image quality | 15% | % of products with compliant images (no watermarks, no placeholders, >100x100px) |
Score interpretation:
- - 90-100: Excellent. Focus on performance optimization.
- 75-89: Good. Fix remaining disapprovals and fill attribute gaps.
- 50-74: Needs work. Systematic issues present. Prioritize disapprovals, then required attributes.
- <50: Critical. Feed is substantially broken. Triage disapprovals by volume.
Required vs Recommended Attributes
Always required (all products):
- -
id, title, description, link, image_link, availability, INLINECODE6
Required for most categories:
- -
brand (required except for movies, books, musical recordings) - INLINECODE8 (required for all products with a manufacturer-assigned GTIN)
- INLINECODE9 (required if used or refurbished)
Conditionally required:
- -
color, size, gender, age_group — required for Apparel & Accessories - INLINECODE14 — required for product variants
- INLINECODE15 — required if not set at account level
- INLINECODE16 — required in the US if not set at account level
High-impact recommended attributes:
- -
additional_image_link (up to 10 images; products with 3+ images get ~15% higher CTR) - INLINECODE18 (your own categorization; helps with campaign structure)
- INLINECODE19 +
sale_price_effective_date (triggers sale badge in Shopping) - INLINECODE21 through
custom_label_4 (essential for campaign segmentation) - INLINECODE23 (up to 10 bullet points; shown in free listings)
- INLINECODE24 (sectionname + attributename + attribute_value tuples)
Diagnostic Priority Order
- 1. Account-level suspensions — nothing shows until resolved
- Item-level disapprovals — products removed from serving
- Item-level warnings — products serve but with reduced visibility
- Missing required attributes — will become disapprovals
- Missing recommended attributes — reduces competitiveness
- Data quality issues — poor titles, descriptions, categorization
2. Product Optimization
Title Optimization
Titles are the single highest-impact attribute for Shopping performance. Google uses titles for query matching more heavily than descriptions.
Structure formula by category:
| Category | Title Formula | Example |
|---|
| Apparel | Brand + Gender + Product Type + Attributes (Color, Size, Material) | "Nike Women's Air Max 270 Running Shoes - Black/White, Size 8" |
| Electronics |
Brand + Product Line + Model + Key Specs | "Samsung Galaxy S24 Ultra 256GB Titanium Black Unlocked" |
| Home & Garden | Brand + Product Type + Material + Key Dimensions + Color | "KitchenAid Classic 4.5-Quart Tilt-Head Stand Mixer Onyx Black" |
| Beauty | Brand + Product Line + Product Type + Size/Count + Variant | "CeraVe Moisturizing Cream Face and Body 19oz Fragrance-Free" |
| Grocery | Brand + Product Name + Flavor/Variant + Size/Count + Pack | "KIND Bars Dark Chocolate Nuts & Sea Salt 12-Count Box" |
Title rules:
- - Max 150 characters; first 70 characters are most critical (truncation in mobile)
- Front-load the most important keywords in the first 70 characters
- Never use ALL CAPS or promotional text ("Free Shipping", "Best Price")
- Include color, size, material when relevant — these are matching signals
- Use the actual brand name, not abbreviations
- Separate attributes with hyphens or commas, not pipes
Title quality scoring:
| Signal | Points |
|---|
| Brand name present and correct | +20 |
| Product type keyword included |
+20 |
| Key differentiating attribute (color/size/material) | +15 each, max +30 |
| Within 70-character sweet spot | +15 |
| No promotional language | +15 |
|
Total possible |
100 |
Description Optimization
- - 1,000-5,000 characters optimal (minimum 500)
- First 150-200 characters most critical (may be shown in free listings)
- Include keywords naturally — Google does use descriptions for matching, but less than titles
- Include specifications, materials, dimensions, use cases
- No HTML tags (stripped by Google), no promotional language, no links
Image Requirements
| Requirement | Standard | Notes |
|---|
| Minimum resolution | 100x100px (250x250 for apparel) | 800x800+ recommended for zoom |
| Max file size |
16MB | |
| Format | JPEG, PNG, GIF, BMP, TIFF, WebP | |
| Background | White or transparent preferred | Non-white OK but clean background required |
| Watermarks | Not allowed | Automatic disapproval |
| Text overlay | Not allowed on main image | OK on additional images |
| Promotional overlay | Not allowed | "Sale", "Free shipping" overlays = disapproval |
| Product visibility | Product must fill 75-90% of frame | No tiny product in large frame |
Image optimization checklist:
- - Main image: product only, white background, high resolution
- 3+ additional images (lifestyle, different angles, scale/size reference)
- Apparel: show product on a person or flat-lay (not hanger)
- Consistent image style across product line
GTIN/MPN Completeness
- - GTIN is critical. Products with valid GTINs get ~20% more impressions than those without.
- Google cross-references GTINs against the GS1 database. Invalid GTINs cause disapprovals.
- If a product genuinely has no GTIN (custom, handmade, vintage, parts), set
identifier_exists to no. - Never fabricate GTINs. Never reuse GTINs across different products.
- MPN is required when GTIN is not available and the product has a manufacturer part number.
3. Price Competitiveness
Interpreting Price Benchmarks
Google provides price benchmarks in the Price Competitiveness report. Key metrics:
| Metric | What It Means | Action Threshold |
|---|
| INLINECODE27 | Median price of the same product from other merchants | If your price >15% above: expect significantly lower CTR |
| INLINECODE28 |
Your price vs benchmark | >10% above: review pricing. >20% above: likely suppressed |
|
country_code | Market the benchmark applies to | Compare only within same market |
Competitive Visibility Score Framework
| Position | Your Price vs Benchmark | Expected Impact |
|---|
| Strong | >10% below benchmark | High impressions, high CTR. Verify margin is acceptable. |
| Competitive |
Within +/-10% of benchmark | Normal serving. Optimize other signals. |
| Weak | 10-20% above benchmark | Reduced impressions. Consider sale_price or promotions. |
| Uncompetitive | >20% above benchmark | Severely reduced serving. Re-evaluate pricing or exclude from Shopping. |
Price Strategy Decisions
When price is too high vs benchmark:
- 1. Can you lower the price? Do it.
- Can you add a promotion or sale_price? Triggers sale badge, improves CTR even if final price is still above benchmark.
- Can you differentiate on value (bundle, warranty, fast shipping)? Add to title and description.
- Is the product a loss leader for competitors? Consider excluding from Shopping.
- Use
custom_label to segment high-priced items into separate campaigns with different ROAS targets.
Price-Landing Page Match — #1 cause of avoidable disapprovals:
- - Price shown on page must match
price attribute exactly (including currency) - INLINECODE32 must match the visible sale price on the landing page
- If microdata/structured data on the page differs from the feed, the feed value may be overridden or flagged
4. Performance Analysis
Shopping Performance Benchmarks by Category
| Category | Median CTR | Good CTR | Median CPC (Shopping Ads) | Median Conv. Rate |
|---|
| Apparel & Accessories | 1.2% | >2.0% | $0.40-0.70 | 1.5-2.5% |
| Electronics |
0.8% | >1.5% | $0.50-1.00 | 1.0-2.0% |
| Home & Garden | 1.0% | >1.8% | $0.35-0.65 | 1.5-3.0% |
| Health & Beauty | 1.5% | >2.5% | $0.30-0.55 | 2.0-3.5% |
| Grocery & Food | 1.8% | >3.0% | $0.20-0.40 | 2.5-4.0% |
| Toys & Games | 1.3% | >2.2% | $0.25-0.50 | 2.0-3.5% |
| Sports & Outdoors | 1.0% | >1.7% | $0.35-0.65 | 1.5-2.5% |
| Auto Parts | 0.7% | >1.2% | $0.40-0.80 | 1.0-2.0% |
Performance Diagnostic Tree
Low impressions:
- 1. Check disapprovals — products not serving at all?
- Check price competitiveness — priced out of auctions?
- Check title relevance — titles match search queries?
- Check bid/budget (paid) — budget exhausting before end of day?
- Check product ratings — competitors with ratings outranking you?
Low CTR (impressions OK):
- 1. Image quality — compelling vs generic?
- Title quality — informative vs vague?
- Price position — higher than competitors in same carousel?
- Sale badge — competitors showing sales, you are not?
- Shipping speed/cost — competitors showing "Free delivery" and you are not?
Low conversion rate (clicks OK):
- 1. Landing page match — does the page show what the listing promised?
- Landing page speed — >3 seconds load time loses ~50% of mobile users
- Price on landing page — any surprise fees or shipping costs?
- Mobile experience — is the landing page mobile-optimized?
- Availability — "Add to cart" immediately visible?
Key Metrics to Track Weekly
| Metric | Red Flag |
|---|
| Disapproval rate | >5% or increasing trend |
| Impression share (paid) |
<50% in target categories |
| CTR | Below category median |
| Click-to-conversion rate | <1% for most categories |
| Price competitiveness % | >30% of products uncompetitive |
5. Disapproval Workflows
Top 10 Disapproval Reasons and Fix Paths
| # | Reason | Cause | Fix | Timeline |
|---|
| 1 | Misrepresentation | Misleading claims, missing business info | Remove superlatives, add return policy, add About Us page | 3-7 days, may need manual review |
| 2 |
Price Mismatch | Feed price ≠ landing page price | Sync feed price to page exactly; check currency | 24-72h re-crawl |
| 3 | Availability Mismatch | Feed says in stock, page says out of stock | Sync inventory feed; increase update frequency | Next crawl |
| 4 | Missing GTIN | Has manufacturer GTIN but not in feed | Add GTIN or set
identifier_exists: no | Immediate on next processing |
| 5 | Image Overlay | Watermarks, promo text on main image | Replace with clean product image | 24-72h re-crawl |
| 6 | Landing Page Error | 404/500 errors, geo-blocking Googlebot | Fix URLs; unblock Googlebot | Next crawl |
| 7 | Insufficient Product Data | Title/description too short or generic | Title >30 chars with brand+type; description >500 chars | Immediate |
| 8 | Missing Shipping Weight | Carrier-calculated rates but no weight in feed | Add
shipping_weight or switch to flat-rate | Immediate |
| 9 | Restricted Product | Regulated category without verification | Verify compliance; apply for merchant verification if required | Varies |
| 10 | Duplicate Item ID | Same ID reused for different products | Assign unique, stable IDs per variant | Immediate |
Disapproval Triage Matrix
| Volume | Same Reason? | Action |
|---|
| >100 products | Yes | Systematic root cause — fix feed template or feed rule, not individual items |
| >100 products |
No | Group by reason, fix highest-volume first |
| 10-100 products | — | Fix in bulk via supplemental feed or feed rules |
| <10 products | — | Fix individually; watch for pattern |
Appeal Process
- 1. Fix the issue first. Never appeal without fixing.
- Wait 24-72 hours for automatic re-crawl.
- If not resolved: Request manual review (Diagnostics > Item Issues > Request Review).
- One appeal at a time. 7-day cooldown applies for repeated policy violations.
6. Feed Management
Feed Method Decision Tree
CODEBLOCK0
Feed Types
| Feed Type | Use Case | Update Frequency |
|---|
| Primary feed | All products, all required attributes | Daily minimum; every 6h for fast-moving inventory |
| Supplemental feed |
Override/add attributes without touching primary | As needed |
| Feed rules | Transform data at processing time (regex, lookups) | Applied every processing run |
| Content API | Real-time individual product updates | Real-time; 100K requests/day limit |
| Automated feeds | Google crawls your site | Google's schedule (not your control) |
Supplemental Feed Strategy
Use supplemental feeds for:
- - Custom labels — campaign segmentation (margin tiers, seasonality, priority)
- Title A/B testing — optimized titles without touching your CMS
- Missing GTINs — lookup table mapped to product IDs
- Promotion IDs — linking products to active promotions
- Seasonal overrides — holiday titles, temporary attribute changes
Supplemental feeds match on id — must exactly match the primary feed id.
7. Shopping Campaign Readiness
Pre-Launch Checklist
| Check | Requirement |
|---|
| Feed health score | >80 (Section 1 framework) |
| Disapproval rate |
<5% of active products |
| Price competitiveness | >60% of products within +10% of benchmark |
| Landing page speed | <3 seconds, mobile-friendly |
| Conversion tracking | Google Ads tag firing, revenue tracking verified |
| Shipping info | Accurate in feed or account settings |
Standard Shopping vs Performance Max
| Factor | Standard Shopping | Performance Max |
|---|
| Query control | High (negatives, search term reports) | Low (limited insights) |
| Bidding |
Manual CPC or Target ROAS | Automated only |
| Best for | Tight ROAS targets, query-level strategy | Broad reach, new advertisers, >30 conv/month |
| Min daily budget | $5-10/day viable | $50-100/day recommended |
| Ramp-up | Immediate | 2-4 week learning phase |
Custom Label Strategy
| Slot | Use | Example Values |
|---|
| INLINECODE37 | Margin tier | highmargin, mediummargin, lowmargin |
| INLINECODE38 |
Product priority | hero, standard, longtail |
|
custom_label_2 | Seasonality | evergreen, summer, holiday, clearance |
|
custom_label_3 | Price range | under
25, 25to
100, over100 |
|
custom_label_4 | Performance tier | top_seller, average, underperformer, new |
ROAS Targets by Category (Starting Points)
| Category | Conservative ROAS | Aggressive ROAS |
|---|
| Apparel | 400-600% | 200-300% |
| Electronics |
600-800% | 300-500% |
| Home & Garden | 400-600% | 200-400% |
| Health & Beauty | 300-500% | 150-300% |
| Grocery | 200-400% | 100-200% |
Output Format
- - Start with a Feed Health Score (0-100) and top-line summary
- Group findings into: Critical (disapprovals, policy) → High (data quality, price) → Medium (optimization) → Low (nice-to-have)
- Include specific product counts and percentages per issue
- Provide exact fix instructions, not general advice
- Mark estimates with ⚠️ when based on incomplete data
- End with a prioritized action plan (numbered, with effort: 5min / 30min / 2hrs / half-day)
- Include a 7-day and 30-day check-in plan
Google Merchant Center 框架
诊断 Feed 健康状况、优化产品列表、解决拒批问题、分析价格竞争力,并评估购物广告系列的准备情况。这是一个适用于处理任意规模 Google Merchant Center 账户的代理决策框架。
此技能的工作方式
步骤 1: 从用户消息中收集背景信息 — 商家类别、产品数量、已知问题、目标(修复拒批、提升表现、投放购物广告等)。
步骤 2: 使用多项选择格式,提出一个包含所有剩余问题的后续问题。关键问题:
- - a) 账户规模:(1) <500 SKU,(2) 500-10K,(3) 10K-100K,(4) 100K+
- b) 主要目标:(1) 修复拒批,(2) 提升 Feed 质量,(3) 提升购物广告表现,(4) 启动新广告系列,(5) 常规审计
- c) Feed 方法:(1) 直接 API,(2) 定时抓取 (XML/CSV),(3) Shopify/WooCommerce 插件,(4) 补充 Feed,(5) 不确定
- d) 当前拒批率:(1) <2%,(2) 2-10%,(3) 10-25%,(4) >25%,(5) 未知
允许简写答案(例如,“1a 2c 3b 4e”)。
步骤 3: 使用以下框架进行分析。按影响优先级排序:首先是拒批(产品不展示),然后是数据质量(产品展示效果差),最后是表现(产品展示但效果不佳)。
步骤 4: 提供结构化输出,包含具体修复方案、基准和优先级顺序。
集成说明
此技能与 Google Merchant Center MCP 配合使用时效果最佳,可实时访问数据。若无实时数据,代理将根据用户提供的数据(导出文件、截图、问题描述)应用框架。若有实时数据,代理可直接拉取产品状态、诊断信息和价格洞察。
1. Feed 健康分析
健康评分框架
根据以下加权组件计算 Feed 健康评分:
| 组件 | 权重 | 评分方式 |
|---|
| 批准率 | 30% | 100% 批准 = 100 分。每降低 1% 拒批率扣 2 分 |
| 必填属性完整性 |
25% | 所有必填属性均已填写的产品百分比 |
| 推荐属性完整性 | 15% | 12 个推荐属性中填写了 8 个及以上的产品百分比 |
| 数据新鲜度 | 15% | 更新 <24 小时 = 100,24-48 小时 = 70,48-72 小时 = 40,>72 小时 = 0 |
| 图片质量 | 15% | 拥有合规图片(无水印、无占位符、>100x100 像素)的产品百分比 |
评分解读:
- - 90-100:优秀。专注于性能优化。
- 75-89:良好。修复剩余拒批问题并填补属性缺口。
- 50-74:需要改进。存在系统性问题。优先处理拒批,然后是必填属性。
- <50:严重。Feed 基本损坏。按数量对拒批问题进行分类处理。
必填属性与推荐属性
始终必填(所有产品):
- - id、title、description、link、image_link、availability、price
大多数类别必填:
- - brand(电影、书籍、音乐唱片除外)
- gtin(所有具有制造商分配 GTIN 的产品必填)
- condition(二手或翻新产品必填)
条件必填:
- - color、size、gender、agegroup — 服装与配饰必填
- itemgroup_id — 产品变体必填
- shipping — 若未在账户级别设置则必填
- tax — 美国地区若未在账户级别设置则必填
高影响力推荐属性:
- - additionalimagelink(最多 10 张图片;拥有 3 张以上图片的产品 CTR 约高 15%)
- producttype(您自己的分类;有助于广告系列结构)
- saleprice + salepriceeffectivedate(在购物广告中触发促销标签)
- customlabel0 至 customlabel4(对广告系列细分至关重要)
- producthighlight(最多 10 个要点;在免费列表中显示)
- productdetail(sectionname + attributename + attributevalue 元组)
诊断优先级顺序
- 1. 账户级暂停 — 解决前无任何内容显示
- 商品级拒批 — 产品从服务中移除
- 商品级警告 — 产品可展示但可见性降低
- 缺少必填属性 — 将导致拒批
- 缺少推荐属性 — 降低竞争力
- 数据质量问题 — 标题、描述、分类不佳
2. 产品优化
标题优化
标题是影响购物广告表现的最重要属性。Google 在查询匹配中对标题的依赖程度远高于描述。
按类别划分的结构公式:
| 类别 | 标题公式 | 示例 |
|---|
| 服装 | 品牌 + 性别 + 产品类型 + 属性(颜色、尺寸、材质) | Nike 女式 Air Max 270 跑鞋 - 黑/白,8 码 |
| 电子产品 |
品牌 + 产品线 + 型号 + 关键规格 | Samsung Galaxy S24 Ultra 256GB 钛金灰 无锁版 |
| 家居与园艺 | 品牌 + 产品类型 + 材质 + 关键尺寸 + 颜色 | KitchenAid 经典款 4.5 夸脱倾斜头立式搅拌机 曜石黑 |
| 美妆 | 品牌 + 产品线 + 产品类型 + 尺寸/数量 + 变体 | CeraVe 保湿霜 面部及身体用 19 盎司 无香型 |
| 食品杂货 | 品牌 + 产品名称 + 口味/变体 + 尺寸/数量 + 包装 | KIND 棒 黑巧克力坚果海盐 12 支装盒 |
标题规则:
- - 最多 150 个字符;前 70 个字符最为关键(移动端会截断)
- 在前 70 个字符中前置最重要的关键词
- 切勿使用全大写或促销文字(“免运费”、“最低价”)
- 在相关时包含颜色、尺寸、材质 — 这些是匹配信号
- 使用实际品牌名称,而非缩写
- 使用连字符或逗号分隔属性,不要使用竖线
标题质量评分:
| 信号 | 分数 |
|---|
| 品牌名称存在且正确 | +20 |
| 包含产品类型关键词 |
+20 |
| 关键区分属性(颜色/尺寸/材质) | 每个 +15,最高 +30 |
| 在 70 个字符的最佳范围内 | +15 |
| 无促销语言 | +15 |
|
总计可能 |
100 |
描述优化
- - 最佳长度为 1,000-5,000 个字符(最少 500 个)
- 前 150-200 个字符最为关键(可能在免费列表中显示)
- 自然地包含关键词 — Google 确实使用描述进行匹配,但重要性低于标题
- 包含规格、材质、尺寸、使用场景
- 无 HTML 标签(Google 会剥离)、无促销语言、无链接
图片要求
| 要求 | 标准 | 备注 |
|---|
| 最低分辨率 | 100x100 像素(服装为 250x250) | 推荐 800x800+ 以支持缩放 |
| 最大文件大小 |
16MB | |
| 格式 | JPEG、PNG、GIF、BMP、TIFF、WebP | |
| 背景 | 首选白色或透明 | 非白色亦可,但需干净背景 |
| 水印 | 不允许 | 自动拒批 |
| 文字叠加 | 主图不允许 | 附加图片可以 |
| 促销叠加 | 不允许 | “促销”、“免运费”叠加 = 拒批 |
| 产品可见性 | 产品必须占据画面的 75-90% | 大画面中产品过小不可 |
图片优化清单:
- - 主图:仅产品、白色背景、高分辨率
- 3 张以上附加图片(生活方式图、不同角度、比例/尺寸参考)
- 服装:展示产品穿在人身上或平铺图(非挂架)
- 整个产品线保持一致的图片风格
GTIN/MPN 完整性
- - GTIN 至关重要。 拥有有效 GTIN 的产品比没有的产品多获得约 20% 的展示