Scan report ·

oatly.com

Mixed signal. Agent access holds up, but trust falls short.

Category · grocery

C
50 / 100
Mixed signal
Evaluated coverage: 100/100 applicable points
Aisle Pro · Remediation packet
Every fix this scan flagged, one card at a time: ranked by points per effort, with copy-paste snippets, per-fix downloads, and a plan your AI coding agent can execute.
Discoverability
B
15 / 20
Machine Readability
D
9 / 20
Transactability
E
1 / 20
Agent Posture
A
13 / 15
Trust Signals
E
3 / 10
Agent-Native Content
C
9 / 15

Narrative

Oatly welcomes agents at the door then locks the vault. Crawlers are allowed, product pages carry Product JSON-LD, and the content itself is unusually rich for a food brand. But there is no price anywhere in HTML, no working cart or checkout endpoint, and no returns or merchant identity surface, which collapses the transaction layer entirely.

Where the points went

ProblemPoints lostWhat an agent hits
No price in raw or rendered HTML8Cannot quote a price to the shopper or compare against alternatives
/cart and /checkout return 4046No path to construct or hand off a purchase
No Offer node inside Product schema3Product exists as an entity but has no commercial terms attached
Cart API and guest checkout absent7Agent cannot programmatically add-to-cart or complete unauthenticated
No returns page, no trust anchors, no policy7Cannot verify risk profile before recommending the merchant

The evidence

  • Price completely missing (0/8): Across all 10 sampled PDPs (fi-fi, sv-se, en-gb locales including cold-foam-barista-1l and oat-drink-baristamatic-1-5l), both rawHas and renderedHas return false. Zero price hits, zero snippets, in any market.
  • Checkout infrastructure returns 404 (0/6 + 0/4 + 0/3): cart_status: 404 and checkout_status: 404. No platform hint detected, no REST endpoints, no form posts. This is a content site pretending to be a store.
  • Product schema without Offer (3/6): All 10 URLs return hasProduct: true, hasOffer: false. Brand and SKU are structured, but price, availability, and currency are not bound to the entity.
  • No returns, no reviews, no policy (0/3 + 0/2 + 0/2): /returns unreachable and not linked from homepage. Zero detected review platforms across Trustpilot, Yotpo, Bazaarvoice, Feefo, and eight others. Terms and privacy pages produced no classifiable content.
  • Delivery and price stability blank (0/2 + 0/2): Zero structured date hits, zero validity windows, zero priceValidUntil. Nothing tells an agent when a quote expires or when goods arrive.

What already works

  • Crawler posture is exemplary (6/6): All eight tracked agents (ChatGPT-User, Claude-User, PerplexityBot, Amazonbot, others) are allowed, with a 5,077-URL sitemap declared.
  • Content depth is genuinely strong (4/4 + 2/2): 9 of 10 PDPs hit "high" on specification completeness with full ingredient lists, nutrition per 100ml, and package size, in three languages.
  • Clean posture, no dark patterns (6/6 + 4/4 + 2/2): Zero CAPTCHAs, zero 403s, zero manipulative urgency tactics.

Fix first

  1. Add Offer with price, priceCurrency, and availability to the existing Product JSON-LD (+11 points across 1.2 and 2.1).
  2. Publish a machine-readable returns policy and link it from the homepage (+3 points, plus trust halo).
  3. Expose a functioning cart or a "where to buy" retailer API so agents have any transactional path (+9 points across 3.1 to 3.5).

The biggest opportunity: Oatly has done the hard content work; binding a price and a purchase path to it would move this from "discoverable brand" to "shoppable merchant."

BDiscoverability

Robots, sitemap, agent endpoints. mostly strong.

AI crawler posture: 6/6
https://oatly.com/robots.txt
1.1 · 6/6
!
Structured product data coverage: 3/6
sample · https://oatly.com/fi-fi/products/cold-foam/cold-foam-barista-1l
How to fixPro
1.2 · 3/6
Sitemap quality: 4/4
https://oatly.com/sitemap.xml
1.3 · 4/4
!
Agent-specific endpoints: 2/4
https://oatly.com/.well-known/ai-plugin.json
How to fixPro
1.4 · 2/4

DMachine Readability

Schema coverage, raw-HTML price, inventory, variants. patchy.

×
Price in raw HTML: 0/8
sample · https://oatly.com/fi-fi/products/cold-foam/cold-foam-barista-1l
How to fixPro
2.1 · 0/8
Product attributes structured: 6/6
sample · https://oatly.com/fi-fi/products/cold-foam/cold-foam-barista-1l
2.2 · 6/6
!
Inventory signals: 2/5
sample · https://oatly.com/fi-fi/products/cold-foam/cold-foam-barista-1l
How to fixPro
2.3 · 2/5
Variant handling: 1/1
sample · https://oatly.com/fi-fi/products/cold-foam/cold-foam-barista-1l
2.5 · 1/1

ETransactability

Checkout flow, guest, transparency, payment rails, cart API. broken.

×
Checkout flow structure: 0/6
How to fixPro
3.1 · 0/6
×
Guest checkout availability: 0/4
How to fixPro
3.2 · 0/4
×
Price transparency signals: 0/4
How to fixPro
3.3 · 0/4
!
Machine-native payment rails: 1/3
How to fixPro
3.4 · 1/3
×
Cart API accessibility: 0/3
How to fixPro
3.5 · 0/3

AAgent Posture

Bot detection, CAPTCHA, rate limiting, stated agent policy. strong.

Bot detection aggressiveness: 6/6
4.1 · 6/6
CAPTCHA prevalence: 4/4
4.2 · 4/4
Rate limiting posture: 3/3
4.3 · 3/3
×
Stated agent policy: 0/2
How to fixPro
4.4 · 0/2

ETrust Signals

Return policy, merchant verifiability, price history, third-party anchors. broken.

×
Return policy machine-readable: 0/3
How to fixPro
5.1 · 0/3
!
Merchant verifiability: 1/3
How to fixPro
5.2 · 1/3
Price history signals: 2/2
5.3 · 2/2
×
Third-party trust anchors: 0/2
How to fixPro
5.4 · 0/2

CAgent-Native Content

Specs, descriptions, decision support, delivery, stability, absence of manipulation. partial.

Specification completeness: 4/4
sample · https://oatly.com/fi-fi/products/cold-foam/cold-foam-barista-1l
6.1 · 4/4
Conversational product descriptions: 2/2
sample · https://oatly.com/fi-fi/products/cold-foam/cold-foam-barista-1l
6.2 · 2/2
!
Decision-support metadata: 1/3
sample · https://oatly.com/fi-fi/products/cold-foam/cold-foam-barista-1l
How to fixPro
6.3 · 1/3
×
Delivery date transparency: 0/2
sample · https://oatly.com/fi-fi/products/cold-foam/cold-foam-barista-1l
How to fixPro
6.4 · 0/2
×
Price stability signals: 0/2
sample · https://oatly.com/fi-fi/products/cold-foam/cold-foam-barista-1l
How to fixPro
6.5 · 0/2
Absence of manipulation tactics: 2/2
6.6 · 2/2