For arlanix/product-feed 1.0
Recipes
Each recipe changes a few settings of a feed made as in your first feed. Open the feed, change what the recipe says, save, and check the result with Preview before the next run.
Sizes and colours
A tablecloth in four sizes and six colours is one product in your catalogue, a configurable product, with a variation for each size and colour. By default a feed sends the configurable product once. Google prefers each variation as a row of its own, and requires it when the variations have different prices: otherwise the price in the feed does not match the price the shopper sees after choosing a size, and Google disapproves the product.
To send each variation:
- Products section:
- Visibility: clear it, so that nothing is selected. The variations are Not Visible Individually, and the default filter left them out.
- Product types: choose Simple Product only. This keeps the variations and your ordinary single products, and leaves out the configurable product itself, so nothing is sent twice.
- Mapping section, three rows:
link: in Value, choose Product URL, and under it, in Address, The parent's, with the options picked. A variation has no page of its own; this opens the product page with that size and colour already chosen. A product without variations keeps its own page.
title: choose Fixed value or template… and enter
{parent.name||name}{color|prefix:", "}{size|prefix:", "}This gives Linen Tablecloth, Ivory, 140 × 180 for a variation, and the plain name for a single product.
||means "or, if that is empty";prefixputs the comma in front of the colour or size only when there is one.item_group_id stays as it was copied, from the parent's SKU: it tells Google which rows are variations of one product.
- Save and press Preview, then type the SKU of one variation into SKUs or product IDs: the row should show its own price, the colour and size, and the link with the options chosen.
Each variation needs its own picture. The feed does not borrow the configurable product's image, and a variation without one is left out of the feed, named in the Details of the run in Run History. If your variations have no pictures of their own, stay with the default, one row per product, and keep the prices of its sizes equal, or add the pictures first.
If your colour attribute holds names Google does not know, such as Ivory or Sage, Google accepts them: colour is free text. A dictionary is only needed when a platform asks for a closed list.
Your own brand, without barcodes
Google expects a brand and a barcode (GTIN) for every product, and treats a product without them as suspect unless told otherwise. If you make the products yourself, or sell unbranded goods, say so in two rows of the Mapping section:
- brand: the copied row reads the manufacturer attribute. If you have no such attribute, choose Fixed value or template… and enter your shop's name. Google's rule for products you make yourself is to use your shop's name as the brand, and Meta, TikTok and Snapchat refuse a product without a brand.
- identifier_exists: press Add field, enter
identifier_existsas the Field, choose Fixed value or template… and enterno. This tells Google the products have no GTIN or MPN, and it stops asking for one.
Products that do have a barcode, such as a brand-name kettle you resell, should send it instead: add a gtin row and pick the attribute that holds the barcode, and do not add identifier_exists to that feed.
Tracking parameters on links
To see in Google Analytics which visits came from Shopping, add parameters to the product links. In the link row, under Product URL, fill in Parameters:
utm_source=google&utm_medium=shopping&utm_content={sku}
{sku} is replaced by each product's SKU. Make a feed for Meta with utm_source=meta and the visits are told apart.