a step-by-step practitioner's guide · 11/29/2017 · • ask questions using the chat...
TRANSCRIPT
Google for Jobs: A Step-by-Step Practitioner's Guide
@appcast_io | @KRTweet | #GoogleForJobs
#GoogleForJobs
Webinar Logistics
11/29/2017 2
#GoogleForJobs@appcast_io@KRTweet
GoToWebinar• Attendee phones will be muted • Webinar will be recorded (link to be sent)• Ask questions using the Chat feature
Live Tweeting• Tweet us your questions / comments
#GoogleForJobs
Introductions
Product leadership roles at PeopleAhead & Monster prior to Appcast
Purchased, built and optimized many billions of job ads.
Chair, TAtech Traffic Quality working group
Ryan ChristoiManaging Partner
Tom ChevalierVP, Product
18 years in digital recruitment advertising at KRT working with Fortune 1000 global clients
Has helped his clients hire more than two million people
Advisory Board of TAtech & ATAP
8+ years at CH2M
Creator of world-class candidate experiences to attract the best engineering professionals
Google Analytics Certified
John CottonRecruitment Technology & User Experience Strategist
#GoogleForJobs
What we’ll cover
11/29/2017 4
Why this is a BIG deal Notable features Who’s doing it How to do it Key takeaways
#GoogleForJobs
Google SearchJob Seekers
Many job seekers start their search on
Google.com
HireEmployers
For G Suite customers
Cloud Job DiscoveryTalent Industry
Job search engine sitesJob aggregators
Job boardsClassifiedsCareer sites
Staffing agenciesApplicant tracking systems
Job distributionUGC: Social media/.communities
We’re here today to talk about Google for Jobs
Why this is a BIG deal
#GoogleForJobs
SOURCE: Smart Insights – Search Engine Statistics (April 2017)
GLOBAL SEARCH ENGINE MARKET THAT BELONGS TO GOOGLE
>77%
#GoogleForJobs
ONLINE JOB SEARCH THAT START AT GOOGLE
>73%SOURCE: CareerBuilder Candidate Behavior Research (2015)
#GoogleForJobs
“The challenge of connecting job seekers to better information on job availability is like many search
challenges we’ve solved in the past.”
Sundar Pichai, Google CEO
#GoogleForJobs
#GoogleForJobs
Early days, but results are promising…
6.6 % 22.4 %
Click-to-Apply Rate Average
All Job Publishers
Click-to-Apply Rate AverageGoogle
Let’s dig in…
#GoogleForJobs
The Candidate Experience Customer
#GoogleForJobs
Candidate ExperienceDirect vs. 3rd Party
#GoogleForJobs
Direct ExperienceClick Path
ch2mcareers.com ch2mcareers.com
#GoogleForJobs
3rd Party ExperienceClick Path
energyjobline.com
#GoogleForJobs
Candidate ExperienceDirect vs. 3rd Party
DIR
ECT
3RD
PA
RTY
#GoogleForJobs
APPLICATION METHOD
#GoogleForJobs
SOURCE: https://www.blog.google/products/search/new-tools-make-your-job-search-simpler/
Bookmark to Apply Later
Preferred Apply Method
Candidate Features
#GoogleForJobs
EMAIL ALERTS
#GoogleForJobs
Email AlertsGet your jobs in Candidates’ GMAIL
#GoogleForJobs
Email AlertsGet your jobs in Candidates’ GMAIL
#GoogleForJobs
#GoogleForJobs
Street-level AddressReal-Time Commute Info
#GoogleForJobs
Street-level AddressReal-Time Commute Info
#GoogleForJobs
EMPLOYER REVIEWS
#GoogleForJobs
Employer ReviewsAggregation of employer reviews
#GoogleForJobs
Employer ReviewsEnsure you’re managing your company’s brand on key sites
#GoogleForJobs
SALARY INFORMATION
#GoogleForJobs
Salary Information Indeed
#GoogleForJobs
Salary Information Glassdoor
#GoogleForJobs
Salary Information LinkedIn
#GoogleForJobs
Salary Information Google for Jobs
#GoogleForJobs
Salary Information Google for Jobs
#GoogleForJobs
Salary Information KRT Blog
http://www.krtmarketing.com/blog/salary-transparency-job-postings/
Who’s doing it
#GoogleForJobs
How do I get my jobs found by Google?
Direct integration with GoogleIf your organization has a website, your job postings are published on that website, and you are able to edit the HTML of the job postings, you can use job posting structured data markup to directly integrate with Google.
Using a third party job site.Any organization can ensure its job postings are indexed by Google by posting those jobs via a third party job site that has integrated with Google.
There are two ways:
1.
2.
#GoogleForJobs
3RD Party Job Site PartnersSample List
Partner List• Facebook• LinkedIn• Careerbuilder• Glassdoor• ZipRecruiter• Snagajob• Monster• Jibe• JazzHR• iCIMS• Direct Employers• America’s Job Exchange• Madgex• WayUp• myCNAjobs• Higher Education
Recruitment Consortium• Jora• Jobing.com• Local Job Network• Care.com• Jobs.net• Recruiting.com
SOURCE: https://support.google.com/webmasters/answer/7388807?hl=en NOTE: List is not exhaustive and is subject to change at any time.
#GoogleForJobs
AS OF OCTOBER 15, 2017
FORTUNE 500 WITH JOBS INDEXED
JOBS DIRECTLY
37%SOURCE: KRT Marketing Research
#GoogleForJobs
Get the ListWe’ll send it to you.
As of October 15, 2017
187 out of 500F500 companies
How to do it
#GoogleForJobs
Getting StartedCheck with your ATS or careers site vendor to see if they have a plan/roadmap
#GoogleForJobs
Getting StartedA Few Things to Know
Your career pages likely need to be dynamic – not staticTalk to your web development team or careers site vendor
You’ll need access to requisition dataEither directly from your ATS or during job scraping
#GoogleForJobs
Getting StartedA Few Things to Know
Required DataCompany or organization nameCompany URLJob TitleJob DescriptionPosting DateLocation Information
Full address of the jobCity, State, Country and Postal/Zip CodeRegion
Optional DataUnique identifier (usually requisition number)Type of employment (Full Time, Part Time, etc.)Expiration date of the jobSalary information (lump sum or range)
Currency type (USD, Euro, etc.)Amount or min/max for rangeFrequency (hourly, monthly, annually)
You likely will need to map certain data from your ATS format into Google’s/Schema.org’s format
*Extra credit items
#GoogleForJobs
STEP 1: Ensure your jobs are indexable If Google can’t find them, you’re never getting into Google for Jobs
>ATSYour job pages on your ATS likely aren’t indexable and even if they are, they probably aren’t optimized
https://www.google.com/webmasters/tools/robots-testing-tool
#GoogleForJobs
STEP 2: Create your structured markup Three methods
JSON-LD Microdata RDFaJavaScript notation embedded in a <script> tag in the page head or body. The markup is not interleaved with the user-visible text, which makes nested data items easier to express, such as the Country of a PostalAddress of a MusicVenue of an Event.
An open-community HTML specification used to nest structured data within HTML content. Like RDFa, it uses HTML tag attributes to name the properties you want to expose as structured data. It is typically used in the page body, but can be used in the head.
An HTML5 extension that supports linked data by introducing HTML tag attributes that correspond to the user-visible content that you want to describe for search engines. RDFa is commonly used in both the head and body sections of the HTML page.
Google recommends using JSON-LD for structured data whenever possible.
#GoogleForJobs
CAUTION!
CODEAHEAD
#GoogleForJobs
STEP 2: Create your structured markup
<script type="application/ld+json"> { "@context" : "http://schema.org/", "@type" : "JobPosting", "title" : "Product Tester – Los Cruces, NM", "description" : "<p>ACME is seeking a professional product tester to validate/test our products in …If this sounds like you, then ACME has just the role for you! Apply today!</p>", "datePosted" : "2017-08-24",
JSON+LD Example<script type="application/ld+json"> { "@context" : "http://schema.org/", "@type" : "JobPosting", "title" : "[JOBTITLE]", "description" : "[JOBDESCRIPTION]", "datePosted" : "[POSTINGDATE]",
Required Data[JOBTITLE] – The title of the job. Avoid special characters that can be ‘spammy’
[JOBDESCRIPTION] – The full representation of the job including responsibilities, qualifications, working hours, education requirements and experience requirements. HTML formatted using <br/>,<p> or \n for line breaks.
[POSTINGDATE] – The original date the job was posted in ISO 8601 format.For example, "2017-01-24" or "2017-01-24T19:33:17+00:00".
#GoogleForJobs
STEP 2: Create your structured markup
"hiringOrganization" : { "@type" : "Organization", "name" : "ACME", "url" : "https://acme.com/", "sameAs" : ["https://www.acme.com/","https://www.facebook.com/LooneyTunes/", "https://twitter.com/wblooneytunes"], "logo" : "https://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwi5rZSh0fLVAhXlrVQKHUu4CXYQjRwIBw&url=http%3A%2F%2Flooneytunes.wikia.com%2Fwiki%2FACME&psig=AFQjCNGmCPlN5Ozmw4fHMWMm1J6NlZkxwQ&ust=1503759079651588" },
JSON+LD Example"hiringOrganization" : { "@type" : "Organization", "name" : "[COMPANY/ORGANIZATION NAME]", "url" : "[COMPANYURL]", "sameAs" : ["[ALTERNATE URL1]","[ALTERNATE URL2]", "[ALTERNATE URL3]",etc..], "logo" : "[COMPANYLOGO]" },
Required Data[COMPANY/ORGANIZATIONNAME] – The name of the organization posting the job
[COMPANY URL] – The URL of the job posting
[COMPANYLOGO] – URL to a logo image for the company
[ALTERNATE URL1]… –(optional) SameAs urls for example the corporate website, facebook, linkedin, etc. in a comma-delimited array
#GoogleForJobs
STEP 2: Create your structured markup
"jobLocation" : { "@type" : "Place", "address" : { "@type" : "PostalAddress","streetAddress" : "Wsmr P Rt 1m ","addressLocality" : "White Sands Missile Range","addressRegion" : "NM","postalCode" : "88002","addressCountry": "US" } },
JSON+LD Example"jobLocation" : { "@type" : "Place", "address" : { "@type" : "PostalAddress","streetAddress" : "[STREETADDRESS]","addressLocality" : "[JOBCITY]", "addressRegion" : "[STATEPROVINCE]","postalCode" : "[JOBPOSTALCODE]","addressCountry": "[JOBCOUNTRY]”} },
Required Data[STREETADDRESS] –Physical address of the job
[JOBCITY] – City of the job location
[STATE/PROVINCE] –State/Province in two-digit ISO format (i.e. CO, CA, UT)If international, use Country full name
[JOBPOSTALCODE] –Postal/zip code of the job address
[JOBCOUNTRY] – two-digit ISO code of the country (US,GB,PL, etc.)
#GoogleForJobs
STEP 2: Create your structured markup
"identifier": { "@type": "PropertyValue", "name": "ACME", "value": "123C0345" },
JSON+LD Example"identifier": { "@type": "PropertyValue", "name": "[COMPANY/ORGANIZATION NAME]", "value": "[UNIQUEJOBID]" },
Optional Data[COMPANYORGANIZATIONNAME] – Name of Company
[UNIQUEJOBID] – Usually the requisition number
#GoogleForJobs
STEP 2: Create your structured markup
"employmentType" : "FULL_TIME", "validThrough" : "2020-01-01", "baseSalary" : { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "minValue": 1, "maxValue": 1000000, "unitText": "HOUR" } } } </script>
JSON+LD Example"employmentType" : "[TYPEOFEMPLOYMENT]", "validThrough" : "[EXPIRATIONDATE]", "baseSalary" : { "@type": "MonetaryAmount", "currency": "[CURRENCY]", "value": { "@type": "QuantitativeValue", "minValue": [MINVALUE], "maxValue": [MAXVALUE], "unitText": "[PERTIME] " } } } </script>
Optional Data[TYPEOFEMPLOYMENT] –Type of employment mapped to Google’s values
[EXPIRATIONDATE] –Expiration date of the job (ISO 8601 format)
[CURRENCY] – currency for pay in 3-letter ISO 4217 format (USD, EUR, etc.)
[MINVALUE] – Min value for salary range
[MAXVALUE] – Max value for salary range
[PERTIME] – value for range or base salary (HOUR,WEEK, MONTH, or YEAR)
#GoogleForJobs
STEP 2: Create your structured markup <script type="application/ld+json"> { "@context" : "http://schema.org/", "@type" : "JobPosting", "title" : "Product Tester – Los Cruces, NM", "description" : "<p>ACME is seeking a professional product tester to validate/test our products in a variety of environmental conditions. The successful tester must be a free thinker, who is capable of gracefully handling and reporting on multiple failure conditions and be creative in testing the products in ways outside of their intended purpose.</p><p> The minimum qualifications for this position are:</p><ul><li>Having a pulse</li><li>Ability to run at least 10 mph for sustained periods of time</li></ul><p>The preferred qualifications for this position are:</p><ul><li>A SUPER-GENIUS</li><li>Is a coyote</li><li>Named Wile</li><li>Extensive experience unsuccessfully chasing road runners</li></ul><p>If this sounds like you, then ACME has just the role for you! Apply today!</p>", "datePosted" : "2017-08-24", "hiringOrganization" : { "@type" : "Organization", "name" : "ACME", "url" : "https://acme.com/", "sameAs" : ["https://www.acme.com/","https://www.facebook.com/LooneyTunes/", "https://twitter.com/wblooneytunes"], "logo" : "https://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwi5rZSh0fLVAhXlrVQKHUu4CXYQjRwIBw&url=http%3A%2F%2Flooneytunes.wikia.com%2Fwiki%2FACME&psig=AFQjCNGmCPlN5Ozmw4fHMWMm1J6NlZkxwQ&ust=1503759079651588" }, "jobLocation" : { "@type" : "Place", "address" : { "@type" : "PostalAddress","streetAddress" : "Wsmr P Rt 1m ","addressLocality" : "White Sands Missile Range","addressRegion" : "NM","postalCode" : "88002","addressCountry": "US"} }, "identifier": { "@type": "PropertyValue", "name": "ACME", "value": "123C0345" }, "employmentType" : "FULL_TIME", "validThrough" : "2020-01-01", "baseSalary" : { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "minValue": 1, "maxValue": 1000000, "unitText": "HOUR " } } } </script>
#GoogleForJobs
Structure Data Testing Tool
11/29/2017 54
https://search.google.com/structured-data/testing-tool
#GoogleForJobs
STEP 3: Validate your newly created structured markup Check that your new code passes the mustard
Some possible causes of failure: 1. Your HTML contains characters not allowed or supported
within the JSON+LD format. 2. You’ve missed a separating “,” between data values 3. You’ve missed a starting or ending quotation mark in defining
your values or data types 4. You’ve missed an opening or closing curly bracket in defining
an array “{“ or “}”
#GoogleForJobs
STEP 4: Add the code to your job description pages Add the newly created code to the head of your HTML<html><head>……<script type="application/ld+json"> { "@context" : "http://schema.org/", "@type" : "JobPosting", "title" : "Product Tester – Los Cruces, NM", "description" : “…"unitText": "HOUR " } } } </script> </head><body>……</body></html>
Just before the closing </head>
#GoogleForJobs
STEP 5: Submit your sitemap & resubmit for indexing Make sure your dynamic job pages are indexed
Ensure your dynamic job page URLs are in your sitemap xmlTalk to your web development team or careers site vendor
Resubmit the sitemap to GoogleWait/come back to check indexing status
#GoogleForJobs
STEP 5: Submit your sitemap & resubmit for indexing Make sure your dynamic job pages are indexed https://www.google.com/webmasters/
#GoogleForJobs
ConclusionIt may seem overwhelming, but it is simpler than it first appears
Organize/map your data
Code your datainto structured
JSON+LD formatValidate & Test
Key Takeaways
#GoogleForJobs
Key Takeaways
Get Indexed Work to get your jobs indexed directly
Tackle Address & Salary Fields Unlock the “next level” by adding street-level address & salary info
Get Help if you Need ItTalk to your ad agency (read: KRT), ATS, career site host, etc.
Be Prepared for ChangesSchema changes, algorithm updates, paid advertising, etc.
#GoogleForJobs
Resource Center
11/29/2017 62
https://www.krtmarketing.com/google-for-jobs
#GoogleForJobs
“How To” Guide
11/29/2017 63
https://www.krtmarketing.com/google-for-jobs
Q&A
@appcast_io | @KRTweet | #GoogleForJobs
Ryan ChristoiManaging Partner
Tom ChevalierVP, Product
John CottonRecruitment Technology & User Experience Strategist