{
 "name": "CanItBuy Matrix",
 "source": "https://canitbuy.com/matryca",
 "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
 "attribution": "CanItBuy Matrix, canitbuy.com/matryca",
 "generatedAt": "2026-10-20T11:05:58.838Z",
 "lastRunAt": "2026-10-20T06:08:35.024Z",
 "method": "https://canitbuy.com/matryca#cite",
 "modes": {
  "agent": "Browser agent: picks a product and a size, adds to cart, goes to checkout; stops before payment. reached = furthest confirmed stage.",
  "read": "Plain-HTML reading without JavaScript, following links, up to 4 pages; graded facts.",
  "api": "Machine-readable data only (robots.txt, sitemap, llms.txt, JSON-LD, meta tags); graded facts.",
  "voice": "Simulated voice assistant: plain-HTML reading, up to 2 pages, short answer; graded facts.",
  "manual": "Real consumer agents tested by hand, with a video recording."
 },
 "question": {
  "pl": "Czy buty do biegania Aero Run 2 są dostępne w rozmiarze 42 i w rozmiarze 44? Ile kosztują, ile kosztuje dostawa i ile dni mam na zwrot?",
  "en": "Are the Aero Run 2 running shoes available in size 42 and in size 44? How much do they cost, how much is delivery and how many days do I have to return them?",
  "truth": {
   "product": "Aero Run 2",
   "price": 549,
   "size42": "yes",
   "size44": "no",
   "delivery": 14.99,
   "returns": 30
  }
 },
 "stores": [
  {
   "id": "s01-lab-canitbuy-com",
   "code": "s01",
   "url": "https://s01.lab.canitbuy.com/",
   "name": {
    "pl": "Sklep kontrolny",
    "en": "Control store"
   },
   "obstacle": {
    "pl": "Wszystko zrobione porządnie: rozmiary jako opisane przyciski, zwykłe linki do produktów, dane produktu w kodzie i zakup jako gość.",
    "en": "Everything done properly: sizes as labelled buttons, plain links to products, product data in the code and guest checkout."
   },
   "fix": {
    "pl": "To punkt odniesienia dla pozostałych sklepów.",
    "en": "The baseline for every other store."
   }
  },
  {
   "id": "s02-lab-canitbuy-com",
   "code": "s02",
   "url": "https://s02.lab.canitbuy.com/",
   "name": {
    "pl": "Ściana cookies",
    "en": "Cookie wall"
   },
   "obstacle": {
    "pl": "Baner zgód zasłania całą stronę. Na pierwszym ekranie są tylko „Akceptuję wszystkie” i „Ustawienia”.",
    "en": "The consent banner covers the whole page. The first screen only offers “Accept all” and “Settings”."
   },
   "fix": {
    "pl": "Dodaj „Tylko niezbędne” na pierwszym ekranie banera i nie blokuj strony pod nim.",
    "en": "Offer “Only necessary” on the first screen and do not lock the page behind the banner."
   }
  },
  {
   "id": "s03-lab-canitbuy-com",
   "code": "s03",
   "url": "https://s03.lab.canitbuy.com/",
   "name": {
    "pl": "Pop-up z rabatem",
    "en": "Discount pop-up"
   },
   "obstacle": {
    "pl": "Po chwili na każdej stronie wyskakuje okno z kodem rabatowym. Zamyka je tylko ikona „×” bez nazwy.",
    "en": "After a moment a discount window opens on every page. Only an unnamed “×” icon closes it."
   },
   "fix": {
    "pl": "Nazwij przycisk zamykania (aria-label „Zamknij”) i nie pokazuj okna na stronie produktu ani w koszyku.",
    "en": "Name the close button (aria-label “Close”) and keep the window off product and cart pages."
   }
  },
  {
   "id": "s04-lab-canitbuy-com",
   "code": "s04",
   "url": "https://s04.lab.canitbuy.com/",
   "name": {
    "pl": "Kafelki bez linków",
    "en": "Tiles without links"
   },
   "obstacle": {
    "pl": "Produkty na listach to bloki obsługiwane JavaScriptem, a nie linki. W kodzie strony nie ma adresów produktów.",
    "en": "Products in listings are JavaScript blocks, not links. The page code has no product addresses."
   },
   "fix": {
    "pl": "Owiń każdy kafelek produktu zwykłym linkiem <a href> do strony produktu.",
    "en": "Wrap every product tile in a plain <a href> link to the product page."
   }
  },
  {
   "id": "s05-lab-canitbuy-com",
   "code": "s05",
   "url": "https://s05.lab.canitbuy.com/",
   "name": {
    "pl": "Rozmiary jako obrazki",
    "en": "Sizes as images"
   },
   "obstacle": {
    "pl": "Rozmiary to obrazki z cyfrą: bez tekstu i bez nazwy w kodzie.",
    "en": "Sizes are images of a number, with no text and no name in the code."
   },
   "fix": {
    "pl": "Dodaj każdemu rozmiarowi tekst albo aria-label, np. „Rozmiar 42”, a niedostępne oznacz atrybutem disabled.",
    "en": "Give every size text or an aria-label such as “Size 42”, and mark unavailable ones as disabled."
   }
  },
  {
   "id": "s06-lab-canitbuy-com",
   "code": "s06",
   "url": "https://s06.lab.canitbuy.com/",
   "name": {
    "pl": "Lista rozwijana z JavaScriptu",
    "en": "JavaScript dropdown"
   },
   "obstacle": {
    "pl": "Rozmiar wybiera się z ozdobnej listy zbudowanej w JavaScripcie. Prawdziwe pole wyboru jest ukryte, a pozycje listy nie są przyciskami.",
    "en": "The size is picked from a decorative JavaScript list. The real select field is hidden and the list items are not buttons."
   },
   "fix": {
    "pl": "Zostaw widoczny zwykły <select> albo nadaj liście role ARIA (listbox i option).",
    "en": "Keep a visible native <select>, or give the list ARIA roles (listbox and option)."
   }
  },
  {
   "id": "s07-lab-canitbuy-com",
   "code": "s07",
   "url": "https://s07.lab.canitbuy.com/",
   "name": {
    "pl": "Niedostępne tylko kolorem",
    "en": "Unavailable by colour only"
   },
   "obstacle": {
    "pl": "Niedostępne rozmiary są tylko wyszarzone. Ani tekst, ani kod tego nie mówią, a próba zakupu kończy się błędem.",
    "en": "Unavailable sizes are only greyed out. Neither the text nor the code says so, and trying to buy one ends in an error."
   },
   "fix": {
    "pl": "Oznacz niedostępne rozmiary atrybutem disabled i tekstem, np. „44 – brak”.",
    "en": "Mark unavailable sizes as disabled and in text, e.g. “44 – out of stock”."
   }
  },
  {
   "id": "s08-lab-canitbuy-com",
   "code": "s08",
   "url": "https://s08.lab.canitbuy.com/",
   "name": {
    "pl": "Najpierw kolor, potem rozmiar",
    "en": "Colour first, then size"
   },
   "obstacle": {
    "pl": "Rozmiary pojawiają się dopiero po wybraniu koloru. Kod strony wysłany z serwera ich nie zawiera.",
    "en": "Sizes appear only after a colour is chosen. The page code sent by the server does not contain them."
   },
   "fix": {
    "pl": "Pokaż rozmiary od razu i zaznacz domyślny kolor.",
    "en": "Show sizes straight away and preselect a default colour."
   }
  },
  {
   "id": "s09-lab-canitbuy-com",
   "code": "s09",
   "url": "https://s09.lab.canitbuy.com/",
   "name": {
    "pl": "Zgoda na regulamin w koszyku",
    "en": "Terms consent in the cart"
   },
   "obstacle": {
    "pl": "Przycisk „Przejdź do kasy” działa dopiero po zaznaczeniu zgody na regulamin w koszyku.",
    "en": "The “Proceed to checkout” button only works after ticking the terms consent in the cart."
   },
   "fix": {
    "pl": "Przenieś akceptację regulaminu do ostatniego kroku kasy, obok przycisku zamówienia.",
    "en": "Move terms acceptance to the last checkout step, next to the order button."
   }
  },
  {
   "id": "s10-lab-canitbuy-com",
   "code": "s10",
   "url": "https://s10.lab.canitbuy.com/",
   "name": {
    "pl": "Zakup tylko z kontem",
    "en": "Account required"
   },
   "obstacle": {
    "pl": "Kasa wymaga zalogowania albo założenia konta. Nie ma zakupu jako gość.",
    "en": "Checkout requires logging in or creating an account. There is no guest checkout."
   },
   "fix": {
    "pl": "Włącz zakup bez rejestracji.",
    "en": "Enable guest checkout."
   }
  },
  {
   "id": "s11-lab-canitbuy-com",
   "code": "s11",
   "url": "https://s11.lab.canitbuy.com/",
   "name": {
    "pl": "Treść tylko z JavaScriptu",
    "en": "JavaScript-only content"
   },
   "obstacle": {
    "pl": "Sklep buduje strony dopiero w przeglądarce. Kod HTML wysłany z serwera jest pusty.",
    "en": "The store builds its pages in the browser. The HTML sent by the server is empty."
   },
   "fix": {
    "pl": "Renderuj strony sklepu po stronie serwera (SSR) albo generuj je statycznie.",
    "en": "Render store pages on the server (SSR) or generate them statically."
   }
  },
  {
   "id": "s12-lab-canitbuy-com",
   "code": "s12",
   "url": "https://s12.lab.canitbuy.com/",
   "name": {
    "pl": "Bez danych produktu w kodzie",
    "en": "No product data in the code"
   },
   "obstacle": {
    "pl": "Strona wygląda normalnie, ale nie ma danych strukturalnych produktu (JSON-LD).",
    "en": "The page looks normal but has no structured product data (JSON-LD)."
   },
   "fix": {
    "pl": "Dodaj JSON-LD Product z ceną, dostępnością, wariantami, dostawą i zwrotami.",
    "en": "Add Product JSON-LD with price, availability, variants, delivery and returns."
   }
  }
 ],
 "results": [
  {
   "store": "s01-lab-canitbuy-com",
   "mode": "api",
   "model": "google/gemini-2.5-flash",
   "modelName": "Gemini 2.5 Flash",
   "at": "2026-10-20T05:58:50.584Z",
   "score": 4,
   "max": 5,
   "facts": [
    {
     "key": "price",
     "ok": true,
     "got": "549"
    },
    {
     "key": "size42",
     "ok": true,
     "got": "yes"
    },
    {
     "key": "size44",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "delivery",
     "ok": true,
     "got": "14.99"
    },
    {
     "key": "returns",
     "ok": true,
     "got": "30"
    }
   ]
  },
  {
   "store": "s01-lab-canitbuy-com",
   "mode": "read",
   "model": "google/gemini-2.5-flash",
   "modelName": "Gemini 2.5 Flash",
   "at": "2026-10-20T05:58:50.400Z",
   "score": 0,
   "max": 5,
   "facts": [
    {
     "key": "price",
     "ok": false,
     "got": "?"
    },
    {
     "key": "size42",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "size44",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "delivery",
     "ok": false,
     "got": "?"
    },
    {
     "key": "returns",
     "ok": false,
     "got": "?"
    }
   ]
  },
  {
   "store": "s01-lab-canitbuy-com",
   "mode": "voice",
   "model": "google/gemini-2.5-flash",
   "modelName": "Gemini 2.5 Flash",
   "at": "2026-10-20T05:58:50.763Z",
   "score": 0,
   "max": 5,
   "facts": [
    {
     "key": "price",
     "ok": false,
     "got": "?"
    },
    {
     "key": "size42",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "size44",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "delivery",
     "ok": false,
     "got": "?"
    },
    {
     "key": "returns",
     "ok": false,
     "got": "?"
    }
   ],
   "answer": "Przepraszam, ale nie mogę znaleźć tych informacji. Strona, którą otworzyłem, jest pusta."
  },
  {
   "store": "s01-lab-canitbuy-com",
   "mode": "agent",
   "model": "openai/gpt-4.1-mini",
   "modelName": "GPT-4.1 mini",
   "at": "2026-10-20T05:58:36.969Z",
   "reached": "home",
   "status": "stuck",
   "steps": 1,
   "report": "https://canitbuy.com/r/xynnz04xzp4u"
  },
  {
   "store": "s01-lab-canitbuy-com",
   "mode": "api",
   "model": "openai/gpt-4.1-mini",
   "modelName": "GPT-4.1 mini",
   "at": "2026-10-20T05:58:30.455Z",
   "score": 4,
   "max": 5,
   "facts": [
    {
     "key": "price",
     "ok": true,
     "got": "549"
    },
    {
     "key": "size42",
     "ok": true,
     "got": "yes"
    },
    {
     "key": "size44",
     "ok": false,
     "got": "yes"
    },
    {
     "key": "delivery",
     "ok": true,
     "got": "14.99"
    },
    {
     "key": "returns",
     "ok": true,
     "got": "30"
    }
   ]
  },
  {
   "store": "s01-lab-canitbuy-com",
   "mode": "read",
   "model": "openai/gpt-4.1-mini",
   "modelName": "GPT-4.1 mini",
   "at": "2026-10-20T05:58:30.255Z",
   "score": 0,
   "max": 5,
   "facts": [
    {
     "key": "price",
     "ok": false,
     "got": "?"
    },
    {
     "key": "size42",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "size44",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "delivery",
     "ok": false,
     "got": "?"
    },
    {
     "key": "returns",
     "ok": false,
     "got": "?"
    }
   ]
  },
  {
   "store": "s01-lab-canitbuy-com",
   "mode": "voice",
   "model": "openai/gpt-4.1-mini",
   "modelName": "GPT-4.1 mini",
   "at": "2026-10-20T05:58:30.630Z",
   "score": 0,
   "max": 5,
   "facts": [
    {
     "key": "price",
     "ok": false,
     "got": "?"
    },
    {
     "key": "size42",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "size44",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "delivery",
     "ok": false,
     "got": "?"
    },
    {
     "key": "returns",
     "ok": false,
     "got": "?"
    }
   ],
   "answer": "Nie mogę znaleźć informacji o dostępności butów Aero Run 2, ich cenie, kosztach dostawy ani czasie na zwrot na stronie sklepu."
  },
  {
   "store": "s02-lab-canitbuy-com",
   "mode": "agent",
   "model": "openai/gpt-4.1-mini",
   "modelName": "GPT-4.1 mini",
   "at": "2026-10-20T06:08:35.024Z",
   "reached": "home",
   "status": "stuck",
   "steps": 1,
   "report": "https://canitbuy.com/r/rxtxescwgbfi"
  },
  {
   "store": "s02-lab-canitbuy-com",
   "mode": "api",
   "model": "openai/gpt-4.1-mini",
   "modelName": "GPT-4.1 mini",
   "at": "2026-10-20T06:08:28.503Z",
   "score": 4,
   "max": 5,
   "facts": [
    {
     "key": "price",
     "ok": true,
     "got": "549"
    },
    {
     "key": "size42",
     "ok": true,
     "got": "yes"
    },
    {
     "key": "size44",
     "ok": false,
     "got": "yes"
    },
    {
     "key": "delivery",
     "ok": true,
     "got": "14.99"
    },
    {
     "key": "returns",
     "ok": true,
     "got": "30"
    }
   ]
  },
  {
   "store": "s02-lab-canitbuy-com",
   "mode": "read",
   "model": "openai/gpt-4.1-mini",
   "modelName": "GPT-4.1 mini",
   "at": "2026-10-20T06:08:28.317Z",
   "score": 0,
   "max": 5,
   "facts": [
    {
     "key": "price",
     "ok": false,
     "got": "?"
    },
    {
     "key": "size42",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "size44",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "delivery",
     "ok": false,
     "got": "?"
    },
    {
     "key": "returns",
     "ok": false,
     "got": "?"
    }
   ]
  },
  {
   "store": "s02-lab-canitbuy-com",
   "mode": "voice",
   "model": "openai/gpt-4.1-mini",
   "modelName": "GPT-4.1 mini",
   "at": "2026-10-20T06:08:28.707Z",
   "score": 0,
   "max": 5,
   "facts": [
    {
     "key": "price",
     "ok": false,
     "got": "?"
    },
    {
     "key": "size42",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "size44",
     "ok": false,
     "got": "unknown"
    },
    {
     "key": "delivery",
     "ok": false,
     "got": "?"
    },
    {
     "key": "returns",
     "ok": false,
     "got": "?"
    }
   ],
   "answer": "Nie mogę znaleźć informacji o dostępności, cenie, kosztach dostawy ani czasie na zwrot butów Aero Run 2."
  }
 ]
}