A

Trust

MEDIUM

Organization/OnlineStore JSON-LD with contactPoint on homepage

Homepage JSON-LD includes an Organization or OnlineStore node with a contactPoint exposing email or telephone. Organization markup with a contactPoint tells AI agents who you are and how a shopper can reach you for support.

What this check looks for

Agents disambiguate the merchant entity from the homepage Organization (or OnlineStore subclass) node — and `contactPoint` carrying `email` or `telephone` is the canonical structured signal for customer-service reachability. We parse every `<script type="application/ld+json">` block on the homepage, flatten any `@graph`, and require at least one Organization-class node whose `contactPoint` includes a non-empty email or telephone.

Which AI surfaces it affects

  • Google AI Mode (UCP)70
  • Perplexity60
  • Microsoft Copilot60
  • ChatGPT (ACP)50
  • Meta AI40

Weighted against the live specs — ACP 2026-04-17, UCP 2026-04-08.

How to fix it

Add an Organization (or OnlineStore) JSON-LD block to your homepage with a contactPoint

Shopify

Developer
  1. Shopify admin → Online Store → Themes → Customize (active theme).
  2. In `theme.liquid`, before the closing `</head>`, paste an Organization JSON-LD block with your store's name, URL, logo, and a contactPoint email or telephone.
  3. Preview the homepage and confirm the block appears in `view-source:`.

Platform docs ↗

BigCommerce

Developer
  1. BigCommerce admin → Storefront → Themes → Customize (active theme).
  2. Edit the homepage template and add an Organization JSON-LD block before `</head>`.
  3. Save and verify on the live homepage.

Platform docs ↗

WooCommerce

Developer
  1. WordPress admin → Appearance → Theme File Editor (or use a child-theme).
  2. Add an Organization JSON-LD block to `header.php` before `wp_head();`, or use an SEO plugin (Yoast SEO Premium, Rank Math) that emits Organization schema.
  3. Preview the homepage and confirm in `view-source:`.

Platform docs ↗

Custom / headless

Developer
  1. Server-render an Organization (or OnlineStore) JSON-LD block in the homepage `<head>`.
  2. Include `contactPoint` with at least `email` or `telephone` and `contactType: "customer service"`.
  3. Re-validate with https://search.google.com/test/rich-results.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "OnlineStore",
  "name": "Example Store",
  "url": "https://example.com",
  "logo": "https://example.com/static/logo.png",
  "contactPoint": [{
    "@type": "ContactPoint",
    "contactType": "customer service",
    "email": "support@example.com",
    "telephone": "+1-555-123-4567",
    "availableLanguage": ["en"]
  }]
}
</script>

Platform docs ↗

The spec it's pinned to

  • schema.org/Organization (and OnlineStore subclass) with contactPoint

    schema.org's Organization (and the more specific OnlineStore subclass) carries a `contactPoint` property, which is a ContactPoint with `email` or `telephone`. Agents use this to disambiguate the merchant entity and surface a customer-service touchpoint.

schema.org/OnlineStore

Does your store pass this check?

Run the full audit — 82 checks across five AI shopping surfaces. Most tools only check whether you get mentioned; we check whether an agent can buy from you.

Related trust checks

← All 82 checks