Going forward, the SEEK ad products available for selection will vary between hirers, markets, and over time.
For example, an Australian hirer may choose between
Classic
, StandOut
and Premium
or just StandOut
and Premium
,
while a Singaporean hirer may have access to Basic
, Branded
and Premium
.We have built a new SEEK-hosted panel and GraphQL query to accommodate this new variable model for ad selection.
Your software must adopt one of these dynamic options and must not hardcode any logic based on specific names or identifiers as SEEK ad products may continue to evolve.
SEEK strongly recommends using the Ad Selection Panel for your integration. It will significantly reduce development time and ongoing maintenance, as well as provide an up-to-date user experience for SEEK hirers.
Adopt the new Ad Selection Panel by including its script tag on the webpage where the panel will be displayed:
HTML
Copy
<script
type="text/javascript"
- src="https://seekcdn.com/hirer/indirect-posting/product-selection-panel/seek.js"
+ src="https://integration.seek.com/panels/SeekApi.js"
></script>
While its visual refresh will be immediately noticeable,
the new Ad Selection Panel also integrates with your software differently under the hood.
- The panel is rendered via
SeekApi.render
:JavaScriptCopy- SEEKAdPostingWidget.render(containerNode, options);
+ SeekApi.render(containerNode, 'adSelection', props);
The render function must be called on page load and whenever the properties of thepositionProfile
input change. For example, if the hirer selects a new location, you must re-render the panel to reflect updated products and pricing. - The render function accepts a revised set of
props
:Legacy optionNew propDescriptionlocale
New localisation optionselectedAdvertisementProductId
New behavioural optionsellingPointsDisplay
New visual optiondraftAdvertisement
positionProfile
Revised job ad fieldsonChange
onChange
Revised product fields inevent
isValidationEnabled
showFormValidationError
Same behaviour as beforegetAuthToken
getAuthToken
Same behaviour as beforeadvertisement
Inferred frompositionProfile.profileId
disableCSSOMInjection
No longer supportedinstanceId
No longer supportedmode
Inferred frompositionProfile.profileId
onInitialLoad
Fallback is removedtheme
Default theme is brand neutralThe newpositionProfile
prop has been extended to accept salary details. We recommend rendering ad selection after you capture salary information in your posting workflow. This will enable your software to supply the optionalofferedRemunerationPackage
andseekAnzWorkTypeCode
inputs, which SEEK can use to better predict—and inform the user of—how each ad product is likely to perform. - The
onChange
callback returns an object identifier for the selected product.A human-readableadvertisement.typeCode
is no longer provided. The object identifier should be propagated to theseekAdvertisementProductId
field when previewing, posting or updating the job ad.JavaScriptCopyconst event = {
- advertisement: {
+ selectedProduct: {
- typeCode: 'StandOut',
+ id: 'globalPublicTest:adProduct:seekApi:11111111111111111111111111111111',
// ...
},
};
- The
onChange
callback returns the features supported by the selected product.Your software must conditionally display brand selection and search bullet point inputs based on these dynamic feature indicators. You may have a similar capability if you integrated with the feature indicators of the previous Ad Selection Panel, but we now provide parameters that detail which brand components and how many bullet points are supported:JavaScriptCopyconst event = {
- advertisement: {
+ selectedProduct: {
features: {
- brandingIndicator: true,
+ branding: {
+ coverImageIndicator: false,
+ logoIndicator: true,
+ },
- searchBulletPointsIndicator: true,
+ searchBulletPoints: {
+ limit: 3,
+ },
},
// ...
},
};
- A hardcoded fallback field is no longer recommended.Error handling is now largely managed within the panel itself. If you implemented a fallback for the previous panel you can now remove it.
- Internet Explorer 11 is no longer supported.We are not able to provide ongoing support for Internet Explorer as it is retired and out of support .
You can preview the new Ad Selection Panel below,
and see our panel implementation guide for more information.
Basic
SGD 260.00
Find great candidates with our basic ad
- Similar ads get between 10 and 20 applications
- 30-day listing
- Include your company logo
Branded
SGD 320.00
Stand out with branding and key selling points
- Similar ads get between 20 and 30 applications
- Add company images to promote your brand
- Highlight 3 key selling points to attract candidates
Premium
SGD 540.00
Attract more candidates on average with a featured listing
- Similar ads get between 30 and 40 applications
- Priority listing in search
- Get candidates fast
Ad prices vary based on many factors including the supply of, and demand for, candidates for the advertised role. Prices shown represent today’s prices only. If you schedule your job ad for a future date, you acknowledge and agree you’ll be charged the price of that ad at the date it’s published on SEEK’s website.
Display the brand selection field here.
onChange
Copy
{
"selectedProduct": {
"id": "globalPublicTest:advertisementProduct:products:AXwwLCx2cqKvgEvULe6reS",
"features": {
"branding": {
"coverImageIndicator": false,
"logoIndicator": true
},
"searchBulletPoints": null
}
}
}
Your custom user interface must be rebuilt on our new
advertisementProducts
query,
which should be simpler to maintain over time and more flexible.Note the following high-level differences compared to the legacy ANZ-specific queries:
- A single query serves both posting and updating a job ad.This is similar to how we provide one SEEK-hosted panel to serve both scenarios.The query must be called on page load and whenever the properties of the
positionProfile
input change. For example, if the hirer selects a new location, you must re-render the panel to reflect updated products and pricing. - A variable number of ad products may be returned.Previously, the ANZ-specific queries would always return 3 ad products. Now, your interface must be capable of displaying 1–3 ad products and we recommend accommodating 4 ad products. If there is a hard limit to the number of ad products that you can display, you must provide a
limit
to the query so that SEEK can provide the most relevant set of products within your constraints. Do not manually truncate the returned list as that may exclude highly relevant products. - A variable set of ad products may be returned.Previously, the ANZ-specific queries would always return
Classic
,StandOut
andPremium
. Your software must not hardcode any logic based on specific ad product names or identifiers. - The data structure and associated business logic should be much simpler.Previously, the ANZ-specific queries had a complex data structure and display rules. The new
AdvertisementProduct
object has a smaller selection of fields that can be directly mapped to your user interface.
Jump to our GraphQL implementation guide to get started.
Due to the variable nature of SEEK’s product ladder,
the new panel and GraphQL query return ephemeral identifiers that reference the set of products quoted at that point in time.
When a hirer selects a product and your software propagates its identifier to post or update a job ad,
SEEK will scan recent ad selection contexts for a match and attempt to lock in the exact quoted product features and pricing.
Products presented to a hirer are only valid within the context of the workflow that they were executing at the time.
The selected product identifier may be temporarily stored in a job ad draft, for example,
but it must not be persisted long term alongside a posted job ad or to build a hardcoded mapping.
We are still evaluating how we can best expose detailed pricing information to partners with our new ad selection interface.
If your software requires access to the actual pricing values to display combined checkout summaries or drive budgeting functionality, please contact SEEK to provide your feedback.
Your software should omit the deprecated
seekAnzAdvertisementType
field in favour of a seekAdvertisementProductId
sourced from our new panel or GraphQL query.See the relevant use case documentation for more information.
In a typical update workflow,
you should present an ad selection interface to the hirer so they can choose to upgrade their ad product.
Your software should omit the deprecated
seekAnzAdvertisementType
field in favour of a seekAdvertisementProductId
sourced from our new panel or GraphQL query.Under certain circumstances,
it may be infeasible to present an ad selection interface to the hirer when an update is made.
For example, the update may be driven by a back-end process in your software rather than an individual user interacting with an update workflow.
In such scenarios, you should omit both
seekAdvertisementProductId
and seekAnzAdvertisementType
to retain the current ad product.See the relevant use case documentation for more information.
The following criteria need to be met before progressing to the next page:
Criteria | Description |
---|---|
Ad selection built | SEEK hirers can select available SEEK ad products and see pricing when creating or editing a job ad in your software |
Ad selection re-render implemented | SEEK hirers can see new products when the position location, job category or title has changed |
Ad selection fallback removed | SEEK hirers must not see a dropdown list of hardcoded ad types when the Ad Selection Panel fails to load |
User experience signed off | SEEK has signed off on your ad selection user experience |
Job ad posted successfully | Hirer can successfully post a job ad to SEEK with their selected ad product |
Job ad updated successfully | Hirer can successfully update a job ad to SEEK with their selected ad product |