Merchant Center feed optimisation: How cleaner product data lowers your CPCs
Many merchants focus on Comparison Shopping Services (CSS) for growth. After technical integration, your product feed determines which products Google understands, matches to searches and displays effectively.
A CSS Partner builds a solid technical foundation. They cannot fix incomplete titles, incorrect GTINs, outdated prices or poor images.
- Free Google CSS migration
- Full visibility in Google Shopping
- 20% lower click prices
- 21 EU markets included
- Premium email support
- No minimum term
Google views product titles as key parts of Shopping ads and free listings. Clear, specific titles help Google match products to the right shoppers.
Product feed optimisation requires continuous work across multiple areas:
This guide explains how to optimise your feed for Comparison Shopping Services, Google Shopping and Merchant Center.
Two Product Data Levels You Should Differentiate
Merchants often confuse two distinct data levels across CSS and Google Shopping.
1. The Merchant Feed in Google Merchant Center
This feed includes shop data such as:
- Product ID
- Title
- Description
- Product Page
- Price
- Availability
- Images
- Brand
- GTIN
- Variant Information
- Shipping Data
Google uses this data for Shopping ads and free listings. The feed remains vital when using a CSS Partner.
2. Product Data for CSS Product Pages
Comparison Shopping Services can host product pages. Organic listings require attributes such as id, title, description, image_link, additional_image_link, google_product_category, product_type, brand, gtin, mpn, variant attributes, product_detail and product_highlight.
The practical consequence is:
Product data must be technically valid and clearly structured so that you, Google and CSS providers identify identical items consistently.
In What Order Should You Optimize Your Feed?
Merchants often rewrite titles before fixing fundamental data errors.
A clear prioritization makes more sense:
| Level | Goal | Typical Measures |
|---|---|---|
| 1. Approval | Products must be technically permissible | Required attributes, policies, URLs, identifiers |
| 2. Accuracy | Feed and shop must match | Price, availability, variants, shipping |
| 3. Relevance | Google must understand the product | Title, description, category, GTIN |
| 4. Presentation | The offer must be convincing | Main image, additional images, lifestyle_image_link |
| 5. Control | Products must be economically groupable | Custom Labels, margin, season, stock |
| 6. Timeliness | Data must be reliably synchronized | Data sources, automation, Merchant API |
An optimised title cannot help a product rejected for pricing errors. Feed approval alone does not guarantee high quality.
Stable Product IDs and Clean Variants Form the Foundation
Each salable product or variant requires a unique identifier.
A T-shirt in five sizes and four colours creates 20 distinct variants. Each variant can combine the following details:
- Product ID
- Color
- Size
- Price
- Availability
- Image
- GTIN
- MPN
Submit variants separately and link them using item_group_id. Ensure titles and variant attributes accurately describe each specific option.
Good Rules for Product IDs
A product ID should:
- remain permanently stable
- be unique within the feed
- not depend on price or stock
- ideally originate from the ERP or shop system
- identify the specific version for variants
Keep the same ID when updating titles, prices, or images. Changing IDs causes Google to treat existing items as new offers.
Typical Variant Error
A merchant submits all shoe sizes under one ID. The landing page defaults to size 42, whilst the feed describes size 39.
The feed, product page, and selectable variant fail to match cleanly.
Better is:
- a unique ID for each size and color
- the correct landing page variant
- the matching variant image
- the currently valid availability
- a common item_group_id
Optimize Product Titles: Precision Over Keyword Volume
Product titles must quickly explain the exact item to Google and shoppers.
A good title answers several key questions about your range:
- Which brand?
- Which model?
- Which product type?
- For which target group?
- Which version?
- Which color?
- Which size?
- Which material?
- Which technical specification?
- Which quantity?
Google recommends specific titles and displays variants like colour and size in its examples.
Meaningful Title Structures by Product Type
| Product Type | Possible Title Structure |
|---|---|
| Fashion | Brand + Target Group + Product Type + Material + Color + Size |
| Electronics | Brand + Model + Product Type + Key Specification + Color |
| Furniture | Brand + Product Type + Dimensions + Material + Color |
| Home Appliances | Brand + Model + Appliance Type + Power/Capacity + Color |
| Spare Parts | Brand + Product Type + Part Number + Compatibility |
| B2B Products | Brand + Product Type + Technical Performance + Material + Packaging Unit |
Examples
Too generic:
Women's jacket modern cheap
Better:
Brand Women's Transitional Jacket Water-Repellent Dark Blue Size 40
Too promotional:
Top Professional Coffee Machine buy now cheap
Better:
Brand Model Automatic Coffee Machine 15 bar 1.8 l Black
Imprecise:
Industrial Pump Stainless Steel
Better:
Brand Centrifugal Pump 400 V 12 m³/h Stainless Steel DN 50
Most Important Information First
Place vital purchase details first, because certain views truncate titles.
Put famous brands first. For smaller makers, lead with the specific product type.
Lead with details that help shoppers identify products fastest.
No Artificial Keyword List
A title like this doesn't add clarity:
Office Chair Desk Chair Work Chair Swivel Chair buy cheap online
Repeating similar terms clutters titles and weakens the product description.
Better:
Brand Ergonomic Office Chair with Lumbar Support Black
Place synonyms, extra uses, and technical specifications in the description or other attributes.
Properly Label AI-Generated Product Titles
AI tools can build titles from structured data for large catalogues. Give the model strict rules rather than creative freedom.
A sensible prompt or title template only uses existing fields:
Build titles from brand, model, product type, colour, size, and material. Avoid invented traits and promotional claims.
Google Merchant Center separates title and structured_title attributes. Use structured_title for AI generation. Standard titles work in title or structured_title.
Always check automated titles for quality. Specifically inspect:
- invented properties
- duplicate terms
- incorrect units of measurement
- truncated model designations
- missing variant information
- unnatural translations
- unauthorized promotional statements
Write Descriptions for Users and Systems
Many feed descriptions simply copy website headers, navigation text, HTML scraps, or generic sales copy.
Strong feed descriptions clearly summarise the main product features.
Depending on the product, this includes:
- Function
- Application area
- Material
- Dimensions
- Technical data
- Compatibility
- Scope of delivery
- Target group
- Special features
Google recommends structured descriptions of over 200 characters for rich displays. Submit extra details and images in separate attributes.
Example of a Weak Description
Premium product. Order online today for fast delivery.
Generic text applies to anything and offers zero value to Google or buyers.
Better
Height adjustable desk with an electric frame, a 160 × 80 cm surface, and a 65 to 130 cm adjustment range. The frame has two motors, memory for four heights, and a 100 kg maximum load.
This text details specific features without stuffing search terms.
Effectively use product_highlight and product_detail
Avoid cramming every piece of information into the title or description.
Use product_highlight to list structured benefits. Google recommends four to six highlights, supports between two and 100, and limits each to 150 characters.
Examples:
- Electrically height-adjustable from 65 to 130 cm
- Memory function for four working heights
- Load capacity up to 100 kg
- Two silent motors
- Tabletop made from FSC-certified wood
| Area | Attribute | Value |
|---|---|---|
| Dimensions | Width | 160 cm |
| Dimensions | Depth | 80 cm |
| Performance | Load capacity | 100 kg |
| Material | Tabletop | Oak |
| Electrical | Input voltage | 230 V |
Use the product_detail attribute for structured technical specifications, such as:
This keeps titles readable and presents technical information clearly.
Submit GTIN, brand, and MPN correctly
Unique product identifiers clearly identify a commercial product.
The most important details include:
- gtin: Global Trade Item Number, e.g., EAN or UPC
- brand: Brand
- mpn: Manufacturer Part Number
Submit all three identifiers if possible. They help Google categorise offers and show users the right products.
Never invent GTINs
Use the official GTIN whenever available. Never create fake number sequences to fill the field.
Each variant usually has a unique GTIN. A red T-shirt in size M will have a different GTIN from the blue size L version.
Products without unique identifiers
Handmade, unique, or customised items often lack a GTIN, MPN, or brand.
Set identifier_exists to 'no' or 'false' for products without identifiers. Only use this when genuine codes do not exist.
Private labels
Enter your brand name for private labels. Internal article numbers can serve as MPNs if they uniquely identify items.
Ensure consistent product details across your shop, feed, packaging, and product pages.
Separate Google Product Category from your internal product types.
The google_product_category and product_type attributes serve different purposes.
google_product_category
This attribute classifies your product within Google's taxonomy.
Example:
Apparel & Accessories > Clothing > Outerwear > Jackets & Coats
Google provides numerical category IDs and full category paths with product examples.
Select the most specific category. Assign office chairs to their exact subcategory instead of broad Furniture.
product_type
This field can reflect your own shop or assortment structure.
Example:
Office Furniture > Office Chairs > Ergonomic Office Chairs
Clear product types help you group and assess products based on your inventory structure.
Don't write campaign logic into your product categories
Values like these aren't helpful product types:
- high margin
- bestseller
- sale
- campaign 3
- PMax Test
- priority A
Place promotional details in custom labels. Categories must describe the item itself.
Optimize product images and lifestyle_image_link
Product images often decide if shoppers notice your Shopping results.
The main image should clearly show the specific product. Avoid:
- wrong variants
- tiny products in large image areas
- poor cut-outs
- inconsistent backgrounds
- blurry shots
- placeholder images
- accessories not included in the offer as dominant elements
Google recommends high-resolution images of over 1,500 pixels on the longest side.
The main image answers: What am I buying?
Use image_link to display the exact product on offer.
Variant images must match the selected colour, material, or version. Shoppers clicking a blue chair must see the blue variant preselected.
Additional images answer further purchase decisions
Submit up to ten extra views with additional_image_link. Include alternate angles, close-up details, packaging, and real-world usage.
A useful image sequence could look like this:
- clear main image
- side view
- rear view
- detail shot
- size comparison
- product in use
- scope of delivery
- packaging
What is lifestyle_image_link?
Use lifestyle_image_link to submit lifestyle photos separately from standard product images.
Google cites these examples:
- clothing on a model
- furniture in a decorated room
- multiple products as a complete set
- products in a real-life usage situation
- image_link: Sofa cut out or on a neutral background
- additional_image_link: Side view, back, fabric detail
- lifestyle_image_link: Sofa in a fully furnished living room
This attribute helps display products in context while keeping main images clean and focused.
For a sofa, the division could look like this:
Prices and availability must be synchronized
An optimised feed fails if shoppers encounter different prices or out-of-stock items after clicking.
The submitted price must match the product page price. The currency must also match the target country and landing page.
For availability, Google supports, among others:
- in_stock
- out_of_stock
- preorder
- backorder
Details must match the product page, checkout, and structured data. Pre-orders and backorders also require a visible availability date.
Don't unnecessarily delete products
Keep temporarily unavailable items in your data source rather than deleting them.
Depending on the situation, you can:
- use out_of_stock
- control a pause via the corresponding attribute
- use backorder for backordered items
- use preorder for unreleased products
This maintains the product link so you can update the item when stock returns.
Safely implement repricing for Google Shopping
Dynamic pricing works well in Shopping, but it raises the risk of price mismatches.
A repricing system must update both the shop price and all relevant data layers at once:
- price in the shop system
- price on the product page
- structured data on the product page
- Merchant Center data source
- local prices, if applicable
- CSS product data
Update feeds and product pages together. Updating one before the other creates temporary price mismatches.
Google can update price and availability from structured data. Treat this feature as a backup alongside regular data updates.
Repricing needs economic boundaries
The lowest price is not automatically the most profitable price.
A sensible system considers:
- Purchase price
- Margin
- Shipping costs
- Payment fees
- Return rate
- Advertising costs
- Minimum stock
- Competition level
- Desired market position
Set minimum prices and margin limits. Automated discounts can drive clicks while eroding your profit margins.
Cleanly connect local inventory with the product feed
Retailers with physical shops need local stock information alongside general product data.
A distinction must be made between:
- The product itself
- Its availability in a specific store
- Any differing local price
- Pickup and delivery options
Google lets retailers use existing product data for local ads and free local listings. You can synchronise product and local stock data automatically.
Store prices can come from primary product feeds or local inventory data. The shop page price must always match your submitted data.
Typical local inventory structure
| Product ID | Store | Stock | Price |
|---|---|---|---|
| CHAIR-100-BLUE | London-01 | 8 | €249 |
| CHAIR-100-BLUE | Manchester-02 | 0 | €249 |
| CHAIR-100-BLUE | Birmingham-03 | 3 | €259 |
The product stays identical, but stock and prices can vary by location.
Keep store identifiers consistent. Assign a unique store ID to each shop in your local stock data.
Use custom labels for profitable campaigns
A strong feed describes the product and includes data to help you manage stock by business value.
Google provides five custom labels for this:
- custom_label_0
- custom_label_1
- custom_label_2
- custom_label_3
- custom_label_4
Google suggests attributes like season, sales, price range, margin, and launch date. These remain hidden from buyers and help group items in Shopping and Performance Max campaigns.
Example of sensible assignment
| Custom Label | Meaning | Example Values |
|---|---|---|
| custom_label_0 | Margin | high, medium, low |
| custom_label_1 | Sales Performance | Bestseller, normal, slow-mover |
| custom_label_2 | Stock Level | critical, normal, high |
| custom_label_3 | Season | year-round, summer, winter |
| custom_label_4 | Strategic Role | focus product, entry-level, accessory |
This shows whether your campaign drives revenue while mainly selling low-margin items.
Avoid too many individual values
A Custom Label is not intended as a second product ID.
Less useful:
- custom_label_0 = SKU-183729
- custom_label_0 = SKU-183730
- custom_label_0 = SKU-183731
- custom_label_0 = high_margin
- custom_label_0 = medium_margin
- custom_label_0 = low_margin
More useful:
The values should form real groups that you can base decisions on.
Choose the right data source
Not every shop requires the same technical solution.
Small, relatively stable assortments
An automated file fetch works well for small catalogues with infrequent price changes.
Possible formats include, for example:
- XML
- TSV
- automatically provided product file
- direct shop integration
The reliability of updates matters as much as the file format.
Medium-Sized Catalogs with Supplemental Business Data
Combining primary and supplementary data sources works best here.
For example, the primary source includes:
- Product ID
- title
- Price
- Availability
- Product link
- Images
- Margin classes
- Seasonal assignments
- Campaign labels
- Optimized titles
- Additional product features
A supplementary source provides:
A Merchant Center product can combine one primary input with several supplementary inputs.
Large or Highly Dynamic Catalogs
The Merchant API offers a reliable base for frequent updates to prices, stock, or catalogues.
Google lets you manage primary and supplementary data via the Merchant API. You can configure feeds for specific languages and labels or combine them.
Scheduled file fetches suit daily updates. If you update data multiple times a day, use the Products Service instead.
A practical division is therefore:
| Situation | Suitable Solution |
|---|---|
| Small, stable product quantity | automatically retrieved file |
| Additional margin or campaign data | supplementary data source |
| Frequent inventory changes | direct API integration |
| Dynamic repricing | API-based update |
| Many countries and languages | structured, central data architecture |
| Agency with many clients | standardized API and validation processes |
Localizing Product Feeds for Multiple Countries
An international feed differs from a direct translation of a German feed.
Differences per target country can include:
- Language
- Currency
- Price
- VAT
- Shipping costs
- Availability
- Size designations
- Units of measurement
- Product names
- Legal disclosure requirements
- Assortment
In the Merchant API, feedLabel, contentLanguage, and target countries are separate settings. A feed label like DE does not restrict targeting to Germany. Set target countries and shipping settings separately.
Translate Search Behavior, Not Just Words
A literal translation may be grammatically accurate yet fail commercially.
For example, users in different countries may:
- Use different product terms
- Write measurements differently
- Combine brands and models differently
- Search more by materials or use cases
- Expect different size standards
Create specific title rules for each language. Use a shared product database as the foundation, then localise the text output.
How to Make Feed Optimizations Measurable
Avoid changing every attribute across your whole catalogue at once. Stagger changes so you can track which updates work.
A controlled process is better.
Step 1: Form Comparable Product Groups
For example:
- 200 products with optimized titles
- 200 similar products with previous titles
- Product group with lifestyle_image_link
- Comparable product group without lifestyle_image_link
Or:
Step 2: Document Prior Performance
Record at least:
- Impressions
- Clicks
- Click-through rate
- Costs
- Conversions
- Conversion rate
- Revenue
- Cost-of-sale ratio
- Share of approved products
Step 3: Change Only One Major Factor
Test titles first, then images, followed by custom_label_0-4 or product descriptions.
Step 4: Gather enough data
Two impressions cannot provide reliable data. Review performance across larger product groups and account for seasonal trends.
Step 5: Evaluate business value over click-through rate
A new title can lift click-through rates but bring in fewer ready buyers.
Therefore, don't just ask:
Did the optimization generate more clicks?
But also:
Did the update deliver more profitable orders or a higher contribution margin?
The most common CSS product feed errors
| Error | Potential Consequence | Better Solution |
|---|---|---|
| Generic product titles | Unclear attribution | Integrate specific product features |
| Incorrect or missing GTIN | Weak product identification | Check manufacturer data |
| One ID for all variants | Wrong execution after click | Submit variants separately |
| Price discrepancy | Rejection or poor user experience | Synchronize feed and shop |
| Outdated stock | Clicks on unavailable products | More frequent updates |
| Only one product image | Insufficient purchase context | Add additional and lifestyle images |
| Category too general | Imprecise classification | Choose the most specific suitable category |
| Custom Labels without system | No meaningful evaluation | Use fixed definitions |
| Margins not considered | Revenue without profitability | Map margin in the feed |
| One feed for all languages | Unnatural product titles | Language-specific rules |
| Repricing only in shop | Price discrepancies | Synchronize all data sources |
| CSS as a substitute for feed quality | Potential remains unused | Optimize CSS and feed separately |
A practical 30-day plan
Week 1: Check technical condition
First, take stock:
- How many products are approved?
- What are the most common errors?
- Are prices and availability correct?
- Are IDs stable?
- Are variants correctly separated?
- What is the proportion of valid GTINs?
- Which products have no images?
First, resolve errors that prevent products from appearing.
Week 2: Improve titles and identifiers
Select the most important product groups by revenue or potential.
Develop a title template per category and add:
- Brand
- Model
- Product type
- Key specification
- Variant details
At the same time, check GTIN, MPN and brand.
Week 3: Expand images and product information
For important products, add:
- High-resolution main images
- Alternative perspectives
- Detail shots
- Lifestyle images
- Product highlights
- Technical product details
Focus first on items with high impressions and low click or conversion rates.
Week 4: Economic control and automation
Define a Custom Label system and transfer:
- Margin
- Sales strength
- Stock
- Season
- Strategic priority
Ensure your update frequency fits your catalogue. Use an API solution for changing prices and stock levels.
The CSS Partner provides the infrastructure, while your feed drives performance.
A good Comparison Shopping Service ensures a solid connection, but your product data quality determines overall performance.
Prioritise essential data before making cosmetic changes. Ensure products have unique identifiers, valid approvals, and accurate prices and stock levels.
After that, follow these performance-enhancing measures:
- precise product titles
- structured descriptions
- correct GTINs
- specific categories
- convincing product images
- lifestyle images
- economical Custom Labels
- reliable automation
An effective product feed delivers accurate information in the correct attribute, for the right product, at the right time.
Feed optimisation is an ongoing task for large catalogues. Align your CSS connection, product data, pricing, and campaign setup to scale Google Shopping effectively.
Frequent Questions about Product Feed Optimization for CSS
Does a CSS Partner automatically optimize my product feed?
No. CSS integration and feed optimisation are separate services. Some providers only manage integration, whilst others offer feed management and consulting. Check your provider scope of services.
Is lifestyle_image_link a mandatory attribute?
No. This optional attribute lets you submit lifestyle images separately from standard product photos. Examples include clothing on models or furniture in styled rooms.
Should I always use the maximum title length?
No. Titles must remain clear, accurate and specific. Adding synonyms and promotional text harms descriptions, as Google prioritises precise titles.
How often should I update the product feed?
Update frequency depends on stock and price changes. Daily fetches suit stable catalogues. Dynamic pricing requires frequent API updates or the Products-Service.
Do I always need a GTIN?
Branded and standard goods usually have unique identifiers. Only set identifier_exists to no if your item truly lacks a GTIN, MPN or brand.
Can I store margins directly in the feed?
Yes, you can use a Custom Label. Group your products into categories such as high margin, medium margin and low margin, as Google recommends.
Can the same product feed be used for multiple CSS Partners?
Setup depends on your Merchant Center and CSS configuration. Keep product data consistent. Confirm accounts, data sources and approvals with your CSS providers before switching.
What's more important: product title or product image?
Titles describe and categorise items, while images capture attention. Ensure your price, availability and product identifiers are accurate before refining titles and images.
- Free Google CSS migration
- Full visibility in Google Shopping
- 20% lower click prices
- 21 EU markets included
- Premium email support
- No minimum term
