Keep product and variant identity separate
Give each variant a stable ID and use a group ID to link variants of the same product. Keep the IDs when you change a title. That way, the next import updates the existing product instead of creating another one.
For Google Merchant XML, check id and item_group_id. Siroua’s CSV examples use external_id, group_id and sku. Your source can use different column names as long as they’re mapped correctly during setup.
<item>
<g:id>TRAIL-44</g:id>
<g:item_group_id>TRAIL</g:item_group_id>
<title>Trail Runner GTX</title>
<g:price>149.99 EUR</g:price>
<g:availability>in_stock</g:availability>
<g:size>44</g:size>
<link>https://example.com/products/trail-runner</link>
</item>Keep price and stock on each variant
Size, color, price and availability can vary within one product. Keep them on the variant. A product-level minimum price is useful for discovery, but the selected variant’s price is what a shopper must agree to before payment.
| Field | What to verify |
|---|---|
| Identifier and SKU | Unique, stable variant identity; correct parent grouping. |
| Price and currency | The exact variant price; no currency inferred from a symbol alone. |
| Availability | The selected variant’s current status, including sold-out options. |
| Options | Size and color in mapped fields, not only in a title. |
| URL and media | The original product page and images for the correct item. |
Treat missing attributes as unknown
An agent may need wool-free clothing, a particular fit or a waterproof product. Put verified attributes into structured fields where possible. Marketing prose can help semantic retrieval, but it should not be the sole evidence for a hard requirement.
Siroua’s exact attribute filters support a defined vocabulary, including material, gender, color, pattern, fit, season and waterproof. Check the API contract before mapping values. If a strict filter returns nothing, inspect full product details: the catalog may lack the attribute rather than lack matching products.
Choose when to refresh the feed
Check when your export updates and when Siroua imports it. Both affect how long a stock or price change takes to appear in search.
Test a price change, a sold-out variant and a failed refresh. Make sure your team can see the last successful import and knows who to contact if it fails. Checkout checks the imported catalog again, but it can’t see changes that haven’t reached the feed.
Use decoys to test quality
Do not test only a request that should match. Place a cheaper size-39 shoe next to a size-44 shoe and ask for size 44. Add an over-budget shoe with similar wording. If either appears as a valid buyable match, the constraints are not doing their job.
Siroua’s search integration fixture uses this approach: the target shoe shares its description with size and price decoys. That forces correctness to come from exact filters rather than a lucky ranking.
- Known SKU: the expected product is found.
- Wrong size: a visually similar variant is excluded.
- Budget: the chosen variant respects the ceiling.
- Stock: an unavailable variant is not offered as buyable.
- Missing attribute: the agent explains uncertainty instead of inventing a fact.
References
Review a feed before connecting agents
Join the waitlist with your store URL and tell us which feed format you already publish.
Join the waitlist