Cartiq store report

sunbum.com

Agent readiness overview

Store readiness score

78/ 100
Grade BMostly ready

Questions answerable

3 of 6 answerable

Enough answered to establish a reliable score.

Top issue

Shipping details are not in your structured data

−4 pts at risk

Category breakdown

A color-coded view of every scoring area.

  • AStructured product data
    22/25
  • BCatalog & feed availability
    15/15
  • CAgent access policy
    17/20
  • DCommerce signals
    7/15
  • EProtocol & checkout readiness
    6/10
  • FNon-JS accessibility
    10/10
  • GIdentity & trust
    1/5

Product checks were read from https://www.sunbum.com/products/original-spf-70-sunscreen-lotion, found in your product sitemap.

What to fix first

All findings, grouped by priority.

High

4
  • HighShipping details are not in your structured dataD1−4 ptsView fix

    Shoppers increasingly ask assistants what delivery will cost before they click, and a store that cannot answer is filtered out at that moment.

    No shipping policy in structured data, at offer or organization level

    How to fix

    0. Replace every YOUR_ value before publishing — the snippet parses as-is, but the values are not yours. 1. Publish it once for the whole store, not per product. Add hasShippingService to your Organization block — on Shopify that is one snippet in theme.liquid, and every product page inherits it. 2. State the rate and the regions you ship to. YOUR_SHIPPING_RATE is a number as a string — "0" for free shipping. YOUR_COUNTRY is a two-letter code such as GB or DE. 3. Include delivery time where you can — assistants use it to answer "will it arrive by Friday". Handling time is how long before you dispatch; transit time is how long the carrier takes. 4. Only add shippingDetails to an individual offer where that product genuinely differs — oversized items, or a region you do not ship it to. Either placement earns these points.

    ›Show code
    "@type": "Organization",
    "name": "YOUR_STORE_NAME",
    "hasShippingService": {
      "@type": "ShippingService",
      "shippingConditions": {
        "@type": "ShippingConditions",
        "shippingRate": { "@type": "MonetaryAmount", "value": "YOUR_SHIPPING_RATE", "currency": "USD" },
        "shippingDestination": { "@type": "DefinedRegion", "addressCountry": "YOUR_COUNTRY" },
        "transitTime": { "@type": "QuantitativeValue", "minValue": "YOUR_TRANSIT_DAYS_MIN", "maxValue": "YOUR_TRANSIT_DAYS_MAX", "unitCode": "DAY" },
        "handlingTime": { "@type": "QuantitativeValue", "minValue": "YOUR_HANDLING_DAYS_MIN", "maxValue": "YOUR_HANDLING_DAYS_MAX", "unitCode": "DAY" }
      }
    }
  • HighReturn policy is not in your structured dataD2−4 ptsView fix

    Return terms are one of the last things a shopper checks before buying, and an assistant that cannot quote yours will recommend a competitor whose terms it can.

    No return policy in structured data, at offer, product or organization level

    How to fix

    0. Replace every YOUR_ value before publishing — the snippet parses as-is, but the values are not yours. 1. Publish it once for the whole store, not per product. Add hasMerchantReturnPolicy to your Organization block — on Shopify that is one snippet in theme.liquid, and every product page inherits it. Adding it to each offer also earns these points, but it is more work and drifts out of date. 2. Set YOUR_RETURN_DAYS to your real window and YOUR_RETURN_FEES to one of https://schema.org/FreeReturn, https://schema.org/ReturnShippingFees or https://schema.org/RestockingFees. If you do not accept returns, use returnPolicyCategory https://schema.org/MerchantReturnNotPermitted and drop the days field. 3. Make it match your published policy page exactly — a mismatch is worse than no markup, because an assistant will quote the markup. 4. Add it to an individual offer only where that product genuinely differs — final sale items, or a shorter window.

    ›Show code
    "@type": "Organization",
    "name": "YOUR_STORE_NAME",
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "YOUR_COUNTRY",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "merchantReturnDays": "YOUR_RETURN_DAYS",
      "returnMethod": "https://schema.org/ReturnByMail",
      "returnFees": "YOUR_RETURN_FEES"
    }
  • HighNo agentic commerce protocol support detectedE1−4 ptsView fix

    Agents that can complete a purchase without handing the shopper back to your checkout convert far better, and right now yours cannot be bought from that way.

    No ACP, UCP, MPP or x402 markers found

    How to fix

    1. Review the emerging agentic commerce protocols — ACP, UCP, MPP and x402 — and pick the one your platform supports. 2. Advertise support with a meta tag or response header so agents can detect it without guessing. 3. This is early; being among the first stores to support it is the point, and most of your competitors have not.

    ›Show code
    <meta name="agentic-commerce" content="acp-version=1" />
  • HighAI shopping agents are blocked or not explicitly welcomedC2−3 ptsView fix

    Every agent you block is an entire storefront that cannot see you at all, and agents you have not explicitly welcomed may crawl you less often than competitors who have.

    12 of 12 agents allowed, 0 explicitly welcomed

    How to fix

    1. Remove any Disallow rule that applies to the shopping agents listed in your report. 2. Add an explicit Allow group for each agent you want to reach your catalogue — being explicit is worth more than staying silent. 3. Keep blocking genuinely unwanted crawlers; this is about the agents that bring shoppers, not about opening your site to everything. 4. Re-check after any WAF or CDN change, since those often inject their own rules.

    ›Show code
    User-agent: GPTBot
    Allow: /
    
    User-agent: OAI-SearchBot
    Allow: /
    
    User-agent: ChatGPT-User
    Allow: /
    
    User-agent: ClaudeBot
    Allow: /
    
    User-agent: Claude-User
    Allow: /
    
    User-agent: PerplexityBot
    Allow: /
    
    User-agent: Perplexity-User
    Allow: /
    
    User-agent: Google-Extended
    Allow: /
    
    User-agent: Applebot-Extended
    Allow: /
    
    User-agent: Amazonbot
    Allow: /
    
    User-agent: meta-externalagent
    Allow: /
    
    User-agent: Bytespider
    Allow: /

