Our HR department has struggled with the insights of their marketing efforts. They know how many people apply for a job, but they don’t see the actual numbers of people that get invited for a first chat or even get the actual job. To give them the insights in Google Analytics, we’ve put our heads together and were able to get the desired data. All you need is a Google Analytics account and a spreadsheet.

An overview of the problem and the solution

The main goal of the concept is to know how well campaign sources are performing, without just looking at an online application. Let’s say you’re using two networks to promote jobs: Google AdWords and LinkedIn. If you’re just measuring online, you might think that AdWords is the best performing network:

  • AdWords:
  • 2.000 sessions
  • 100 applications
  • conversion rate 5%
  • LinkedIn
  • 1000 sessions
  • 25 applications
  • conversion rate 2,5%

Looking at these stats you might want to shift your marketing efforts to AdWords as it is performing twice as good as LinkedIn (if I ignore the costs of each network). If we were able to measure actual invitations for a first talk, the insights may change:

  • AdWords:
  • 2.000 sessions
  • 10 invites
  • conversion rate 0,5%
  • LinkedIn
  • 1000 sessions
  • 20 invites
  • conversion rate 2%

Based on actual invites, we now see that LinkedIn is performing 4 times as good as AdWords. The main goal of this post is to get you these insights.

Step 1: collecting the Google Analytics client id

The first step of the solution is to collect the Google Analytics client id with the job application. This step requires the developers of job listing website. You’ll need to capture the client id and send it with the form. The easiest way to do this is by adding a hidden input field to the form and filling this automatically with the client ID on page load. Here’s an example piece of jQuery code that does just that:

ga(function (tracker) {  $('#inputFieldForGoogleAnalyticsClientId').val(tracker.get('clientId'));

Sample code to set the value of the hidden input field with id ‘inputFieldForGoogleAnalyticsClientId’ to the value the current client id.

If you have this implemented, the form will add the Google Analytics client ID to the submitted data automatically.

Step 2: using the client id to get the insights

Here’s where it gets fun. Setup a Google spreadsheet (or Excel document if you like) that lists the following information:

  • 1 Name.
  • 2 Status (invited/declined)
  • 3 Sent to Google Analytics (yes/no)
  • 4 Google Analytics Client ID
  • 5 Google Analytics link

Field 1 to 4 are easy to set up. If you’re already using a spreadsheet or Excel based document, feel free to add the information to your existing document.

The magic is in field 5: Google Analytics allows you to send information to the platform with links (it’s officially called the measurement protocol). If we generate these links in a smart way, we’ll connect the data sent via such a link to the campaign source of the application. Make sure to only show the link when the row’s ‘status’ value (2) is invited and ‘sent to Google Analytics’ value (3) is no.

Let’s have a look at this link:


An example of the link you’ll need to generate in your spreadsheet.

There are four important variables here:

  • GA-PROPERTY-ID: change this to the GA property ID that runs on your recruitment website.
  • GA-CLIENT-ID-FIELD: change this to the field in the table that holds the client ID.
  • EVENT-CATEGORY: change this to event category, e.g. Application%20status (%20 is a whitespace in URL encoding).
  • EVENT-LABEL: change this to the event label, e.g. first%20invitation.

Now, If you click this link, it’ll send an event to GA with the client ID captured during the original form submission. Google will recognise the user and apply the known source of that user to the event coming in (using the last non-direct click model). If you set up a goal that captures this event, you can create a simple report that shows you all the information you need:

sample recruitment insights report

Example screenshot of recruitment insights. I’ve included a calculated metric to show the performance from online application to invited for first interview.

Et voila, we have added the ‘first invite’ performance to our campaign report in Google Analytics.

Considerations and next steps

The setup in this post requires several manual actions: adding application data to a sheet, and manually clicking a link. If either of these steps is forgotten, the system won’t work. You might want to include this measurement system in your recruitment software if you have any. Besides that, you could add extra value goals after the first invitation like ‘contract offered’, ‘hired’ and ‘employed for 6 months’.

Leave a Reply