Jobrock UTM tracking guide
The goal of this document is to correctly install the Jobrock tracking script in Google Tag Manager and successfully install the required triggers to receive the correct tracking data for your candidates.
Adding the Jobrock tracking script
The Jobrock tracking script follows the same default rule of source definition as Google Analytics uses.
About the tracking script
Always consider the latest indirect source when the source is 30 days or less old.
Example 1:
Yesterday you visited the site coming from Google and marked it in your favorites. Today you visit the site again. The tracking script sees that you are using source ‘Direct’ now, but will consider Google. In this example, Google was your last indirect source in 30 days or less time.
Example 2:
You came via Google 1,5 months ago, started typing the website address in your Chrome browser, and opened the given auto-suggested URL by Chrome from your history directly. The tracking script will see you as a ‘Direct’ visitor now because your last used indirect source is older than 30 days.
Example 3:
You come via Google to the website. The next day you are retargeted via Facebook and you click on an Ad. The tracking script will consider the source ‘Facebook’ since this was your last indirect source used within 30 days.
Adding Jobrock tracking script to Google Tag Manager
Step 1: Log in to Jobrock
Login to Jobrock with a user who has admin rights.
Step 2: Go to the “Admin” module
Go to the Jobrock “Admin” module via the main Jobrock menu.
Step 3: Go to “Integrations”
Click on “Integrations” in the left-side Admin menu.
Step 4: Go to “Jobrock script”
Click on “Jobrock scripts” in the submenu to open the Jobrock scripts and click "Tracking".

