Job listings that disagree with the ATS
The situation. A few hundred open roles live in an ATS. The careers website is a separate CMS, updated by hand. Roles go live late, closed roles keep taking applications, and the same vacancy exists twice with different salary bands. Recruiters have started sending candidates the ATS link directly, which loses the employer brand and every analytics event with it.
The approach. Treat the ATS as the source of truth and stop writing job data anywhere else. Pull roles through the documented API on a schedule, validate each record at the boundary so a malformed or half-published role fails loudly instead of appearing wrong, and keep the site's own layer for the things the ATS has no field for: office pages, benefits, hiring-process copy.
What changes. Publishing a role becomes an ATS action, not a website ticket. Application tracking stays intact because candidates never leave the domain.
- One source of truth
- Roles live without a release