Ad Performance Panel

SEEK provides an Ad Performance Panel you can embed within your software to help hirers understand how each job ad is performing. The widget displays job search views, job ad clicks, application starts and application completes. It can also provide insights such as market performance, benchmarked against ads posted with similar job titles and locations.
Application completes will be visible for:
Please note that the Completion Signal must be implemented along with the Ad Performance Panel if any ads on your platform allow candidates to apply within the ATS.

User experience

The Ad Performance Panel is designed to present data for a single job ad on SEEK. To ensure relevance and context, it should be displayed in a view that directly corresponds to the specific job. For instance:
  • Within the “Job Details” view for a specific position
  • Alongside existing metrics for an individual job
  • As part of a job list, accessible via a button that reveals the panel in a pop-up
The Ad Performance Panel can be shown from when the job ad posted for as long as the PositionProfile  remains available, as per the job ad lifecycle. In the event that ad performance data for a requested job ad is unavailable, the panel will manage any errors internally and display appropriate messaging to the hirer.
To maintain clarity, we recommend against displaying multiple instances of the Ad Performance Panel on the same page.

Browser support

The Ad Performance Panel tracks our standard browser support policy.

Step 1: Include the panel

Add the following script tag to the page where the Ad Performance Panel will be displayed:
HTML
Copy
<script
  type="text/javascript"
  src="https://integration.seek.com/panels/SeekApi.js"
></script>

Step 2: Render the panel

The SeekApi.render function renders an instance of the panel in the specified DOM element, and should be called on page load or if the currently viewed job ad changes.
The render function may throw errors if:
  • The containerNode provided is not a valid HTMLElement
JavaScript
Copy
SeekApi.render(containerNode, 'adPerformance', props);
  • containerNode – (DOM Node) The DOM element to render the panel into.
  • 'adPerformance' - The name of the panel to render.
  • propsProps for rendering the panel.

Props

Prop
Type
Description
getAuthToken
() => Promise<string>
Function to call to retrieve the browser token to use when calling the SEEK API.
positionProfileId
string
The identifier of the job ad to be displayed.
locale
string
optional
Specifies the locale to display content in e.g., en-AU. Please note that only en-AU is supported during the initial rollout of this panel, but future supported locales are outlined in the content localisation documentation.

Sample code

JavaScript
Copy
SeekApi.render(
  document.getElementById('seekAdPerformanceContainerDiv'),
  'adPerformance',
  {
    // Function to call to retrieve the browser token to use when calling the
    // SEEK API, see "Step 3" for more details.
    getAuthToken: () => {
      return Promise.resolve('browser token');
    },
    // Object identifier for the job ad to be displayed.
    positionProfileId: 'seekAnzPublicTest:positionProfile:jobAd:2782PZfXV'
  }
);

Step 3: Handle browser token requests

  1. The panel loads and executes the getAuthToken function passed to it.
  2. Your frontend requests a browser token from your backend.
  3. Your backend authenticates and authorises the user. Please note that your backend is responsible for ensuring the individual user is authorised to view ad performance information for this job.
  4. Your backend requests a browser token from the SEEK API for the appropriate hirer ID and query:advertisement-performance query:position-profiles query:ontologies scopes.
HTTP
Copy
POST https://graphql.seek.com/auth/token HTTP/1.1
Authorization: Bearer PARTNER_TOKEN_HERE
Content-Type: application/json
User-Agent: YourPartnerService/1.2.3
{
  "hirerId": "seekAnzPublicTest:organization:seek:93WyyF1h",
  "scope": "query:advertisement-performance query:position-profiles query:ontologies",
  "userId": "317665"
}
  1. Your backend responds with the browser token.
  2. Your frontend returns the browser token from the getAuthToken function.
  3. The panel completes initialising and displays the relevant ad performance data.