Magento (now Adobe Commerce) is powerful and enterprise-grade — and creates more feed management headaches than any other platform. Understanding why requires a look at Magento's architecture.

Why Magento feeds are harder

Magento uses an Entity–Attribute–Value (EAV) database structure. Product attributes are stored as separate rows in a shared table rather than fixed columns. This means product data is rich and flexible — but harder to export cleanly. Simple CSV exports often miss attributes, flatten variants incorrectly, or include raw HTML in descriptions.

Configurable products: the biggest challenge

Magento configurable products (parent + simple product children) need each simple product as a separate feed row with its specific attributes, sharing an item_group_id matching the parent. Magento's native export doesn't do this cleanly. Common problems: only the parent is exported, children don't inherit parent images, price comes from the parent range rather than the specific variant. Trajekt uses Magento's REST API to fetch the parent-child relationship explicitly.

Multi-store views

Magento's multi-store view architecture lets the same product have different names, descriptions, and prices per store view. For Google Shopping, you need to specify which store view to use per feed. Trajekt allows you to specify the store view ID, ensuring correct language, currency, and locale per target country.

Custom attributes: where the good data lives

Magento's attribute system means brand, GTIN, material, and specifications are typically stored in custom attributes — not in a basic Magento export. Trajekt fetches the full attribute set for each product via REST API and makes all attributes available for rules-based mapping without custom development.

How Magento attribute sets affect feed output

Magento's attribute set system means different product types can have completely different sets of attributes. A clothing product might have colour, size, material, and fit attributes; an electronics product might have voltage, wattage, and connector type. This is powerful for product management but creates complexity for feed management — your feed tool needs to handle attribute sets that vary by category.

The cleanest approach is attribute mapping rules that use conditional logic: IF product_type contains "Clothing" THEN map colour_attribute to color, ELSE IF product_type contains "Electronics" THEN map connector_attribute to [skip]. Trajekt's rules engine handles this with nested conditional rules — one rule per attribute set covers your full catalogue without requiring separate feed configurations per category.

Magento's REST API pagination and large catalogues

Magento's REST API returns products in pages — typically 100 products per request, paginated. For a 50,000-product catalogue, that's 500 API calls per feed run. Poorly implemented feed tools make these calls sequentially, leading to feed runs that take hours. Trajekt implements concurrent pagination — multiple pages requested simultaneously — which reduces run time proportionally. For a 50,000-product Magento catalogue, expect 15–30 minutes for a full fetch.

Magento also enforces rate limiting on the REST API. If your feed tool makes too many concurrent requests, the API returns 429 errors and the feed run fails. The right balance depends on your Magento hosting environment — managed cloud Magento (Adobe Commerce Cloud) handles more concurrent requests than self-hosted Magento on a shared server.

Magento stock and availability edge cases

Magento's inventory management has more states than "in stock" and "out of stock": products can be disabled, backorderable (available to order but not in stock), or assigned to a specific inventory source in Multi-Source Inventory. Each of these needs to map to the correct Google Shopping availability value. Disabled products should be excluded from the feed entirely. Backorderable products should map to availability: backorder. Multi-Source Inventory requires aggregating stock levels across sources — the total available quantity across all warehouses, not per-source.

Magento feed checklist

  • ✅ Specify correct Magento store view for your target market
  • ✅ Export child simple products, not parent configurable products
  • ✅ Map all custom attributes (brand, GTIN, material) to feed fields
  • ✅ Strip HTML from all text fields before output
  • ✅ Use parent configurable product ID as item_group_id
  • ✅ Verify currency matches your Merchant Center target country

Magento feeds without custom development

Trajekt connects to Magento 2 and Adobe Commerce via REST API and handles EAV attributes, configurable products, and multi-store views automatically.

Start free →