Recruitment marketing analytics and attribution

Tracked original visit source for job candidates
Tracked how many candidates reached certain stages in recruitment process
Attributed these results to recruitment campaigns


Netguru is one of the biggest software consultanies from Poland. With 600+ people and worldwide customers in the ranks of Volkswagen, Solaris Bank and Babbel, its operations present lots of interesting challenges.

Netguru faced problem with efficient recruitment efforts: nobody knew if campaigns were successful and how many candidates applied thanks to them. No information about recruitment stages candidates have reached were used by marketing team, too.

Connecting tools

Recruitment team is using Workable, while marketing utilises Hubspot. Since there is no native integration available for them, we created one using Zapier. Every new candidate was automatically synced to HubSpot database which made reporting much easier and enabled marketing communication based on recruitment status.

This integration was still missing crucial data, though. Hubspot received information on candidate personal details and their progress during recruitment, but everything before that was lost. We couldn’t connect our candidates with their previous visits on website. We also lost the sources of these visits because integrations didn’t pass HubSpot cookies. The recruitment marketing funnel was leaking and we ended up with no analytics data about our potential employees and their actions.

Tracking candidates

To properly track user activity, Hubspot needs to assign visitor cookies to contact profile (email). One way of doing is to create tracked URLs in marketing emails. Message clicked by candidate was passing email address token to Hubspot tracking code on website pageview, which was then attributed to visitor cookies and connected with previously tracked website activity.

We came up with a very simple idea - each candidate received a thank you message with a link to our website. We encouraged candidates to click on this link, which then redirected them to a special landing page we designed. Once landed on this page, HubSpot received all the data needed to join the dots and assign previous visits to our candidate. Here is a step by step look at the flow:

  1. The candidate visits the Netguru website and browses around a bit
  2. He or she goes to the job offer and clicks APPLY
  3. The candidate is redirected to Workable and completes the forms
  4. After sending application, new candidate synced from Workable to Hubspot receives “thanks for applying” email
  5. Visiting URL from tracked email joins data from cookies and data from Workable

Not good enough

This approach worked well, but we had one issue - not everyone clicked on “thank you” email link and we were not gathering all data. We decided to inverse this process a little - first create Hubspot contact, then redirect to Workable.

“Apply now” links have been replaced with signup forms. Candidates were required to fill the form with their email, which created new contact in Hubspot with known website activity. Candidate was immediately redirected to Workable, which then sent additional data from ongoing recruitment process using original Zapier integration.

This solution surprised us with another data point - there was substantial amount of people who dropped out after seeing Workable application form and have never began official recruitment process. This information helped us optimise whole customer journey and increase conversion rate on every step.


We managed to capture a tremendous amount of knowledge about our recruitment marketing efforts. We were now able to answer all of the questions below:

  • Where do our candidates come from?
  • How much time and visits do they need before applying?
  • Are these our long-time readers or first-time visitors?
  • Which blog posts convince them to apply?
  • How many of those coming from social media actually get the job?
  • Which marketing channels are effective and have a good ROI?
  • Do we get quality candidates from our channels?