Trust
MEDIUMOrganization/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- Shopify admin → Online Store → Themes → Customize (active theme).
- 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.
- Preview the homepage and confirm the block appears in `view-source:`.
BigCommerce
Developer- BigCommerce admin → Storefront → Themes → Customize (active theme).
- Edit the homepage template and add an Organization JSON-LD block before `</head>`.
- Save and verify on the live homepage.
WooCommerce
Developer- WordPress admin → Appearance → Theme File Editor (or use a child-theme).
- 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.
- Preview the homepage and confirm in `view-source:`.
Custom / headless
Developer- Server-render an Organization (or OnlineStore) JSON-LD block in the homepage `<head>`.
- Include `contactPoint` with at least `email` or `telephone` and `contactType: "customer service"`.
- 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>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.
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.