SEEK provides an Ad Performance Panel you can embed within your software to help hirers understand how each job ad is performing.
The panel 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:The


- Job ads using Optimised Apply, where candidates complete SEEK’s Apply Form.
- Job ads using an external apply form, if the candidate arrived from SEEK.This is derived from application complete signals where the candidate source is SEEK. It does not include scenarios where the candidate arrived from another source but used Apply with SEEK.
The Ad Performance Panel is designed to present data for a single job ad on SEEK.To ensure relevance and context, the panel 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
containerNode.
We recommend your containerNode spans the full width of your UI for the best user experience, so all four performance metric cards can display in a single row to hirers.The Ad Performance Panel must be available to hirers for at least the duration of the position opening, and will continue displaying data 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.Review the getting started documentation if you’re new to panels in the SEEK API.The Ad Performance Panel tracks our standard browser support policy.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>
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
containerNodeprovided is not a validHTMLElement
JavaScript
Copy
SeekApi.render(containerNode, 'adPerformance', props);
containerNode: The DOM element to render the panel into.'adPerformance': The name of the panel to render.props: Props for rendering the panel.
Modifying the
containerNode or its children after
the render function has been called may lead to
unexpected behaviour.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 | stringoptional | Specifies the locale to display content in, e.g. en-AU. Supported locales are outlined in the content localisation documentation. |
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'
}
);
- The panel loads and executes the
getAuthTokenfunction passed to it. - Your frontend requests a browser token from your backend.If a user switches to a job ad from a different SEEK hirer account, your software should ensure that subsequent invocations of
getAuthTokenwill request a token for the new hirer ID before re-rendering the panel. - Your backend authenticates and authorizes the user.Your software is responsible for verifying that the user is authorized to access a given hirer ID and view performance data for their job ads. A user must not be able to request a browser token for an arbitrary organization that they do not belong to.
- Your backend requests a browser token from the SEEK API for the appropriate hirer ID and
query:advertisement-performance query:position-profiles query:ontologiesscopes.
HTTP
Copy
POST https://graphql.seek.com/auth/token HTTP/2
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"
}- Your backend responds with the browser token.
- Your frontend returns the browser token from the
getAuthTokenfunction. - The panel completes initialising and displays the relevant ad performance data.
[TEST PANEL].
Viewing ad performance for a job with this title will display mock data.See our general panel troubleshooting documentation for more information.