1. Home
  2. Docs
  3. Optimize
  4. Advertiser Pixel v2
  5. Installation

Installation

The Programmatic Pixel is a JavaScript pixel that lives on your website and gives you the ability to report user actions to Optimize which allows to generate reports allowing you to receive better insight into what jobs users are viewing and applying for to better understand how to improve job visibility and conversion rates.

From a technical side, the pixel code is loaded onto your site by implementing the Head Snippet which gives you access to the jdxtag() function anywhere on your page. This function accepts various parameters which allow you to send requests to our server and even customize the data being sent alongside it like metadata, custom URLs, and more!

If you have an user account with Optimize already you can log in and go to the pixel section to get a customized set of install instructions. It will be generated based on a survey you fill out on what your website’s structure and capabilities are. The following guide is a general concept set of instructions

Step 1: Install Head Snippet

This required step loads the script onto your page and allows you to configure how requests are sent to the Optimize server. This bit of code lives in the <head> tag of every page on your website in order for the pixel to function properly.

First you will need to find the correct Head Snippet code for your specific account. This is located within an account’s dashboard so you will need to log into your Optimize user account and navigate to the desired account’s Pixel section. Copy the code block in the Step 1: Install Head Snippet section and paste it into the <head> tag on your website.

Note that the following example uses a sample snippet but it still demonstrates where the snippet should live on your page (please use your own snippet from your account’s pixel section).


<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>MY JOB WEBSITE</title>
  <style>a {text-decoration: none;color: black;}ul {list-style-type: none;padding: 0;margin: 0;}</style>
  <!-- PIXEL HEAD SNIPPET START; REPLACE BELOW WITH YOUR ACCOUNT'S SCRIPT -->
  <noscript><img src="https://track.jobadx.com/v1/t.gif?utm_pixel=<XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX>&v_js=false" height="1" width="1" style="display: none" alt="" /></noscript>
  <script async src="https://optimize-pixel.jobadx.com/v2/pixel.js" type="text/javascript"></script>
  <script>
    window.jdxLayer = window.jdxLayer || []
  
    function jdxtag {jdxLayer.push(arguments)}
    jdxtag("config", "_setPixel", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")
    jdxtag("config", "_pixelTimeZone", "Eastern Time (US & Canada)")
  </script>
  <!-- PIXEL HEAD SNIPPET END -->
</head>

For more details on the Head Snippet see the dedicated section in our docs. Ensure this code snippet is run before any of the snippets in the following steps are executed. You will not have access to the jdxtag() function without this code running first.

Step 2: Set Job Identifiers

When you are making a request on behalf of a job (the user has landed on the job page or you are reporting a conversion for a job) you will need to inform our system which job it is for and if possible the click id for the user (we send this value is sent as the query parameter utm_click when a user is redirected to your website).


  <script>
    jdxtag("options", { clickId: '{{CLICK_ID}}', jobId: '{{JOB_ID}}' })
  </script>

Pass the job’s identifier by replacing the {{JOB_ID}} portion of the snippet. When a user is directed to a job on your site from our system we will attach a click parameter to the URL which you can pass in replacing the {{CLICK_ID}} portion of the snippet. If either of the identifiers can’t be accessed you can pass an empty string or null instead.

Note that while leaving jobId and clickId blank is allowed, the accuracy of the data is greatly reduced than if you supply one or both of the variables.

Step 3: Set Conversion

When you are reporting a conversion via a track request you will need to tell our system that it belongs to a conversion by running the following snippet:


  <script>
    jdxtag("option", "conversion", true)
  </script>

Now the next track request will be classified as a conversion.

Step 4: Make Track Request

Now that any options for the request have been setup you will need to trigger the request. Note that this code snippet must be triggered after the prior steps have been run (where applicable)


  <script>
    jdxtag("track")
  </script>

Note that for Single Page Applications you’ll also want to provide the previous and current URL manually since the pixel cannot infer that information from the browser. See the section on installing the pixel for an SPA for more information.