Google Shopping Guide for Online Stores
The three layers of Shopping — what actually drives results
The most common scenario I see in stores: "Shopping isn't working, let's raise the budget." Then the surprise that it still isn't working. Because the budget is the last 20% of the equation. Before that you have: Merchant Center, the product feed and the campaign structure — they decide whether you advertise at all, on which queries and at what frequency.
That is why this article goes from the bottom up: first the foundation (Merchant Center), then the feed (where you actually make money), and only at the end the campaign.
Step 1 — Merchant Center and product feed
Merchant Center is the account where Google keeps all the products from your store. Without it there is no Shopping, no PMax with a feed, no Free listings. Start with these three things. Note: Google is gradually migrating accounts to the new Merchant Center Next interface — the features are the same, but the layout is different. If you see different tabs from older guides, that is why.
Account configuration — the minimum you cannot skip
- Verify and claim the store domain (a signal that you are the owner of the products)
- Business details consistent with the footer, terms and the "About" page — Google verifies all these places; inconsistency leads to the account being suspended after 1–2 weeks
- Shipping policy with concrete costs and delivery times per region (Poland + EU if you sell cross-border)
- Return policy — at least 14 days for the EU, clearly described
- VAT rates if you sell B2B or to companies
- Account linked to Google Ads (without this, product campaigns will not see the feed)
Product feed — what it is and how to deliver it
A feed is a structured file (XML, CSV, TXT) or a direct integration with the e-commerce platform that contains all your products with their attributes: ID, title, description, price, availability, GTIN, brand, category, link, image. The fuller the data, the better Google understands what you advertise and the more often it matches the customer's intent.
How to deliver the feed:
- Shopify, WooCommerce, PrestaShop, Shoper — built-in integrations or plugins generate the feed automatically. That is usually 90% of what you need at the start.
- Custom-built store — an XML/CSV file generated by your system + a fetch schedule in Merchant Center (typically every 6–24h, recommended 6h for price changes).
- Content API for Shopping (the most advanced option) — direct real-time synchronization via API. For larger stores (1000+ products, frequent changes).
Attributes — which are required
Google divides attributes into required (without them the product is disapproved) and recommended (they improve performance but do not block).
| Attribute | Status | Comment |
|---|---|---|
id | Required | Unique product identifier — usually the SKU from your store |
title | Required | The most important attribute in the feed — see Step 2 |
description | Required | Full description, max 5,000 characters |
link | Required | Product page URL (must match the domain in Merchant Center) |
image_link | Required | Main image, min 100×100 px, recommended 800×800+ |
availability | Required | in_stock, out_of_stock, preorder, backorder |
price | Required | Price with currency, e.g. 199.00 PLN |
brand | Required for most | Manufacturer brand — critical for query matching |
gtin | Required for products with a GTIN | EAN/UPC/ISBN — without it, lower visibility and sometimes a disapproval |
mpn | Required if no GTIN | Manufacturer Part Number — a substitute for GTIN on unique products |
condition | Required | new, refurbished, used |
google_product_category | Recommended | Category from the Google taxonomy — helps with matching |
product_type | Recommended | Your own category (e.g. "Apparel > Women's > Dresses") |
color, size, gender, age_group, material | Recommended (required for apparel) | In apparel they are practically a requirement — without them, products show up poorly |
shipping | Recommended | Per-product shipping cost — overrides the account configuration |
custom_label_0 – custom_label_4 | Optional — key for segmentation | See Step 4 — used for margin tiers, seasonality, performance |
Full attribute documentation — Google Merchant Center — Product data specification. In practice: if you use a Shopify/WooCommerce plugin, most of it is filled in automatically. Your job is mainly the titles, GTINs and custom labels. No GTIN or MPN? For private-label products (own brand, hand-made, custom jewellery) set identifier_exists = FALSE — Google accepts it without penalising visibility.
Step 2 — product titles (the most important element of the feed)
This is where 20–40% more traffic is waiting without raising the budget — just by improving the title itself. Why does this single attribute weigh so much?
- Google uses the title to decide on which purchase queries to show your product
- The title is the first thing the customer sees in Shopping results
- A weak title = low impression share + low CTR + the system learns the product does not convert = fewer impressions
Industry analyses show that a well-optimized title delivers +20–40% impressions and +10–15% CTR compared to a title like "Dress 2548". From my own practice I confirm — the gap between a weak and a good title is usually exactly that size, sometimes even larger in apparel and accessories (where context like "women's/men's", "season", "size" drives matching).
Data on the impact of titles — industry analyses including Balistro — Google Shopping Optimization 2026, Store Growers — Merchant Center attributes.
Title patterns by category
| Category | Pattern | Example |
|---|---|---|
| Apparel | Brand + Type + Gender/Season + Model + Color + Size + Material | Lemonella women's summer dress — Lemon Sorbet, black, size M, cotton |
| Electronics | Brand + Model + Type + Key parameters | Sony WH-1000XM5 wireless headphones with active noise cancellation, black |
| Furniture / home | Brand + Type + Material + Color + Dimensions | Ikea Lack coffee table oak, white, 90×55×45 cm |
| Cosmetics | Brand + Line + Type + Volume/Variant | Nivea Soft moisturising face and body cream, 200 ml |
| Sport / outdoor | Brand + Type + Gender + Context + Model + Color + Size | Nike Air Zoom women's running shoes marathon — Pegasus 42, black, size 38 |
Three rules that work in 90% of cases:
- Brand at the very start — that is the first thing Google considers when matching queries. Without the brand you lose every "Lemonella dress" type query.
- Feed title is not the same as the title on the product page — the page should be attractive to a human ("A summer dress you'll fall in love with"), the feed should be searchable for the algorithm ("Lemonella women's summer dress — Lemon Sorbet, black"). Most advanced e-commerce stores keep separate titles for both.
- No marketing words like "NEW", "SALE -50%", "BESTSELLER" — Google disapproves products like that or lowers their visibility. Prices and promotions belong in the
sale_priceattribute, not the title.
Step 3 — campaign structure: Standard, PMax, or hybrid
This question always comes up. Short answer: start with Standard Shopping, add PMax after 30 days, run both. Reasons:
| Aspect | Standard Shopping | Performance Max |
|---|---|---|
| Transparency | You see specific queries, products, click-through per element | Half the data is hidden — aggregated reports, no per-product queries |
| Control | Negatives, bids per product/group, exclusions, structure | The system decides on its own — you can influence via signals and exclusions |
| Scale | Shopping only (search network + Shopping tab + Maps) | Shopping + Search + Display + YouTube + Gmail + Discover |
| Brand defense | Excellent — you can isolate branded queries | Tricky — PMax also catches brand, sometimes competing with itself |
| Margin management | You can isolate low-margin SKUs and cap their budget | The system optimises for conversion value — may pull cheap products |
| Learning curve | Shorter — the algorithm has a narrower definition of success | Longer, but potentially higher return at maturity |
| Best as | Foundation, control, brand, low-margin protection | Scale, reach, growth on a mature account |
What hybrid does — and why it works
Hybrid means running both campaigns in parallel. PMax generally takes priority over Standard Shopping for the same products — but product exclusions, campaign priority settings, and brand exclusions (since mid-2023) let you control this. In practice: low-margin and seasonal items stay only in Standard (where you have full control), while the high-margin best-sellers go into PMax (where you want scale). Practical benefits of hybrid:
- PMax scales sales where it has fresh data and valuable customers
- Standard Shopping protects margin — here you exclude products that should not be advertised (e.g. off-season items, end-of-line, low margin SKUs)
- Standard Shopping is cheaper for your own brand — you control bids manually
- Easier diagnostics — if something is going wrong, in Standard you see exactly what
Hybrid strategy in Polish e-commerce 2026 — smec — Running Google Shopping alongside PMax, GROAS — PMax vs Standard Shopping 2026. In practice: on a new account, start with Standard, add PMax after 30 days once you have a conversion pattern. Exception: if the account has already been running Standard Shopping with a conversion history (3+ months of data), PMax can be launched right away — the system already has something to learn from.
Step 4 — custom labels for margin segmentation
This is where it gets interesting. Custom labels (custom_label_0 through custom_label_4) are 5 free fields in the feed that Google does not use for anything automatically — but you can segment campaigns and bids with them.
The standard usage I recommend to every store:
| Label | I use it for | Example values |
|---|---|---|
| custom_label_0 | Margin tier | margin_high (50%+), margin_mid (25–50%), margin_low (<25%) |
| custom_label_1 | Performance (rolling 90 days) | bestseller, steady, slow, zombie (0 sales) |
| custom_label_2 | Seasonality | summer, winter, holiday, evergreen |
| custom_label_3 | Price | price_low (up to 50 PLN), price_mid (50–200), price_high (200+) |
| custom_label_4 | Promotion status | sale_active, regular, clearance |
Once you implement them, you can for example create 3 separate product groups by margin in Standard Shopping and assign each a different target ROAS — e.g. margin_high → tROAS 4, margin_low → tROAS 8. The logic: a product with a high margin (60%) you can advertise more aggressively, because even at ROAS 4 (ad cost = 25% of revenue) you keep 35% profit. A low-margin product (20%) needs ROAS 8 (cost = 12.5%) just to break even. Without this distinction the system treats every product equally — and pulls cheap, low-margin SKUs because they are easier to sell.
The same goes for seasonality — in November you turn off summer, push winter and holiday. Without custom labels you would have to do that manually, SKU by SKU.
custom_label_0 with values margin_high / margin_mid / margin_low to every product in the feed. Implementation time: 2–4 hours for 100–500 products (Excel + VLOOKUP by category or SKU), 4–8 hours for 500–2,000 products; larger catalogues need a script or feed manager. The rest comes in month two, once you see this works.
What I see after 11 years — observations by category
Reference Shopping rates from various account types I run or have run. Ranges from Polish e-commerce accounts, in PLN:
- Natural / niche cosmetics — Shopping CPC 0.40–1.20 PLN, conversion rate 2.5–4.5%, ROAS 5–8 (high margins 60–70%, easy to scale)
- Fashion (mid-segment) — Shopping CPC 0.60–1.80 PLN, conversion rate 1.5–3% (returns 25–35% lower the real ROAS — look at ROAS after returns)
- Supplements / health — Shopping CPC 1.00–2.50 PLN, conversion rate 2–4%, ROAS 3–5 — LTV and repeat purchases are the key
- Sports / outdoor gear — Shopping CPC 0.80–2.00 PLN, conversion rate 1.5–3%, ROAS 2.5–4 (lower margins, very strong seasonality)
- Home and interior (furniture, decor) — Shopping CPC 0.80–2.50 PLN, conversion rate 0.8–2% (long decision cycle, remarketing is key)
- Electronics / accessories — Shopping CPC 0.60–1.80 PLN, conversion rate 1–2.5%, ROAS 2–4 (low margin, price war)
- Diet catering (subscription e-commerce — meal-box plans) — from my experience average CPC 2.50–5.00 PLN, conversion rate 2–4%, ROAS 2.5–4 with strong seasonality in January and September (+30–50% in costs). Lower bands for accessories (close to general e-com), higher for diet sets with high cart value.
If your numbers are off these ranges by more than 50% — usually a signal that the problem is in the feed (titles, GTIN, missing attributes), not in the campaign itself.
The most common Shopping mistakes
- Feed title = page title. Product name written for aesthetics, not for the search engine. "A summer dress you'll fall in love with" instead of "Lemonella women's summer dress — Lemon Sorbet, black, size M". Fixing the title alone typically gives +20–40% impressions.
- No GTINs. The system lowers visibility on products without a GTIN and sometimes excludes them from premium auctions. Especially in electronics and apparel that costs a lot.
- Out-of-sync stock levels. Customer clicks the product, gets "out of stock", competitor wins. The system also penalizes this with lower visibility.
- Everything in PMax from day 1. The system has no conversion pattern yet, so it burns budget on cheap products and niche traffic. Start with Standard, add PMax after 30 days.
- No exclusions for zombie products. Products that have not sold in 90+ days the system still tries to advertise because "they are in the feed". Set
custom_label_1 = zombieand exclude them from campaigns. - Maximize Conversions instead of tROAS. The default strategy in new Shopping campaigns is often "Maximize Conversions". Without a ROAS target, the system optimizes for volume, not value — pulling cheap products. After ~20–30 value-based conversions (transactions with conversion value), switch to Target ROAS.
- No weekly Merchant Center diagnostics. Disapproved products pile up — week after week you lose a few percent of the feed. Checking the "Diagnostics" tab every Monday is 10 minutes that saves a dozen products.
Bonuses: Free listings + Product Ratings
Two things you basically get for free if Merchant Center is set up well.
Free listings — free traffic from the Shopping tab
For several years now, Google has been showing products from the feed in the "Shopping" tab (Google Shopping tab) without click charges. All you need is an active feed in Merchant Center — the "free product listings" program (formerly "Surfaces across Google") is on by default in new accounts; you can verify it in the Free Listings tab in Merchant Center.
From my experience in mid-sized Polish e-commerce, Free listings add 5–15% of free traffic on top of Shopping. The scale depends on category and competition — small stores with a few dozen SKUs usually get 2–5%, large catalogues with thousands of products can pull 20–30%. Either way — pure profit, zero media cost.
Product Ratings — stars next to the product
Stars in Shopping results (those small ★★★★☆ under the product title) increase CTR by 15–20% according to industry studies. It is a free feature — just apply in Merchant Center and connect a review source (Trustpilot, Trusted Shops, Google Customer Reviews — or Opineo if you operate in Poland — or your own via API).
From my experience, below ~50 reviews in the last 12 months, stars practically won't show up — Google evaluates data quality and trust, and a low review count does not meet the threshold. The exact threshold depends on the source (Google Customer Reviews, Trustpilot, Trusted Shops, or Opineo for Poland) and category. If you do not collect reviews systematically, that is 2–3 months of work before you qualify. Worth it.
Free listings + Product Ratings — CTR uplift data from industry analyses OwlClaw Google Shopping Benchmarks 2026 and Balistro.
How to check whether things are going well
Level 1 — is there data (first 30 days)
- Shopping conversions > 20–30 in the last 30 days (value-based — those feed Smart Bidding)
- Conversions with transaction value (the "Conv. value" column not empty)
- Merchant Center: < 5% disapproved products (the "Diagnostics" tab)
Level 2 — feed efficiency
- Impression share on the top 50 products > 40%
- Shopping CTR > 1% for mid-price categories (50–300 PLN AOV). High-ticket products (furniture, premium electronics 500+ PLN) typically land at 0.4–0.8% — not a title problem, just a longer decision cycle
- CPC on top products within the benchmark band for your category (see above)
- Click share > 50% (you show up in auctions but get fewer clicks than competitors) — check images, prices, reviews
Level 3 — business
- Shopping ROAS within bands (3–5 baseline for mid-margin e-com, 5+ for high margin, 2+ for low margin with good LTV)
- Top 10 products generate 50–70% of Shopping revenue (a healthy distribution)
- Zombie products (0 conversions in 90 days) excluded from PMax and Standard Shopping
If levels 1 and 2 are OK but level 3 is not — the problem is on the site (LP, cart, shipping), not in the campaign. Standard diagnostic: compare Shopping CTR with site conversion rate. High CTR + low conversion = the site is failing.
About the sources: Polish industry publications (feed analyses, PL e-com benchmarks 2026) — Artur Smolicki — product feed, Double Digital, Lumo. Global — Google Merchant Center docs, Store Growers, OwlClaw Benchmarks 2026, smec — hybrid strategy. The rest is observations from 11 years of running Google Ads campaigns at JP Ads — numbers from my own practice are flagged "from my experience".