Organization is the Schema.org type for the entity that owns the storefront1. On Shopify, Organization JSON-LD is NOT auto-emitted by most themes — it's the merchant's job to add it. Placement: site-wide, inside theme.liquid <head>, so it fires on every page exactly once. Key properties: name, url, logo, sameAs (an array of URLs to verified profiles — Wikipedia, LinkedIn, Instagram, X, Crunchbase), contactPoint, address, foundingDate, founder.
Organization is the highest-leverage schema for AI engine entity attribution. ChatGPT, Perplexity, Gemini, and Claude all use the sameAs array to confirm that the domain they're citing is the same entity as the LinkedIn / Wikipedia / Crunchbase profile they already know about. Without Organization JSON-LD, AI engines have to infer the entity from prose — which they do, but worse, and with lower confidence in attribution.
§01Definition
What Organization schema is
Per Schema.org v30.0, Organization is 'an organization such as a school, NGO, corporation, club, etc.' Inheritance: Thing > Organization. The type is broad — businesses, charities, government agencies, sports teams, religious organizations are all Organization or one of its subtypes (Corporation, LocalBusiness, OnlineBusiness, NewsMediaOrganization). For a typical Shopify storefront, the bare Organization type is the right choice unless the business fits a more specific subtype (LocalBusiness for a physical retail location).
Mental model: Organization declares "this domain is owned by this entity, here's how to verify it." The verification path is the sameAs array — URLs to profiles whose existence AI engines and search engines can independently confirm. The more authoritative the verification path, the more weight the entity carries in citation decisions.
§02Placement
Placement in theme.liquid
Organization JSON-LD belongs in theme.liquid because it describes the entity, not the page. The entity is the same on the homepage, the contact page, every product page, every blog post, the checkout. Therefore the script tag goes inside theme.liquid <head>, alongside the other site-wide head elements (canonical, robots, theme styles). It fires once per page, on every page.
§03Fields
Organization fields
Per Schema.org and Google's Organization documentation, the fields most-used on Shopify Organization JSON-LD are: name (Text — usually shop.name), url (URL — shop.url with trailing slash), logo (ImageObject or URL — minimum 112px wide, square aspect ratio), sameAs (URL array — the brand's verified profiles), contactPoint (ContactPoint object), address (PostalAddress), telephone, email, foundingDate (Date), founder (Person), areaServed, knowsAbout (Text/Thing/URL array).
name — required by Google. Usually {{ shop.name | escape }}.
url — required. {{ shop.url }}/ with trailing slash.
logo — recommended. ImageObject with url, width, height. Minimum 112px wide per Google; 600px+ recommended. Source: {{ shop.brand.logo | image_url: width: 600 }} when populated.
sameAs — recommended (high leverage). Array of URLs. See the dedicated section below.
address — recommended for LocalBusiness sub-types. PostalAddress with streetAddress, addressLocality, addressRegion, postalCode, addressCountry.
foundingDate — optional but high-leverage for AI engine attribution. The date the business was founded (YYYY-MM-DD or YYYY).
founder — optional. Person object with name and url to a /founder/ E-E-A-T page on the site.
§04sameAs
sameAs and entity attribution
The sameAs property is an array of URLs to verified profiles of the same entity. Google's Organization documentation explicitly names sameAs as one of the two most important Organization properties (alongside logo). For Shopify stores in 2026, the highest-leverage sameAs targets are: Wikipedia and Wikidata (if listed), LinkedIn company page, Instagram, X, Facebook, YouTube, Crunchbase, Trustpilot business profile, BBB (US), Companies House (UK), Handelsregister (DE). Order does not matter; presence does.
Why sameAs matters specifically for AI shopping: ChatGPT, Perplexity, Claude, and Gemini all maintain entity graphs that include the entity's known profile URLs. When the AI engine fetches a Shopify storefront and finds Organization JSON-LD with sameAs pointing to the LinkedIn page it already knows, the engine confirms "this domain is that brand." Without sameAs, the engine has to guess — and guesses less often resolve to confident citation.
§05Example
JSON-LD example — Organization in theme.liquid
The block below is the full Organization JSON-LD that belongs in theme.liquid <head>. Hard-code the sameAs URLs to the brand's real verified profiles; use Liquid for fields Shopify exposes (shop.name, shop.url, shop.brand.logo, shop.address).
JSON-LDOrganization in theme.liquid — fires once per page
Rich Results Test against the homepage with Organization in theme.liquid should report Organization detected, zero errors. Common warnings: 'Logo image dimensions not specified' (clears when you add width and height integers), 'Missing field sameAs' (informational — sameAs is recommended, not required). For Knowledge Panel eligibility, the Rich Results Test is not the deciding factor; that's a separate Google Search Console process.
A subtle Shopify gotcha: shop.brand.logo returns null on stores that haven't populated Settings > Brand. The Liquid | image_url filter then errors. Wrap the logo block in {% if shop.brand.logo %} or use a hard-coded URL to a stable logo asset uploaded to the store's Files section.
§07Gotchas
Shopify gotchas on Organization
Four gotchas. First: putting Organization in main-product.liquid instead of theme.liquid — Organization fires per page, not per template, so it belongs site-wide. Second: leaving sameAs as an empty array (Google's parser treats this as 'no profiles' and entity confidence drops). Third: forgetting | escape on shop.name and shop.address fields, breaking JSON when names contain apostrophes. Fourth: emitting Organization on a Shopify development store with a myshopify.com URL instead of the production domain — fix the shop.url filter or move the schema to a conditional that only fires on the production host.
A fifth gotcha: if your store uses a LocalBusiness subtype (a physical retail Shopify store with foot traffic), use "@type": "LocalBusiness" instead of "Organization". LocalBusiness inherits all Organization fields and adds openingHoursSpecification, geo (latitude/longitude), priceRange — the right type for a brick-and-mortar Shopify-powered retailer.