Step 5: Copy “Jobrock tracking script” to the clipboard
Click on the copy option on the right side of the screen to copy the Jobrock tracking script to your clipboard.
Note: The var uid = “<client_specific>”
Step 6: Create a tag in Google Tag Manager
Go to your Google Tag Manager and create a new tag.
Step 7: Select tag type
Select “Custom HTML” as the tag type.
Step 8: Paste the Jobrock tracking script
Now paste the Jobrock tracking script which is behind your clipboard into the “HTML” field in the Tag configuration in GTM.
Step 9: Set triggering of the new tag
Set the triggering (“Firing Triggers”) to “All Pages” to make this tag fire on all pages.
Create source info-ready triggers
Since we are aiming to fill hidden fields, all the required source data must be available before prefilling the hidden fields. Therefore it is recommended to make a dedicated trigger for this to ensure the presence of the data.
The main tricky use case is when someone directly lands on a page where the form is loaded as well. In all other use cases, the cookies will already be generated on previous pages and therefore no problems can be expected.
This can be achieved by listening to an event, generated by the Jobrock script when it is done creating/ updating the source info cookies.
Scenario A: Job application page
Step 1: Create a new trigger
Create a new trigger when the Byner form is available on the page and give this an easily recognizable name.
For example: “Byner form - Job application page tracking”.
Step 2: Type selection
Select the type “Custom Event”.
Step 3: Add event name
Add event name “sourceinfoReady”.
Step 4: Script loading triggers
It is advisable to load the script exclusively on web pages where it is applicable. In this scenario, the script is unnecessary for the majority of your website, as many pages won't include the Byner form.
Therefore adjust the settings for “This trigger fires on” to “Some Custom Events” and accordingly define the required trigger.
For example, only fire the trigger on certain page URLs:
- Page URL - contains - /solliciteer/
- Page URL - contains - /sollicitatie?
- Page URL - contains - /solliciteren
Scenario B: Open job application page (if present)
This trigger is less common than the regular job application scenario explained in the previous paragraph. However, the Byner form must also be available on the page for the trigger in this scenario.
Step 1: Create a new trigger
Create a new trigger when the Byner form is available on the page and give this an easily recognizable name.
For example: “Byner form - Open job application page tracking”.
Step 2: Type selection
Select the type “Custom Event”.
Step 3: Add event name
Add event name “sourceinfoReady”.
Step 4: Script loading triggers
It is advised to load the script exclusively on web pages where it is applicable. In this case, the script isn't necessary for the majority of your website, as many pages do not have the Byner form.
Therefore adjust the settings for “This trigger fires on” to “Some Custom Events” and accordingly define the required trigger.
For example, only fire the trigger on certain page URLs:
- Page URL - contains - /inschrijven/
- Page URL - contains - /aanmelden/
- etc.
Additional information on triggers
Note 1:
For both scenarios described in the previous paragraphs, “This trigger fires on” is variable and this could be multiple triggers or different event conditions, as shown in the examples for both scenarios.
Note 2:
It is important to understand that to fire the Prefill tag, both values (the “Event name” and “Custom Event conditions”) must be true.
Adding Jobrock-Byner prefill tag
When the triggers are created in step 2, the Jobrock-Byner prefill tag can be added to the Google Tag Manager. The goal of this tag is to ‘read’ the available UTM parameters of a candidate in the cookies and link these to the hidden Byner UTM fields. By doing so, the UTM values are visible in the candidate workflow and thus provide insights into how a candidate entered the system.
Step 1: Create a new tag
Go to GTM and create a new tag.
Step 2: Select tag type
Select “Custom HTML” as the tag type.
Step 3: Copy and paste script
Copy the following script and paste it into the “HTML” field of the new tag:
<!-- Jobrock script code -->
<script>
function getCookie(cookieName) {
var value;
document.cookie.split(';').forEach(function(el) {
if (el.includes(cookieName)) {
value = el.split('=')[1]
};
});
return value
};
var data = {
byner__UTM_Id__c : getCookie('jr_utm_id'),
byner__UTM_Campaign__c : getCookie('jr_utm_campaign'),
byner__UTM_Content__c : getCookie('jr_utm_content'),
byner__UTM_Medium__c : getCookie('jr_utm_medium'),
byner__UTM_Source__c : getCookie('jr_utm_source'),
byner__UTM_Term__c : getCookie('jr_utm_term'),
Google_Analytics_Client_ID__c : getCookie('_ga')
}
var vn = [new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), new Date().getHours(), new Date().getMinutes()].join('/');
(function () {
var oScript = document.createElement('script');
oScript.type = 'text/javascript';
oScript.async = true;
oScript.src = 'https://hub.jobrock.com/assets/jr/syncutmbyner.js?v='+vn;
oScript.id = "jrSyncUTMScript";
oScript.event = JSON.stringify(data);
var oParent = document.getElementsByTagName('script')[0];
oParent.parentNode.insertBefore(oScript, oParent);
})();
</script>
<!-- End Jobrock script code -->
Step 4: Select triggers
Choose and select the triggers that were created earlier in this guide and link them to the Prefill tag.
Verifying successful implementation
Now that the above steps are processed the expectation is that everything works end to end.
All tracking info should now be visible in the “Candidate in workflow” object in Byner.
Troubleshooting
Is this not the case? Do you not see this information in the “Candidate in workflow” object?
There are 3 actions to validate the configuration and determine where the problem might be:
Cookie consent banner
Ensure that the cookie consent banner does not clear the cookies after consent is given. Most likely the cookies first need to be allocated to a consent level inside the cookie consent admin interface to prevent them from cleaning.
That means that the Jobrock tracking script has to be allocated to a category within your cookie consent tool. This can be done within the admin interface of your cookie consent tool or via special cookie consent triggers which can be configured in your Google Tag Manager.
For example, there may be a setting active in your cookie consent tool where all unclassified cookies are automatically blocked. In this scenario, you could allocate the cookies to a category by using triggers in the Google Tag Manager. If you don’t do this correctly, the cookies will be cleared and tracking data will not be available.
If your cookie consent settings have to be configured manually, the cookies will most likely be whitelisted but it’s still required to receive consent from the visitor to allow the Jobrock tracking script to run. Unclassified cookies are merely cookies of which the actual category is unknown and may be necessary. It is recommended to assign the appropriate category at your earliest convenience to ensure it will get handled correctly to be fully compliant with GDPR.
Generally speaking, the cookie consent for the Jobrock tracking script is allocated to the necessary/ functional category, because the data is not shared with any tracking platforms such as Google Analytics, for example. Thus, there’s no profile-building process or analytical insight in place based on tracking data without the user giving consent. The UTM data that is stored in a cookie will only leave the user's browser once they fill in the application form and give consent to store personal data while applying for a job.
It’s recommended to verify the above with your company’s cookie consent specialist.
Cookie values validation (via “Application”)
Step 1: Go to a page with the form
Go to a page where the Byner form is loaded on.
Step 2: Inspect page
Right-click on the page and select “Inspect” or “Inspecteren” from the menu.
Step 3: Application
In the window that appears, navigate to “Application”.
Step 4: Select your website under “Storage” / “Cookies”
In the left side panel scroll to “Storage” and select your website under “Cookies”.
Step 5: Search for “jr_”
Type “jr_” in the search bar.
Step 6: Check cookie UTM and values
If you see that the UTM’s are visible and each UTM contains a value, the script is working as expected.
I don’t see the cookies appearing!
If you don’t see the cookies (UTM’s or are there no values for each UTM), ask yourself the following basic questions:
1. Verify the tracking script. Is it triggering on all (required) pages?
Note: You can also verify this through GTM preview.
2. Is the job application page on the same domain?
3. Is the GTM container available on the page?
Prefill script validation (via “Console”)
Step 1: Go to a page with the form
Go to a page where the Byner form is loaded on.
Step 2: Inspect page
Right-click on the page and select “Inspect” or “Inspecteren” from the menu.
Step 3: Console
In the window that appears, navigate to “Console”.
Step 4: Clear the window
Clear the window by clicking on the icon as shown in the screenshot below.
Step 5: Add a line in the console
Add the following line in the console and hit enter:
document.getElementsByTagName('byner-application-form')[0].getElementsByClassName('byner__UTM_Source__c')[0].value
Step 6: Check whether UTM’s are showing
When the expected value for the “utm_source” (or any other UTM value that is expected) is showing, the script is working as expected.
Here it shows what the form is going to take as a value on form submit, while the form waits for visible fields to be populated by the applicant and hit submit.
You can replace “byner__UTM_Source__c” with another UTM parameter in case the source does not contain data for your test like:
byner__UTM_Id__c
byner__UTM_Campaign__c
byner__UTM_Content__c
byner__UTM_Medium__c
byner__UTM_Source__c
byner__UTM_Term__c
Google_Analytics_Client_ID__c
I don’t see the cookies appearing!
If you don’t see these values appear, ask yourself the following basic questions:
1. Did you configure the “sourceinfoReady” event properly?
2. Are the hidden forms available in the form configuration in Byner? Did you manipulate any of the form labels that could cause a mismatch
Unsuccessful Jobrock tracking script installation?
Followed this step-by-step guide to correctly install the Jobrock tracking script and did you implement all the required changes in the Google Tag Manager but your validation fails?
It is recommended that you process the first two chapters once more to verify whether all settings were processed correctly.
In case it is still not working, you can submit a technical support ticket via the following link: