hiringOrganization
hiringOrganization · Required
Appears in
What is it?
The organization offering the job position. This is a nested object that identifies the employer by name, website, and optionally a logo. Google requires the parent company name here, not a specific branch or franchise location.
Why this matters for AEO
When a candidate asks an AI assistant "Is Stripe hiring engineers?" the engine matches hiringOrganization.name against the query. Without this field, the AI has no structured way to connect a job listing to a specific employer. Recruiters and staffing agencies should note: Google expects the actual employer name, not the agency name. AI engines use hiringOrganization alongside sameAs to disambiguate between companies with similar names.
What the specs say
Schema.org:Organization or Person. Organization or Person offering the job position. schema.org/hiringOrganization
Google: Required. "The organization offering the job position. This must be the name of the company (for example, 'Starbucks, Inc'), and not the specific location that is hiring." Google Search Central
How to find your value
- Company legal name — Your incorporation documents or business registration
- Brand name — The name candidates would recognize (may differ from legal name)
- Company website — The canonical URL for the organization's homepage
- Logo — A hosted image URL for the company logo (PNG or SVG, min 112x112px)
For staffing agencies posting on behalf of a client: use the end employer's name in hiringOrganization, not the agency name. If the client company must remain confidential, Google's guidelines allow you to set hiringOrganization to the agency but this reduces candidate trust and click through rates.
Format and code
Type: Organization (nested object)
Minimum viable:
{
"hiringOrganization": {
"@type": "Organization",
"name": "Stripe"
}
}
Recommended (with sameAs and logo):
{
"hiringOrganization": {
"@type": "Organization",
"name": "Stripe",
"sameAs": "https://stripe.com",
"logo": "https://stripe.com/img/v3/home/social.png"
}
}
The sameAs property links to the company's official website, helping Google verify the organization's identity. The logo property provides the image displayed alongside the listing in Google job search results.
Invalid patterns:
"hiringOrganization": "Stripe"
A plain string fails validation. hiringOrganization must be an object with @type and name.
"hiringOrganization": {
"@type": "Organization",
"name": "Stripe San Francisco Office"
}
Google explicitly prohibits location specific names. Use the parent company name.
Webflow implementation
Static pages
Add the organization object in your JSON-LD script in Page Settings > Custom Code:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Product Designer",
"hiringOrganization": {
"@type": "Organization",
"name": "Figma",
"sameAs": "https://www.figma.com",
"logo": "https://www.figma.com/favicon-192.png"
}
}
</script>
CMS template pages
If all jobs belong to the same company, hardcode the organization object. For job boards with multiple employers, use CMS fields:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "JobPosting",
"hiringOrganization": {
"@type": "Organization",
"name": "{{wf {"path":"company-name","type":"PlainText"} }}",
"sameAs": "{{wf {"path":"company-url","type":"PlainText"} }}",
"logo": "{{wf {"path":"company-logo","type":"ImageRef"} }}"
}
}
</script>
Create three CMS fields: "Company Name" (plain text), "Company URL" (plain text or link), and "Company Logo" (image).
In Schema HQ
The hiringOrganization field pulls the organization data from your Webflow site settings or CMS fields and nests it correctly inside the JobPosting object. The sameAs URL and logo are included automatically when available. For multi employer job boards, Schema HQ maps each CMS item's company fields into separate hiringOrganization objects.
Real examples
Google documentation (Google Search Central):
{
"hiringOrganization": {
"@type": "Organization",
"name": "Google",
"sameAs": "https://www.google.com",
"logo": "https://www.example.com/images/logo.png"
}
}
Tustin Recruiting (tustinrecruiting.com):
{
"hiringOrganization": {
"@type": "Organization",
"name": "Tustin Recruiting",
"sameAs": "https://www.tustinrecruiting.com",
"logo": "https://www.tustinrecruiting.com/logo.png"
}
}
A ZipRecruiter case study published by Google Search Central reported a 4.5x higher conversion rate after implementing JobPosting structured data with complete hiringOrganization fields.
Related fields
- name: the organization's name property within the nested object
- sameAs: canonical URL linking to the employer's website
- logo: the company logo displayed in job search results
- jobLocation: where the hired person will work
- title: the position this organization is hiring for
- industry — the industry associated with the job or organization
FAQ
Should staffing agencies use their own name or the client's name?
Google's documentation states that hiringOrganization should be the company offering the position. For staffing agencies, this ideally means the end employer. If the employer must stay confidential, use the agency name, but expect lower engagement since candidates prefer knowing the actual employer.
Is the logo property required inside hiringOrganization?
No. Only name is required within the nested Organization object. However, including logo and sameAs significantly improves how the listing appears in Google job search results. Listings with logos receive higher click through rates.
Can hiringOrganization be a Person instead of an Organization?
Schema.org allows Person as a valid type, but Google's JobPosting documentation only references Organization. For Google job search compatibility, always use Organization. The Person type is technically valid per the spec but will not produce rich results in Google.