Resources / Structured data / Template
Organization JSON-LD Template
Describe an organization's public identity, with an OnlineStore variation for merchant policies, shipping, and membership programs.
What this describes
Use Organization for the company, nonprofit, institution, or other formal group behind a site. Publish one stable entity definition on the home page or a clear About page, then refer to its @id from WebSite, Article, Person, and other markup.
Choose a more specific subtype, such as OnlineStore, when it accurately describes the organization. Use the separate LocalBusiness template for a particular physical business or branch.
Choose the smallest applicable markup
Start by confirming the public name, canonical URL, and identity facts against the home or About page. Use the base Organization template when those are the facts you need to describe. Choose OnlineStore only for a merchant, and use LocalBusiness for a particular physical business or branch. Add shipping, returns, membership, contact, or official identifiers only after the base identity is correct and the site maintains the corresponding public information.
Do not hold back a correct base entity definition while assembling optional merchant fields. Conversely, do not add a subtype or property merely because an answer or search feature is absent; first identify the factual gap or consumer requirement it would address.
Copyable template
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://www.example.com/#organization",
"name": "Example Organization",
"url": "https://www.example.com/",
"logo": "https://www.example.com/images/logo.png",
"description": "A concise description that matches the public website.",
"sameAs": [
"https://www.linkedin.com/company/example-organization/",
"https://www.youtube.com/@example-organization"
]
}
Customize it
- Replace every example value, including the domain inside
@id. - Keep the
@idstable. It identifies the entity; it does not need to be a visible page fragment. - Use the preferred public name. Add
legalNameonly when the registered name is relevant and supported. - Use a crawlable, representative logo URL. Remove
logoif no suitable public asset exists. - Remove
sameAsentries that are not exact identity matches. A directory mention or related partner is not automatically the same entity. - Add contact, address, or official identifier properties only when they are public, relevant, and maintained.
Merchant variation: OnlineStore
For an ecommerce business, Google recommends the most specific accurate subtype, such as OnlineStore. Its Organization documentation also recognizes merchant-level shipping, return-policy, and membership-program properties. Use only the sections your business actually offers, and keep each value consistent with the policy pages customers see.
{
"@context": "https://schema.org",
"@type": "OnlineStore",
"@id": "https://www.example.com/#organization",
"name": "Example Store",
"url": "https://www.example.com/",
"logo": "https://www.example.com/images/logo.png",
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer service",
"email": "support@example.com",
"url": "https://www.example.com/contact/"
},
"hasShippingService": {
"@type": "ShippingService",
"@id": "https://www.example.com/#standard-shipping",
"name": "Standard US shipping",
"fulfillmentType": "FulfillmentTypeDelivery",
"shippingConditions": {
"@type": "ShippingConditions",
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US"
},
"shippingRate": {
"@type": "MonetaryAmount",
"value": 0,
"currency": "USD"
}
}
},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"@id": "https://www.example.com/#return-policy",
"applicableCountry": "US",
"returnPolicyCountry": "US",
"merchantReturnLink": "https://www.example.com/returns/",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": [
"https://schema.org/ReturnByMail",
"https://schema.org/ReturnInStore"
],
"returnFees": "https://schema.org/FreeReturn"
},
"hasMemberProgram": {
"@type": "MemberProgram",
"@id": "https://www.example.com/#member-program",
"name": "Example Rewards",
"description": "Members earn one point for every US dollar spent.",
"url": "https://www.example.com/rewards/",
"hasTiers": {
"@type": "MemberProgramTier",
"@id": "https://www.example.com/#member-tier",
"name": "Member",
"hasTierBenefit": "https://schema.org/TierBenefitLoyaltyPoints",
"membershipPointsEarned": 1
}
}
}
Replace the example country, currency, prices, return window, methods, and membership terms. Add separate ShippingConditions entries when rates or destinations differ. Add vatID, taxID, or iso6523Code only when the identifier is authoritative, public, and appropriate for the organization.
Google can also receive shipping and return settings through Merchant Center or Search Console. Keep the sources aligned; do not use JSON-LD to advertise terms that the site or merchant account contradicts.
Validate it
Use the live-page JSON-LD validation tutorial after deployment. Test the rendered page with Schema.org Validator, use Google’s Rich Results Test only when a supported Google feature is relevant, and compare every value with the visible page and maintained first-party records. Valid syntax does not prove that the facts are correct or that a search feature will appear.
Official references
- Google Search Central: Organization structured data
- Google Search Central: Merchant return policy structured data
- Google Search Central: Merchant shipping policy structured data
- Google Search Central: Loyalty program structured data
- Schema.org: Organization
Completion check
- Confirm every fact against the visible home or About page.
- Include only sameAs URLs that identify the same organization.
- Match merchant shipping, return, and membership details to the policies customers can read and use.
- Test the rendered markup and keep the entity identifier stable.