Skip to main content
An attribute is a field in Google’s product data specification. A mapping says where that field’s value comes from in your Shopify catalog. Rogus fills in every mapping it can work out when you create the feed. This page explains what you are looking at and what to change. Open the feed and stay on the Feed configuration tab.

How Google groups attributes

Rogus follows Google’s own requirement levels, because they mean genuinely different things.

Required

id, title, description, link, image_link, availability, price. These seven decide whether an item exists in the feed at all. All of them are pre-mapped for you.

Identifiers

brand, gtin, mpn. brand defaults to your product vendor. gtin defaults to the variant barcode — it resolves per item, so only variants that actually have a barcode publish one.
Rogus does not map mpn to your SKU. An MPN is the part number the manufacturer uses; a SKU is your own code. Sending one as the other claims an identifier you do not have, which causes rejections later. Map it only if you genuinely hold manufacturer part numbers.

Conditional

condition, availability_date, age_group, gender, color, size, material, pattern, item_group_id, adult. Google requires these for particular cases — apparel needs age_group and gender, a preorder needs availability_date. Rogus cannot know which rule applies to your catalog, so it never skips an item over one. Where your other values suggest one is owed, you get a warning on the Feed health tab. item_group_id is what ties the variants of one product together, so Google shows them as a single listing with options. Rogus fills it in for you. google_product_category, product_type, sale_price, additional_image_link. sale_price matters more than “recommended” suggests — see the warning about prices below.

Where a value can come from

Each attribute takes one source:
  • A product or variant field — the usual choice
  • A metafield — for data you keep in a custom field
  • A fixed value — the same text on every item, for something that never varies
  • Nothing — leave the attribute out of the feed entirely
You can also set a fallback: a second source used only when the first one is empty for that item.

Product fields

Variant fields

Three things worth getting right

Prices are named the other way round from Shopify

Google’s price is the full, regular price. The discounted amount goes in sale_price. Shopify uses the opposite convention: its price field is what the shopper pays today. Map Google’s price to Shopify’s price on a discounted product and you advertise a sale from £20 to £20 — Google sees the same number twice and the discount does nothing for you. Rogus therefore defaults price to Regular price (compare-at when discounted) and sale_price to Sale price (only when discounted). Leave both alone unless you know why you are changing them.

A Shopify category is not a Google category

They are two different systems with different names and different codes. Sending your Shopify category where Google expects its own makes Google treat the attribute as missing. Use Shopify category → Google category, which is the default. Rogus does the translation. Shopify category (full name) is the raw text, and is the right answer only for product_type, which is your own labelling and not Google’s. If a product has no Shopify category, nothing is sent. Set the category on the product in Shopify, or map google_product_category to a fixed value if the whole feed is one category.

A fallback is a stopgap, not a fix

A fallback keeps an item in the feed, which is worth a lot. But it publishes substitute data, and substitute data is usually weaker. The common example is using the product title as the description. The item publishes instead of being skipped — but Google reads descriptions for relevance, and a title repeated as a description tells it very little. Rogus marks these items Fallback on the Feed health tab so they stay visible rather than looking solved.

Saving

Changes are held until you press Save. Saving does not rebuild the file — press Generate to publish the change. See Generating a feed.