Skip to content

Catalog & content

Catalog sources

AskMerra only recommends what is in your catalog, so a complete, fresh catalog is the most important input.

Four ways to import

MethodBest forFreshness
File upload (CSV, JSON, XML)Getting started, occasional updatesWhen you upload
Feed URLShops that already publish a product feed (e.g. for Google Shopping)Automatic, every 1–6 h depending on plan
Push APICustom platforms, ERPs, real-time stockReal time
Platform appsMagento, ShopifyComing soon

Formats

CSV

Comma, semicolon, tab or pipe separated (detected automatically). UTF-8 recommended; files that are not valid UTF-8 are read as Windows-1252. First row = column names.

products.csv
id;name;price;sale_price;currency;in_stock;category;brand;url;image
LUM-SE-01;Hydra Glow Serum 30 ml;39;32;EUR;yes;Face > Serums;Lumière;https://shop.ro/p/hydra-glow;https://shop.ro/img/hydra.jpg

JSON

An array of objects, or an object with a products (or items) array. Keys follow the same aliases as CSV columns.

{ "products": [
  { "id": "LUM-SE-01", "name": "Hydra Glow Serum 30 ml", "price": 39, "sale_price": 32,
    "in_stock": true, "category": "Face > Serums", "brand": "Lumière",
    "skin_type": "dry, sensitive" }
] }

XML (Google Merchant Center)

RSS 2.0 (rss > channel > item) or Atom (feed > entry) feeds with g: fields. The same feed you send to Google Shopping works as is.

Field mapping

After you upload a file or add a feed, AskMerra suggests a mapping from your columns to its fields. Review it before importing; columns you map to attribute:<name> (e.g. attribute:skin_type) become searchable product attributes; common descriptive columns (color, size, material, ingredients…) are suggested as attributes automatically. Recognised aliases:

FieldRecognised column names (examples)Notes
external_idid, product_id, item_id, offer_id, variant_idRequired. Your stable product id, used to update and to match product pages.
namename, title, product_name, denumireRequired.
skusku, mpn, product_code, code, referenceShown to your add-to-cart handler; matched for product-page context.
parent_external_iditem_group_id, parent_id, parent_skuGroups variants (sizes, colors) of the same product.
descriptiondescription, body_html, descriereHTML is converted to text.
urlurl, link, product_urlProduct page; product cards link here.
image_urlsimage, image_link, additional_image_link, imagesSeveral columns allowed; the first image is used on cards.
priceprice, pret, regular_priceNumber; “19,99 lei” and “€19.99” are understood.
sale_pricesale_price, special_price, discount_price, pret_promotionalShown with the regular price struck through.
currencycurrency, monedaISO code (EUR, RON…); defaults to the source or shop currency.
availabilityavailability, in_stock, stock_status, disponibilitate“in stock”, “yes”, “1”, “instock”… Out-of-stock products are never recommended.
stock_qtystock, quantity, qty, stocOptional quantity.
categoriescategory, categories, product_type, google_product_category“Face > Serums” paths and several columns allowed.
brandbrand, manufacturer, vendor, marca
localelocale, language, langFor multi-language catalogs; one row per product and language.

Sync behaviour

  • Products are matched by external_id (+ locale). Re-importing updates existing products; nothing is duplicated.
  • Full sync (default for files and feeds): products missing from the latest file are deactivated (never deleted) so they stop being recommended.
  • Price and stock changes apply immediately and do not trigger re-enrichment. Changes to name, description or attributes re-run enrichment for that product.
  • Rows with errors (missing id or name, invalid price) are skipped and listed in the import report; the rest is imported.
  • Files up to 25 MB. Larger catalogs: use a feed URL or the Push API.

Enrichment

After import, each new or changed product is analysed by AI to extract what shoppers ask about: use cases, skin/hair types, concerns, key ingredients or specs, routine steps and safety notes. The result is embedded for semantic search. Large imports are processed in batches at a lower cost; the Catalog page shows progress and lets you inspect each product’s enrichment.

Better input, better answers

Detailed descriptions and attributes (ingredients, materials, compatibility, sizes) make the biggest difference. Out-of-stock flags must be accurate, because the assistant never recommends unavailable products.

Need real-time updates from your backend? See the Catalog Push API.