Skip to content

Magento Google shopping agency

Shopping feeds from Magento: simple products grouped under the configurable, special prices used instead of cart rules, availability from salable quantity.

The hardest part of Google Shopping on Magento is deciding what a product is. A configurable product is the page shoppers see. The simple products underneath it are the things they actually buy, each with its own SKU, price and stock. A feed built from configurables alone advertises a page without a price you can trust. A feed built from simple products alone fills the results with the same shirt eleven times. The right answer is simple products, grouped under the configurable as an item group, and getting that relationship into the feed is most of the setup work.

The second Magento specific problem is promotions. Catalog price rules change the price before the page renders, so a feed reading the final price will match what Google's crawler sees. Cart price rules only apply once the item is in the basket, so they cannot appear in the feed at all. Stores regularly advertise a discount that Google will never see and then wonder why the item was disapproved.

The third is availability. With multi source inventory, the number that matters is salable quantity across the sources assigned to the website, not the raw stock figure on a single source.

We run the feed and the campaigns in your own accounts, with the export scheduled through cron.

Native on Magento / Adobe Commerce

  • Attribute sets and attribute codes, which map directly onto Google's required attributes
  • Configurable and simple product relationships, which become the item group in the feed
  • Special price with start and end dates, which renders on the page and can be exported
  • Catalog price rules, applied before the page is rendered rather than in the cart
  • Multi source inventory salable quantity, which is the real availability for a website
  • Cron-driven export scheduling, so the feed regenerates without anyone pressing a button

Settings that matter

Export simple products under the configurable

Each buyable simple product becomes a feed item with its own SKU, price, size or colour and stock, and they all share an item group taken from the configurable. That way a search for a specific size can match, while the channel understands the variants belong together. The landing page normally points at the configurable with the variant preselected, so the shopper arrives at something they can buy without hunting for their option.

Use special price rather than cart rules for anything advertised

If a promotion needs to appear in Shopping, it has to be visible to a crawler on the product page. Special price and catalog price rules both qualify. A cart price rule does not, because the discount only exists after the item is added. We move advertised promotions onto the catalog side, keep cart rules for order-level offers such as thresholds, and check the sale price dates in the feed match the dates on the page.

Take availability from salable quantity

With multiple inventory sources, the stock figure on any single source is not what a customer can buy. Salable quantity for the stock assigned to that website is. We point the export at that number, set a threshold below which an item is marked out of stock rather than advertised into a backorder, and make sure the feed refresh is frequent enough that a fast-moving product does not keep being promoted after it sells out.

Match the tax and currency basis to the target

Magento can display prices including or excluding tax, and it can run several websites and store views with different currencies and price scopes. The feed target in Merchant Center has to agree with the storefront a visitor from that country will actually land on. We set one export per target rather than converting a single price list, and check a sample product page in each market against the value being sent.

What we avoid

  • Advertising a cart price rule discount, which the crawler cannot see and which will be read as a price mismatch
  • Exporting configurable products alone, which hides the sizes and colours people search for
  • Running the export on demand from the admin instead of on cron, so the feed is only as fresh as the last person who remembered

Questions

Because the discount is almost certainly a cart price rule. Those apply once the product is in the basket, so the product page, the crawler and the feed all still show the full price. Anything you want reflected in a shopping ad has to change the price on the page itself, which means a special price or a catalog price rule with the right dates.

Simple products, grouped under the configurable. The simple product is what has a price, a SKU and a stock level, and it is what matches a search for a specific size. Grouping them tells the channel they are variants of one item rather than eleven competing products. Sending configurables alone is the more common setup and it is the reason many Magento catalogues underperform in Shopping.

As often as your cron and your server can handle, and the honest constraint is usually generation time on a large catalogue rather than any channel limit. For most stores a daily full export plus more frequent price and stock updates is the right balance. If products sell out quickly, the update frequency matters more than the size of the export.

Yes. Availability should come from the salable quantity for the stock assigned to the website being advertised, not from a single source's figure. Stores with several warehouses often find items marked in stock that cannot actually be shipped to the market they are advertised in. Getting this right removes a class of cancelled orders as well as a class of feed errors.

Send your Magento / Adobe Commerce store.

The plan is written for your store on the platform it runs on.

Store, name, email and phone. A person replies from a real inbox. Privacy

Get your free growth plan