Medium

2
  • MediumProduct description is missing or too shortA7−2 ptsView fix

    Assistants read the description to decide whether your product matches what the shopper actually asked for, and a thin one loses those matches to competitors.

    Description is 42 characters

    How to fix

    1. Add a description field of at least a couple of sentences — 50 characters is the floor, not the target. 2. Describe material, fit, use case and what makes it different, in plain language. 3. Do not paste keyword lists; assistants read this as prose and keyword stuffing reads as low quality.

    ›Show code
    "description": "A breathable everyday running shoe made from responsibly sourced merino wool, built for comfort over long distances. Machine washable, available in four colourways."
  • MediumNo Organization markup for your brandG1−2 ptsView fix

    Assistants have nothing authoritative to cite about who you are, so they describe your brand from whatever they can piece together elsewhere.

    No Organization JSON-LD

    How to fix

    1. Add an Organization JSON-LD block to your homepage. 2. Include name and a logo URL at minimum; add contactPoint and sameAs links to your social profiles where you have them. 3. Use an absolute HTTPS URL for the logo.

    ›Show code
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "name": "Your Brand",
      "url": "https://yourdomain.com",
      "logo": "https://cdn.example.com/logo.png",
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer service",
        "email": "support@yourdomain.com"
      }
    }
    </script>

Low

3
  • LowNo ratings or reviews in your structured dataA8−1 ptsView fix

    Assistants routinely rank results by rating, and a product with none is usually ordered below competitors that have one.

    How to fix

    0. Replace every YOUR_ value before publishing — the snippet parses as-is, but the values are not yours. 1. Add aggregateRating with your real average score and review count. 2. Add individual review entries where you have them. 3. Only publish ratings you actually collected — fabricated review markup is a policy violation with every major platform. 4. Most review apps (Shopify: Judge.me, Okendo, Loox; WooCommerce: built-in reviews) emit this automatically once enabled.

    ›Show code
    "aggregateRating": {
      "@type": "AggregateRating",
      "ratingValue": "YOUR_RATING_VALUE",
      "reviewCount": "YOUR_REVIEW_COUNT"
    }
  • LowNo contact information is discoverableG3−1 ptsView fix

    A shopper asking an assistant how to reach you gets nothing, which reads as an untrustworthy store and costs you the sale.

    mailto: false, tel: false, contact page: false

    How to fix

    1. Publish a contact page and link it from your homepage footer. 2. Include a real email address as a mailto: link, and a phone number as a tel: link if you have one. 3. Add contactPoint to your Organization markup so it is machine-readable as well.

    ›Show code
    <a href="mailto:support@yourdomain.com">support@yourdomain.com</a>
    <a href="tel:+15550100">+1 555 0100</a>
  • LowYour brand name is inconsistent across the pageG4−1 ptsView fix

    When your Organization name, og:site_name and page title disagree, assistants cannot confidently decide what your brand is actually called.

    Organization.name=none, og:site_name=none

    How to fix

    1. Pick one canonical spelling of your brand name, including capitalisation and any suffix such as Ltd or Co. 2. Use it identically in Organization.name, og:site_name and the title tag. 3. Check your theme settings and SEO plugin separately — they often store the name in two different places.

    ›Show code
    <title>Merino Runner — Your Brand</title>
    <meta property="og:site_name" content="Your Brand" />
    <!-- Organization JSON-LD -->
    "name": "Your Brand"

Report at a glance

What this means for sunbum.com

high confidence

This score reflects how much useful store information Cartiq could read from public pages. The fastest path to a stronger recommendation is to fix the highest-priority gaps below, not to chase a mystery number.

Evidence captured 2026-10-05 19:07 UTC · scan version 10 · public pages only.

Share this assessment

Download a polished image of this exact scan for X, LinkedIn, or Facebook.

A 1200 × 675 PNG using this scan’s current results.

Download the complete assessment

This report is generated from the exact sunbum.com scan shown on this page — including every stored finding, recommendation, category result, and scan date.

Complete category breakdown, findings, and store-specific fixes.

Scan your own store

Free, no account, about twenty seconds.

Where this score comes from

  • 20From your platformShopify provides these
  • 58From your storethis is what you control
  • +21Available to youwithout changing platform

The fixes below include customer reviews, which this total leaves out. We cannot tell from outside whether those apply to your product, so we do not promise points we are not certain you can win. Fixing them still raises your score.

Your score is 78 out of 100. Points from your platform are real — an agent genuinely reads those stores more easily — but you did not have to do anything to earn them, and you cannot lose them without moving. The fixes below are the ones that are yours.

Can an AI answer this?

3 of 6 answerable

  • A2How much does it cost?Answerable
  • A3Is it in stock?Answerable
  • D1What does shipping cost?Missing
  • D2Can I return it?Missing
  • A8What do other buyers think?Missing
  • A9Which size or colour?Answerable

This is whether the data needed to answer exists on your product page in a machine-readable form. We do not test ChatGPT, Perplexity or any other assistant, so it does not say how one of them would actually answer.

Verify a fix

Fix an issue on your store, then run a new scan to compare the two real scan results. Rescans are limited to once per store per hour.

Compare with another store

Scanned 2026-10-05 19:07 UTC · scan version 10 · confidence high · TTFB 756ms (not scored)

Scored from public data only. Cartiq has no affiliation with sunbum.com. How we score