Performance Max in Google Ads: a practical guide for small and mid-sized businesses
When a Performance Max campaign is worth running, how to prepare it properly and how much control you really keep.
Which attributes Google requires, how to write good titles, what to do about GTINs and how to fix disapprovals.
A Google Shopping product feed is a file or live connection that sends your product data to Google Merchant Center: ID, title, description, link, image, price, availability, brand and GTIN. Google uses it to build Shopping ads and free listings. A good feed matches the product page exactly, has clear titles and uses genuine product identifiers.
With search ads you write the text yourself. With Shopping, Google builds the ad from the data you send. The photo, the price and the title a shopper sees all come straight from your feed. That is why data quality decides whether a product appears, for which searches it appears and how convincing it looks.
One feed supplies several surfaces: Shopping ads in standard campaigns, free listings in Google results (in countries where they are available) and Performance Max campaigns that include your products. If you run an online shop, the feed is usually the foundation of your visibility on Google Shopping.
Merchant Center is the Google account where you upload the feed and check the status of your products. An attribute is a field in the feed, such as price or brand. A GTIN (Global Trade Item Number) is the international barcode number of a product, often an EAN in Europe. An MPN is the manufacturer’s part number. A supplemental feed is a second file that adds or corrects attributes without changing the main source.
The exact list depends on the product category and the country you sell in, and Google adjusts it from time to time. For the current specification, always consult the official guidance in the Merchant Center help centre. In practice, almost every product needs the following:
| Attribute | What it contains | Typical mistake |
|---|---|---|
| id | A unique, stable product code (usually the SKU) | It changes with every export and you lose the history |
| title | The product name, up to 150 characters (check the current limit) | Just the internal name, with no brand or features |
| description | Plain-text description without excessive HTML | Manufacturer text copied across dozens of products |
| link | The URL of the product page | A page that errors or redirects to another product |
| image_link | A clear image of the product on a clean background | Logos, sale banners, images that are too small |
| price | The real price, with currency and VAT included, as on the product page | A price different from the product page |
| availability | In stock, out of stock, preorder | Marked in stock when it no longer is |
| brand | The product brand | Empty, or the shop’s own name |
| gtin / mpn | Product identifiers | Invented codes, or copied from another product |
Clothing and footwear need further attributes such as colour, size, gender and age group. For products with variants (the same jacket in several sizes), each variant is a separate row, linked by the item_group_id attribute.
Beyond the minimum, a few fields help you match searches and organise your campaigns. They are not all mandatory, but they are worth completing wherever you have the data:
Custom labels are one of the most useful fields for optimisation: they let you give different budgets to high-margin and low-margin products. For the margin calculation, see our guide to online shop profit margins.
If you are still choosing a platform, feed configuration is one of the criteria discussed in WooCommerce or Shopify.
The title is one of the fields with the greatest effect on whether a product appears. Shoppers rarely search for your internal product name. They search for the product type, the brand, the colour or a feature. Google shows only part of the title, usually the beginning, so put the important information first.
| Category | Recommended structure | Hypothetical example |
|---|---|---|
| Clothing | Brand + gender + type + colour + size | Nordic Wear Men’s Waterproof Jacket, Blue, M |
| Electronics | Brand + model + type + key feature | Brandex X200 Robot Vacuum Cleaner with Self-Emptying Dock |
| Cosmetics | Brand + line + product type + volume | Aurora Hydrating Face Cream 50 ml |
| Tools and DIY | Brand + type + power or size + model | Forgemax Cordless Drill 18 V, Twin Battery Set |
Avoid promotional text in titles (“Sale!”, “Free delivery”, excessive capitals, emoji). It goes against Google’s policies and can lead to disapproval. Do not repeat the same keyword five times; it does not help. Use the features that set the product apart from the alternatives, and leave detail, materials and use to the description.
For branded products, Google uses the GTIN to recognise exactly which product it is and to compare it with other offers. If the product has a barcode assigned by the manufacturer, fill it in. Do not invent codes and do not copy one from a similar product. A wrong GTIN can lead to disapproval or to incorrect display.
For products without an assigned code, such as handmade, own-brand or customised items, you can indicate that no identifier exists (the identifier_exists attribute), following the current specification. Brand and MPN still matter where they exist. If you import from a wholesaler, ask for the manufacturer’s official codes rather than filling gaps with approximate values.
Most disapprovals come down to a handful of common causes. The diagnostics in Merchant Center show you the exact kind of problem, so start there rather than guessing.
| Error or warning | Likely cause | What to do |
|---|---|---|
| Price does not match the product page | The feed price is out of date, or VAT, currency or promotion differs | Sync the feed with the shop price and update more often |
| Availability mismatch | Stock changed between two uploads | Update the feed more often and set the system so that zero stock marks the item as out of stock |
| Missing GTIN or identifier | The code was never filled in | Ask suppliers for the codes, or declare the missing identifier where justified |
| Image problem | Small image, watermark, logo or promotional text | Use clean photos on a neutral background at good resolution |
| Landing page cannot be accessed | Broken URL, redirect or a page blocked to crawlers | Check the link and robots.txt; fix redirects |
| Account policy violation | Contact, returns or delivery details missing on the site | Complete the policy pages and request a review |
After making corrections, allow time for reprocessing; Google may need a while to reassess. If a disapproval persists with no clear reason, look in the current interface for a message asking you to act, and use the review request option.
A feed is never finished once approved. Prices, stock and products change, and every difference from your site can cause disapprovals or send shoppers to out-of-stock pages.
If the main source is hard to edit, use a supplemental feed for corrections: you can add labels or change titles without touching the export from your shop.
We begin with an audit of the existing feed: which attributes are missing, which products are disapproved and why, and how repetitive the titles are. Then we correct the source (in the shop, not only in the feed), rewrite titles according to the structure of each category and add custom labels based on margin and stock. Only after that do we build the campaigns, because a weak feed wastes budget.
Implementation and campaign details are on our Google Ads management page.
It varies from a few hours to a few days, depending on the account, the size of the feed and the checks needed. New accounts may face extra verification. Watch the diagnostics section, and do not resubmit the same version of the feed repeatedly without making corrections.
Yes. In countries where free listings are available, approved products can appear at no cost on dedicated Google surfaces, although visibility and position are not guaranteed. Check availability and conditions in Merchant Center, because they can change over time.
First check with the manufacturer or wholesaler: most branded products have a barcode. If you make the product yourself or it has no official code, use the mechanism Google provides for products without an identifier. Do not generate your own codes that imitate a GTIN.
At least once a day, and more often for shops with volatile stock or prices, if the platform allows. The aim is for the price and availability in the feed to match the product page at the moment a shopper clicks. Frequent differences can lead to disapprovals.
Yes, but the result depends on price, margin, competition and the quality of your data. A small shop can start with a modest budget and a few categories that have a healthy margin, then expand. Before paying for ads, work out whether your margin covers the cost of acquiring a customer.
Yes. With a supplemental feed or feed rules in Merchant Center you can change titles, add custom labels or override certain attributes. In the long run it is healthier to fix the data at the source, so that you do not end up with different versions of the same information.
Blog
When a Performance Max campaign is worth running, how to prepare it properly and how much control you really keep.
An honest WooCommerce vs Shopify comparison: costs, couriers, invoicing, payments, control and scaling.
Gross margin, contribution margin, break-even ROAS and maximum CPA: the maths that shows whether you sell at a profit.
Tell us where you are now and what you want to achieve — you will get a concrete proposal with services, timeline and a transparent budget.