Source mapping process and rules in PCS
Purpose
The purpose of this article is to outline Eightfold’s PCS source mapping process and rules.
Audience
This guide is intended for the Recruitment marketing/advertising team and Eightfold’s solution architects.
Basics
Most ATS allow you to set up a list of ‘source codes’ that represent the sources of your applications, and most ATS can only recognize this list of ‘source codes’. If PCS writes application source values that are not included in this list, it might not be recorded in the ATS. Given that Eightfold PCS tracks various forms of raw source values, it transforms these raw source values into the known list of ‘source codes’ that your ATS can interpret using the ‘Application source mapping’ config (referrer_src_map) before write the source data to your ATS, thus enabling the ATS to receive the right source attribution for each application When engaging in source mapping, it is important to follow certain rules and guidelines to ensure the accuracy and integrity of the process.
‘Source codes’ in your ATS
‘Source codes’ need to be set up in customer’s ATS. Here are some documentations of some of the common ATS.
- SAP SuccessFactor
-
Greenhouse
- The ‘gh_src’ is the ‘source code’
- Oracle Taleo
Source mapping process
- Input: It represents the traffic source ‘source tracking value’ that contains the information you want to map. For example, utm_source, src, source parameters or the referrer (in that priority order) that PCS captures from the job URLs.
- Process: The process includes ways in identifying the correct source. This can be achieved by applying the rules mentioned in this article. The ‘source tracking values’ are mapped to a list of ‘source codes’ that have been set up in your ATS using the ‘source map’.
- Output:‘Source codes’ that have been set up in your ATS.
Example of source mapping
Below is the default mapping we use, and you can customize it to suit your source tracking and ATS set up in the config.
{
'linkedin': 'jb-j39wthan',
'indeed': 'jb-lkt04jag',
'google': 'jb-t48u48ha',
'facebook': 'jb-kaew0tjc',
'default': 'Eightfold',
}
In the example of this default mapping, the keys on the left in the above dictionary refer to the string we will look for in the PCS ‘source tracking values’. The values on the right refer to the string that will be used as the ‘source code’ sent to your ATS. If the PCS source doesn’t match with any of the keys, we will default it to the default value we set, which in the example above is ‘Eightfold’, but it could also be set up as other values.
Full process:
- Suppose customer has the follow job URL: https://jobs.xyz.com/careers?utm_source=linkedin
- And they have the above source map
- Eightfold PCS captures that the source is ‘linkedin’.
- Eightfold PCS then transforms ‘linkedin’ into ‘jb-j39wthan’
- When the customer's ATS receives the application source of applicants coming from that job URL, the source will be ‘jb-j39wthan’.
Rules for Source mapping processing
Here are some key rules to keep in mind:
-
Normalize the ‘source tracking value’ if it comes from the referrer
- Reason for doing this: the referrer usually has ‘.com’, ‘.net’, etc. included and it would impact the source mapping process. On the other hand, `utm_source`, src or source parameters usually do not have ‘.com’, ‘.net’, etc.
- Normalization removes the ‘.com’, ‘.net’, etc. from the referrer. For example:
- Referrer = ‘linkedin.com’
- Normalized referrer = ‘linkedin’
- We only normalize the referrer. On the other hand, utm_source, src, source parameters will remain the same.
-
Case insensitive mapping
- All the mapping in the following process is case insensitive. For example, ‘linkedin’ and ‘LinkedIn’ are treated the same.
-
Match the ‘source tracking value’ with the key in the referrer_src_map - with original keys
- Exact match:
- Look for the key that exactly matches the ‘source tracking value’. For example:
- Key: ‘linkedin’
- ‘source tracking value’: ‘linkedin’
- Exact match success
- Look for the key that exactly matches the ‘source tracking value’. For example:
- Partial match
- If there is no exact match, look for the key that is contained in the ‘source tracking value’. For example:
- Key: ‘linkedin’
- ‘source tracking value’: ‘linkedin_jb_sp’
- Partial match success
- The order of the keys in the map matters in partial matches. The first key that partially matches the ‘source tracking value’ will be selected. For example:
- Key-1: ‘linkedin’
- Key-2: ‘linkedin_jb’
- Key-1 will be selected to partially match ‘source tracking value’ - ‘linkedin_jb_sp’
- If there is no exact match, look for the key that is contained in the ‘source tracking value’. For example:
- Exact match:
-
Match the ‘source tracking value’ with the key in the referrer_src_map - with normalized keys
- If there is no match from the previous step, we normalize the keys in the referrer_src_map
- E.g. key ‘linkedin.com’ will be normalize to ‘linkedin’
- Exact match:
- We then look for the normalized key that exactly matches the ‘source tracking value’. For example:
- Original key: ‘linkedin.com’
- Normalized key: ‘linkedin’
- ‘source tracking value’: ‘linkedin’
- Exact match success
- We then look for the normalized key that exactly matches the ‘source tracking value’. For example:
- (no partial match applied to normalized keys)
- Order of the keys in the map matters here. The first normalized key that exactly matches the ‘source tracking value’ will be selected. For example:
- Key-1: ‘linkedin.com’
- Key-2: ‘linkedin.cn’
- Both key-1 and key-2 will be normalized to ‘linkedin’, but key-1 will be selected to partially match ‘source tracking value’ - ‘linkedin’
- If there is no match from the previous step, we normalize the keys in the referrer_src_map
-
If there is still no match, extract the previous ‘source tracking value’ (utm_source, src, source parameters or the referrer) associated with this vs_cookie and repeat the matching process
- For example, if a profile has the following sources in Eightfold’s record:
- ‘Github.com’ (most recent), ‘google’ (previous), ‘linkedin’ (previous)
- If the steps above cannot find a match for ‘github.com’, we will extract the previous source associated with this vs_cookie and repeat the steps above, until we can find a match or until there is no more previous source.
- For example, if a profile has the following sources in Eightfold’s record:
-
Output: the corresponding value (‘source code’) of the key that got matched to
- The output will be the value of the key. For example:
- {‘linkedin’: ‘LinkedIn Job Board’}
- If there is a match for the key ‘linkedin’, ‘LinkedIn Job Board’ is the output of the source mapping process
- {‘linkedin’: ‘LinkedIn Job Board’}
- If there is no match for any key
- If ‘free text referrer mapping’ (‘use_free_text_referrer’ in smartapply_config) is turned on, the output will be the raw source value.
- If ‘free text referrer mapping’ is turned off (default setting), the output with be the default value set up in the map (by default the default value is ‘Eightfold’; customers can also set it up as other values such as ‘DEFAULT_CAREER_SITE’, ‘XYZ_CAREER_SITE’)
- The output will be the value of the key. For example:
Read Source mapping process - additional factors for additional details.