Cloud Talent Solution is a service that brings machine learning to your job search experience, returning high quality results to job seekers far beyond the limitations of typical keyword-based methods. Right out of the box, CTS applies relevance models and job/skill ontologies to your job details. You can improve the results returned to job seekers by recording client events based on the activity of the job seeker.
Record client events using createClientEventRequest
When a job seeker performs a specific action, you can use Job Search to record that action. For example, the job seeker or other entity interacting with the service has had a job (or a list of jobs) rendered in their view, such as in a list of search results in a compressed or clipped format. You can send an IMPRESSION event to Cloud Talent Solution to provide data on the context of the search and the results that a job seeker can see. When the job seeker clicks on a job result to view the full job description, you can send a VIEW event that registers the job seeker's interest in the chosen position.
The following example illustrates how to send a message to Cloud Talent Solution using an API. The job seeker or other entity interacting with the service has had a job (or a list of jobs) rendered in their view, such as in a list of search results in a compressed or clipped format. This event is typically associated with a job seeker viewing a list of jobs on a single page.
Go
To learn how to install and use the client library for CTS, see CTS client libraries. For more information, see the CTS Go API reference documentation.
To authenticate to CTS, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Java
To learn how to install and use the client library for CTS, see CTS client libraries. For more information, see the CTS Java API reference documentation.
To authenticate to CTS, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Node.js
To learn how to install and use the client library for CTS, see CTS client libraries. For more information, see the CTS Node.js API reference documentation.
To authenticate to CTS, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Python
To learn how to install and use the client library for CTS, see CTS client libraries. For more information, see the CTS Python API reference documentation.
To authenticate to CTS, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Event messages
Required fields:
eventId
(Customer defined): Each message sent to Cloud Talent Solution must have a uniqueeventId
. As a best practice, incorporate the timestamp while defining this field to ensure non-duplicity. The maximum length of this field is 255 characters.requestId
: The value of therequestId
returned by the search response object. This value is unique to a particularSearchJobsRequest
API call. It is used for all subsequent messages stemming from the original search IMPRESSION event. When a newSearchJobsRequest
API call is made (for example: job seeker goes to the next page of results) therequestId
changes.createTime
The timestamp of the event (in Timestamp format, accurate to nanoseconds. This timestamp should reflect when the event actually occurred, not when the message was sent.Union field
event
:jobEvent
objects are used with the Job Search feature and are issued when a job seeker interacts with the service.
Sample event message
The API call in the code sample above should generate a JSON message in the following format:
JSON
{ "requestId": string, "eventId": string, "createTime": string, "eventNotes": string,// Union field event can be only be a jobEvent: "jobEvent": { object (JobEvent) }, // End of list of possible types for union field event. }
Scenarios and workflows
The following are two example scenarios of the job seeker searching, viewing, and applying for a job.
Workflow 1
Job seeker performs a search. For example: Product mgr SF
Search results are returned to the job seeker.
The job search response object sent back to the customer’s server contains a unique
requestId
(for example:8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==
). Use thisrequestId
for all future messages related to this particular SearchJobsRequest API call.Send Cloud Talent Solution an IMPRESSION message.
Sample event message:
{ "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "eventId": "ID1", "createTime": "2018-12-19T16:39:57-08:00", "jobEvent": {"type":"IMPRESSION", "jobs":["jobs/4000000000", "jobs/4000000001","jobs/4000000002", "jobs/4000000003", "jobs/4000000004"]} }
Job seeker selects a result (a job posting) to view the full details of the job.
Send Cloud Talent Solution a VIEW message.
{ "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "eventId": "ID2", "createTime": "2018-12-19T16:40:57-08:00", "jobEvent": {"type":"VIEW", "jobs":["jobs/4000000000"]} }
Job seeker applies to the viewed job posting.
a. If the job seeker is redirected to a page within the same domain (an internal application page), send Cloud Talent Solution an APPLICATION_START message.
{ "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "eventId": "ID3", "createTime": "2018-12-19T16:41:57-08:00", "jobEvent": {"type":"APPLICATION_START", "jobs":["jobs/4000000000"]} }
b. If the job seeker is redirected to an external application page, send Cloud Talent Solution an APPLICATION_REDIRECT message.
{ "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "eventId": "ID3", "createTime": "2018-12-19T16:41:57-08:00", "jobEvent": {"type":"APPLICATION_REDIRECT", "jobs":["jobs/4000000000"]} }
When the job seeker completes an internal application, send Cloud Talent Solution an APPLICATION_FINISH message:
{ "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "eventId": "ID4", "createTime": "2018-12-19T16:43:57-08:00", "jobEvent": {"type":"APPLICATION_FINISH", "jobs":["jobs/4000000000"]} }
The job seeker goes back to the search results and continues to page 2 (or they continue to page 2 without having clicked on a job posting).
Send Cloud Talent Solution an IMPRESSION message with the next set of results from page 2. Note: There's a new
requestId
that is generated in the response of theSearchJobsRequest
API call that generates the second page of results. (for example,99e5b99c-f1ba-4f85-b17d-ccf878f451f9:APAb7IRESj+/Hzwa3bBd54P3qPx2yOWm5w==
).{ "requestId": "99e5b99c-f1ba-4f85-b17d-ccf878f451f9:APAb7IRESj+/Hzwa3bBd54P3qPx2yOWm5w==", "eventId": "ID5", "createTime": "2018-12-19T18:39:57-08:00", "jobEvent": {"type":"IMPRESSION", "jobs":["jobs/4000000005", "jobs/4000000006","jobs/4000000007", "jobs/4000000008", "jobs/4000000009"]} }
Job seeker continues to page 3 of the search results.
Send Cloud Talent Solution an IMPRESSION message with the next set of results. NOTE: There's a new
requestId
(for example,e2d2b916-78c3-4c65-aecc-d8452bc0afb0:APAb7IRvCsNPiRXYkgF8PN5e8BkbFzKOyg==
).{ "requestId": "e2d2b916-78c3-4c65-aecc-d8452bc0afb0:APAb7IRvCsNPiRXYkgF8PN5e8BkbFzKOyg==", "eventId": "ID6", "createTime": "2018-12-19T16:41:57-08:00", "jobEvent": {"type":"IMPRESSION", "jobs":["jobs/4000000010", "jobs/4000000011","jobs/4000000012", "jobs/400000013", "jobs/4000000014"]} }
Workflow 2
Job seeker performs a search. For example: Product mgr SF
Search results are returned to the job seeker.
The job search response object contains a unique
requestId
(for example:a2179a9b-cf73-413e-8076-98af08b991ad
). Use thisrequestId
for all future messages related to thisSearchJobsRequest
API call.Send Cloud Talent Solution an IMPRESSION message.
{ "requestId": "a2179a9b-cf73-413e-8076-98af08b991ad", "eventId": "ID1", "createTime": "2018-12-19T16:39:57-08:00", "jobEvent": {"type":"IMPRESSION", "jobs":["jobs/4000000000", "jobs/4000000001","jobs/4000000002", "jobs/4000000003", "jobs/4000000004"]} }
Job seeker selects a result (a job posting) to view the full details of the job.
Send Cloud Talent Solution a VIEW message.
{ "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "eventId": "ID2", "createTime": "2018-12-19T16:40:57-08:00", "jobEvent": {"type":"VIEW", "jobs":["jobs/4000000000"]} }
Job seeker performs a single click application to a job, as outlined in APPLICATION_QUICK_SUBMISSION.
Send Cloud Talent Solution an APPLICATION_QUICK_SUBMISSION message with the next set of results.
{ "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "eventId": "ID3", "createTime": "2018-12-19T16:41:57-08:00", "jobEvent": {"type":"APPLICATION_QUICK_SUBMISSION", "jobs":["jobs/4000000000"]} }
Job seeker performs the following actions.
a. Job seeker goes back to the search results applies for a job directly from the search results page. The application process is a longer process than defined in APPLICATION_QUICK_SUBMISSION (that is, it's a multi-step application process).
Send Cloud Talent Solution an APPLICATION_START_FROM_SERP message.
{ "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "eventId": "ID4", "createTime": "2018-12-19T16:43:57-08:00", "jobEvent": {"type":"APPLICATION_START_FROM_SERP", "jobs":["jobs/4000000000"]} }
b. Job seeker completes the application for the job. Send Cloud Talent Solution an APPLICATION_FINISH message.
{ "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "eventId": "ID5", "createTime": "2018-12-19T16:44:57-08:00", "jobEvent": {"type":"APPLICATION_FINISH", "jobs":["jobs/4000000000"]} }
Job seeker goes back to the search results and applies to a job directly from the search results page. The application process redirects the job seeker to another domain that is outside the tenant site (external application) from which, the progress of the applicant cannot be tracked.
Send Cloud Talent Solution an APPLICATION_REDIRECT_FROM_SERP message.
{ "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "eventId": "ID6", "createTime": "2018-12-19T16:45:57-08:00", "jobEvent": {"type":"APPLICATION_START_FROM_SERP", "jobs":["jobs/4000000001"]} }
This is different from APPLICATION_REDIRECT where a job seeker is on the job description page when re-routed.
Verify client event implementation
Cloud Talent Solution provides you with self service tools that you can use to verify implementation of client events. See management tools for more information about the available self service options.