Matador Jobs 3.7.7

On, Monday, November 1, 2021, Matador Jobs 3.7.7 was released to all subscribers. You are strongly encouraged to update your websites as soon as possible, as it contains a critical work-around for a recently discovered bug in the Bullhorn API.

Along with a few other enhancements and bugfixes, this update contains a temporary work-around solution for a bug the team at Matador Software identified in the Bullhorn API. This bug, which appears to have emerged or was introduced in late September, was confirmed by Bullhorn engineers, but, at this time, may take several weeks or more to be fixed. As we are more agile and able to quickly distribute updates, Bullhorn asked us to provide a work-around, and this update includes that work-around. Any site on 3.7.6 or earlier is subject to failure due to this bug until it is fixed by Bullhorn, so to ensure your jobs website works as intended, you need to update as soon as possible.

About the emergent Bullhorn API Bug & Matador Job’s work-around

In late September, we began receiving reports from users that their sites were not working well. The issues ranged from:

  • operating slowly
  • disconnecting from Bullhorn regularly
  • abnormally large log files, including ones that caused sites to exceed disk space limits
  • and, most critically, several applications that failed to process into Bullhorn, meaning recruiting staff did not receive data about applicants causing possible loss of revenue from placements

Following the initial discovery, Paul and Jeremy dedicated nearly 100 total hours over three weeks dissecting, exploring, and figuring out what was going on. We identified what we believed was a new bug in the Bullhorn API. After working with Bullhorn support and engineers to report it, recreate it, and finally understand it, the bug was confirmed by Bullhorn.

This bug occurs when a very specific set of circumstances are in place. We will explain those circumstances in our deep dive explanation into the topic coming later this week. At this point, please be aware the circumstances are more likely to occur with users who allow optional resume submission or are in fields where highly formatted, and therefore, not processable, resumes are submitted (like creative fields).

While Bullhorn has confirmed the bug, they provided the timeline for resolution to be at least several weeks, and recommended we provide our users a work-around in the interim.

The work-around allows Matador to completely avoid the bug, alleviating all its direct and indirect impacts, but it prevents candidate descriptions from being updated on existing candidates when a resume was either not provided or not processable. Users who modify descriptions with custom modifications will see some interruption of that feature in the short term. When Bullhorn notifies us that the bug is fixed, we will remove the work-around.

We developed this work-around 10/20 and tested it widely between 10/25 and 10/29 with users who notified us that they were seeing “the bug.” Depending on how many applications were impacted, it has helped their sites recover within a few minutes to a few hours.

It is critically important to update to version 3.7.7 as soon as possible to ensure your business is not impacted by interruptions caused by this Bullhorn API bug.

All Submissions Will Now Process “In the Background”

Up to and including version 3.7.6, users could change a setting in Matador Jobs Pro to “Submit Applications to Bullhorn” either “immediately” or “in the background.”

This setting was offered initially when Matador used to communicate with Bullhorn hourly, but since 3.7.0 the frequency of communication was increased to every 10 minutes. Back in the day, in-between the hourly communications with Bullhorn, it was safe for Matador Jobs to create these on-demand separate application syncs, but as we added more and more regular syncing, the on-demand syncs started to clash with the scheduled ones.

The combination of the greater frequency since 3.7.0 and the impact of the “clashing” behavior described above, we planned to remove this setting with 3.8.0, causing Matador Jobs Pro to sync all applications “in the background.” We are implementing this change earlier than planned. Doing so will help users impacted by “the bug” to recover more quickly once the update is applied.

Some notes on this:

  • With 3.7.7, the setting will remain an option in settings, but users who modify it will not see a change in behavior. All applications will be synced “in the background” in batches every 10 minutes.
  • In 3.8.0, the setting will be removed from settings, removing confusion about its now obsolete purpose.
  • In 4.0.0, due mid next year, a planned update will upgrade application processing into a single, uniform process that is both “in the background” and “immediate.”

While We Are at It… Here Are a Few More Improvements in 3.7.7 that Makes Matador Jobs Better

While we typically focus hot fixes around bug fixes, from time to time, we sneak in some backward-compatible enhancements. Given that the development cycle for release 3.8.0 and 4.0.0 is still ongoing, we wanted to give you some of these new improvements now, instead of making you wait for them.

  • Better error handling for errors associated with application processing where Consent Management permissions errors are encountered has been added. Primarily, to not block the processing of application data into Bullhorn, when encountering a permissions error for Consent Management, a 24-hour “time out” will begin that will allow applications to resume processing but without consents data. When a time out begins, an email will be sent to the administrators explaining that Consent Management permissions are missing and explaining how to fix it.
  • Matador Source Tracking can now successfully load when given deferred loading instructions by various WordPress optimization plugins.
  • Related to the prior note, when developers want to completely override the Matador Source Tracking instantiation, they can use the new filter matador_campaign_tracking_inline_script. There are several use cases for this, including custom instantiation following asynchronous loading and/or JavaScript compression/optimization.
  • Added filters matador_bullhorn_candidate_find_candidate_request_params and matador_bullhorn_candidate_find_candidate_request_query to allow for modifications to the candidate duplicate prevention find routine. A use case would be to add or remove a search condition to the duplicate candidate prevention check.
  • Added developer filter matador_application_validator_errors to streamline the process of changing multiple form validation error strings at a time. (Previously, you could only change error strings one at a time via matador_application_validator_error_{$key}.)
  • When parts of candidate source data are unavailable or not provided, most commonly ‘campaign’, Matador will now print “NA” places where this value is added to the source string saved on the Candidate or Submission record. Prior behavior was to leave that blank, and could result in confusing source strings like (Direct//). That string will now display (Direct/NA/NA).

Bug Fixes to Make Matador Jobs Work as Intended

In this hotfix, we fixed 10 bugs that have been discovered since the last release. Most of these bugs are extremely isolated to specific use cases, including another bug fix for a 3.0.0 launch feature approaching four years old that somehow had never been discovered! I won’t list all the bug fixes, but here are the highlights:

  • True/False values for the JSON+LD directApply value are now strings, fixing issues caused by them being boolean and generating warnings during validation by Google Search Console.
  • Added error handling for when a description or publicDescription is returned as an array. A best practice is to keep the “allow multiple values” unchecked on your field mappings for description fields in Bullhorn; Matador will not accept “multiple values” for description/publicDescription.
  • Added an alternate method to encode email subject lines into UTF-8, no longer requiring the ext_mbstring core PHP library. Installation of ext_mbstring is still highly recommended.
  • Fixed a bug causing the “Recount Terms” button on the Matador Categories admin page to trigger a visual/UI error. The feature still worked, but now it is clear that it did!
  • Fixed a bug where one of the job sorting/filter options was being applied improperly in some rare, specific circumstances. This bug, which dates back to version 3.0.0 (almost 4 years ago), clearly hasn’t bothered many people, but it is now fixed.
  • Added error handling for occurrences of a job with stale ClientCorporation data values, ie: ClientCorporation is deleted in Bullhorn but a job is still assigned to the deleted ClientCorporation, resulting in an error when the job is synced into Matador Jobs.

Internationalization Updates

Matador continues to work towards being a valid solution for our international users. The following updates/fixes for internationalization are included in 3.7.7:

  • Added first drafts of German (Germany) and French (France) translations, joining Dutch (Netherlands), French (Canada), and English (US).
  • Fixed a bug causing three translatable strings in the client-side form validation feature to not show the translated strings even though valid translations were provided.

Update Now!

Matador Jobs 3.7.7 is released for the automatic update to all subscribers as of Monday, November 1, 2021. Go to your WordPress site admin area, Plugins, and find Matador Jobs Pro to update. We highly recommend you do your update in a staging environment first. If your support and updates subscription is expired, renew it on your account page. If you find any issues, please send a support request.

Deep Dive: The “Candidate Description API Bug”

In Matador Jobs Pro hot fix 3.7.7, we explained a bug we now call the “Candidate Description API Bug”. This blog post will explain the bug in more detail, as we understand it, and share what we learned during the process of researching and resolving the issue in partnership with the engineers at Bullhorn.

Hints of Trouble in Late September

In late September, we began receiving reports from users that their sites were not working well. The issues ranged from:

  • sites operating slowly
  • sites disconnecting from Bullhorn regularly
  • sites creating abnormally large log files, including ones that caused sites to exceed disk space limits by web hosts
  • and, most critically, several applications were failing to process into Bullhorn.

We began, as we tend to do when things aren’t going well, with asking some of our users to grant us access to their web sites to look at the issues ourselves and begin our research. What we found was troubling, but confusing.

HTMLTagBalancer.java:1000 x 1000

Our Matador Jobs error logs were showing us that on some–but not all–applications, the API call where we save Candidate data returned a massive error output. We’d get an HTTP 500 “Internal Server Error” and 1100 lines of error output from Bullhorn. After the first few lines of error output, one line would be repeated over and over:

HTMLTagBalancer.java:1000

We tried to narrow things down, and in doing so we were able to identify the following triggers:

  • The application included either an invalid/non-processable resume (highly formatted resumes are sometimes not able to be processed) or had no resume attached, and,
  • When processing the application, Matador found an existing candidate during its duplicate prevention routine, and,
  • The candidate had a non-empty description field with html formatted description.

The thing is, even at this point, these conditions would sometimes trigger the error, and sometimes not. We were very confused, but we had enough example data to start a ticket with Bullhorn Marketplace Partner support.

The Bug Took Advantage of Matador’s Design

Let’s pause to partially explain how Matador Jobs Pro handles errors.

First, whenever an API call to Bullhorn occurs, if an error occurs, we read the HTTP error code that is returned. Generally, “400” type errors tell us that Bullhorn thinks we gave them bad data, and Matador is trained to stop processing the call and either tell us, tell you, or ignore the call. These errors are rare. We have learned how to format data, so it is always properly ready for submission via the API.

Sometimes we see “500” type errors. These are “Internal Server Errors” for the API. In our six years of writing code for the Bullhorn API, a “500” type error was always due to a planned or an unplanned Bullhorn downtime. So, for these types of errors, Matador is trained to retry syncs later. Up to this point, we’ve never had “500” type errors that weren’t resolved with a retry that took place later.

Further, whenever error data is provided to us, we log it. Usually, error data is presented as one sentence, not 1100 lines of output. Generally, logging error data helps us make Matador better. We can read logged error (and success) messages on your site’s logs and use it to help us know what is happening.

This API bug took advantage of both of those design features and turned them into flaws. The consequences were sometimes extreme. For some users, over a hundred applications had become “stuck” in a loop of failing and retrying, with each failure logging 1100 lines of error data. This resulted with sites experiencing a constant loop of attempting to retry sync for these, over and over, with the side effect(s) of:

  • Generating massive Matador log files. One user hit their allowed disk space limit due to a Matador log that was 100,000+ lines of data!
  • Causing disconnections and stale job data.
  • Causing Matador to fail to dynamically fetch new jobs accessed via a /{ID} link (Indeed integration users rely on this).
  • Causing generally slower sites.
  • Most importantly, data about applicants that could lead to placements were not getting to the user’s recruitment teams because they were failing.

I want to pause here to make an important point: The indirect impacts of this bug are the ones that took advantage of Matador Jobs Pro error handling weaknesses and created the domino effect of issues throughout the site, but these indirect impacts were in fact a key reason we were alerted to the issue in the first place. That said, the most impactful aspect of this bug to our user’s business was the direct impact of blocking the application syncing, in other words causing applicant data to not funnel to the recruiting teams. No degree of improved error handling by Matador could have changed this outcome.

Temporary Work-Around

Even before Bullhorn engineers were able to confirm the bug, we at Matador Software developed temporary workarounds to help our most impacted users recover. Workarounds were installed as each user reached out to us while we continued to work with Bullhorn to identify the true cause of the problem and develop a fix.

Bug Confirmed

After several back-and-forth emails over 10 days, Bullhorn engineers were able to confirm the bug and recreate it in their systems. They also gave us an answer as to the cause (and explained why our three conditions were inconsistent in recreating the bug):

  • When the existing candidate’s html-formatted description had a <style> tag with inline CSS, a built-in HTML validator that ran before an API call save would be confirmed was failing. Text and HTML descriptions without a <style> tag did not trigger the bug!

That explained a lot. We finally understood how some but not all the candidates who had met the conditions we had identified replicated the problem. We were missing the final condition!

The Temporary Work-Around Becomes Part of Matador Jobs

Though the bug was now confirmed at Bullhorn, we were informed a fix would be weeks away. Due to the size of Bullhorn’s operation, it would be a while for the bug fix to get out to everyone. A timeline was offered in weeks or even a few months. The engineering team suggested we offer a work-around. While we protested because we preferred to have the bug fixed at Bullhorn, we agreed that we could offer a wide-spread resolution for our users in the short-term.

The work-around prevents the candidate description from being updated when a resume was not processed (as HTML from the resume processor appeared to not ever cause an issue). If a resume is processed in the application, the description will be updated from the resume, otherwise, the description would be unset from the found candidate data prior to data save.

This does mean that any routines where a Matador Jobs Pro install modifies the description with custom developer filters (like to add data from custom questions at the end) will temporarily not work. That said, the default install of Matador Jobs Pro does not use this feature anyway, and therefore few users will be impacted by this temporary change. We are aware of fewer than five users who run custom code to modify candidate descriptions, and we have notified them of this impact to their sites. Moving forward until the “work-around” can be removed from the code, we will discourage new installs from using this custom code point.

What We Learned

We learned some things from this experience, namely that we need to assume the worst when a “500” error is encountered, even if we think we understand the cause. We will be implementing the following protections into a future version of Matador Jobs, slated for 3.8.0:

  • Limiting error output to the logs in the rare case we find another 1100+ line bug in the future. This will prevent Matador from making giant log files that eat up disk space. The errors will be limited to a sufficient but reasonable output (let’s say instead 1110 lines of error output, we limit it to 25 lines).
  • Limiting “retries” for syncs. If a sync fails more than a few times due to the same reason, even if Matador thinks it is a recoverable failure, Matador should stop retrying.
  • In the event of continued failures due to hitting a retry limit, we need to add adequate notifications to the administrator so they’re aware of Matador’s decision to stop retrying and advise them to explore the reason why.

While those adjustments will help minimize the impact of future occurrences of bugs like this, it is important to repeat that while Matador may have room for improvement in handing a bug/error like this in the future, the fact that it mishandled this error is part of how we were able to discover and debug it as quickly as we did.

Therefore, any adjustments we make to suppress future errors should not be so strong that the suppression could in fact hide a big problem from us and our users and elongate response time!

Update ASAP!

In conclusion, this has been a frustrating and long process for us but situations like this are also why you keep your subscription active! Your initial subscription and annual renewals keep Paul and I “on the job” with four eyes watching over 500 Matador Jobs Pro user’s sites, emails, and phone calls. For no extra charge, you all received a necessary update to your sites within a few weeks of the discovery of a business-impacting emergent issue.

That said, please go update! The one thing we can’t do is force your sites to run the updates, so unless your web host provides automatic WordPress plugin updates, please go into your WordPress admin and update to Matador Jobs Pro 3.7.7.

New Extensions for Slack, Teams and Updated Extension for Social Web Suite

Today, Tuesday July 27th, 2021 we are proud to announce the release of two new Matador Jobs Pro All-Access Extensions and the release of a newly updated version of another. These are ready for immediate download and use for Matador Jobs Pro All-Access Subscribers.

Matador Jobs Pro Slack Extension

Do you use Slack in your workplace to coordinate the communication of the various members of your team? Not only is Slack an excellent way to keep in touch, but Slack Workspaces can also be fantastic places to receive notifications related to your company, including when a new Application comes in from your Matador Jobs Pro job board.

Install the new Matador Jobs Pro Slack Extension and get these notifications instantly in your Slack workspace after a few minutes of simple setup.

Matador Jobs Pro Teams Notification

If not Slack, might you use Microsoft Teams? For the same reasons a company might use Slack, they might also use Teams! Good news, we got you covered there too.

Download the new Matador Jobs Pro Teams Extension and get these notifications instantly in your Teams chat workspace after an even easier than Slack simple setup.

Matador Jobs Pro Social Web Suite

Have you used Social Web Suite? If not, check it out. Get social posts automatically generated when jobs are imported into Matador Jobs from Bullhorn.

Today we are also releasing the 1.1.0 update to our Social Web Suite extension. This contains a few bug fixes and some new post generation features.

Learn More!

Matador Jobs 3.7.5

On, Monday, July 19, 2021, Matador Jobs 3.7.5 will be was released to all subscribers. Let’s break down what is in this minor “hot fix” release.

Job Posting Structured Data 'directApply' Property Support

On July 13th, 2021, Google posted an announcement with changes to their handling of the Job Posting Structured Data, which we dissected for you, our users, in a post yesterday. In that announcement, Google revealed a new Job Postings Structured Data property ‘directApply’. This property will be used to communicates to Google (and therefore, to their users) that a job seeker can directly apply to a role from the search results on the page where the job is located.

Given the nature of Matador Jobs Pro, all users of Matador Jobs Pro (not Lite) with the “Accept Applications” setting value turned to “On” will qualify for use of ‘directApply’ and, beginning with this update, will have the property included in their Job Posting Structured Data. Users of Matador Jobs Lite or those who use an alternate application processing system (have “Accept Applications” turned off) who believe they otherwise meet the standards for directApply, should pass true to the filter matador_bullhorn_save_jsonld_direct_apply. Conversely, if your site interrupts applications in some other way and you do not meet the standards for directApply, you should pass false to the above filter or be subject to interruptions from Google for Jobs Search.

For more on this topic, check out our blog post breaking down the July 13th, 2021 Google announcement.

Enhancements to Make Matador Jobs Better

While we typically focus hot fixes around bug fixes, from time to time, we sneak in some backward-compatible enhancements. Given the development cycle for release 3.8.0 is still ongoing, we wanted to give you all some of these new improvements now, instead of making you wait for them. There were a total of 8 enhancements, some of which you may not even notice, but the all-starts of this update are:

  • To allow developers to customize how taxonomy (ie: Category, Location) data shows from job meta or the job info shortcodes and functions, you can now filter the arguments using matador_get_the_job_meta_taxonomy_args() filter. This will be most helpful for users wishing to modify the function of the link made for each term, including removing the link altogether.
  • Added support for multiple files inputs in applications. This feature will be developed more fully in 3.8.0, including with more intuitive user interface/user experience, but for site operators who can improve the UI now, support for the capability now exists.
  • Added additional information to log files to help us help you (and us) debug issues more quickly and efficiently.
  • Cleaned up the query string on pages with Matador search. Now, search fields that got no user input will not be listed in the querystring.

Technically the above mentioned directApply support is also an enhancement, but we wanted to explicitly point out separately of the rest.

Bug Fixes to Make Matador Jobs Work as Intended

In this hotfix, we fixed 10 bugs that have been discovered since 3.7.4. Most of these are extremely isolated to specific use cases, including–surprisingly–a bug for a 3.0.0 launch feature three and a half years old that somehow no one has used prior to this past month! I won’t list all the bug fixes, but here are the highlights:

  • Added better error handling for when Bullhorn API errors occur, including 429 Too Many Requests capacity errors, continuing to improve on lessons learned since the emergence of these behaviors from the Bullhorn API.
  • Fixed a troublesome bug preventing Matador from activating reconnection routines in certain cases when disconnected from Bullhorn, resulting in users needing to intervene to restore connection.
  • Fixed issues where names with apostrophes, ie: O’Shea, was still being mishandled by Matador resulting in things like O%#39Shea being included in an email. Previous attempts to fix this were successful, but the fix was too “low” in the workflow so certain actions that occurred before the bug fix, like a candidate email confirmation, were still seeing the issue. We fixed it this time for real, and very “high” up in the workflow. We hope this zombie bug is gone for good!
  • Fixed a three-and-a-half year-old bug select multiple inputs in Matador Search was resulting in 404 error search results when no items were selected for one of the fields.

Update Now!

Matador Jobs 3.7.5 is released for the automatic update to all subscribers as of Monday, July 19, 2021. If your subscription is expired, renew it on your account page. If you find any issues, please send a support request.

Optimize Your Job Board for the July 2021 Google for Jobs Search Updates

Earlier this week on July 13th, 2021, Google announced a few meaningful updates to their job posting guidelines. We at Matador Software have been helping our users build websites optimized for Google for Jobs Search since our launch in 2018, so we took note of this heads-up from Google. There are some minor but very impactful things to pay attention to in the Google announcement!

Introduction of directApply property

Google, as you may know, creates Google for Jobs Search results from “Structured Data”. Structured Data is special code not visible to a human user and written just for the indexing robots to summarize the job posting. Matador Jobs generates and includes this Structured Data for you automatically. Google only shows jobs in Google for Jobs Search that are provided with Structured Data.

Effective immediately, Google’s indexing robot can now read the new directApply property. Google wants web site operators that list jobs where a user can directly apply for the job to indicate this in the Structured Data.

The purpose for this change is to help Google highlight opportunities to users that are easy to apply for. What does that mean? Per the announcement, the following conditions must be met:

  • The user can complete the application process on the same website as the job posting without being redirected to another website.
  • Once arriving at the website from Google for Jobs Search results, the user should be either presented with the application on the same page as the job posting or need to click no more than one link to access the application.
  • The application should have no more than one step to complete.

So, therefore, in order to qualify to feature your roles as directApply :

  • You must present a job application either on the page where your job description is located or a button on the page where your job description is located that goes directly to your application. Note that pop-up forms may be okay, but bear in mind they can create accessibility issues, which opens the door to other considerations.
  • You must not require a log in or registration to a candidate portal prior to an application. If you allow registration or sign up, it must be in addition to a one-step application process.
  • You may not re-direct applicants to a third-party application service. The application form needs to be on the same website.
  • You cannot have a multiple step application. Keep your initial application short and simple and deploy automation (eg: Herefish, Sense) or redirect to a second optional “long form” after the initial application is confirmed to ask your additional/complex questions.

Although this change may not have an immediate impact, it is very likely that sites that feature ‘directApply’ will be positively impacted in Google for Jobs Search very soon.

We feel like this was added in response to the trend of the “cowboy” aggregators that have recently appeared. They scrape job data from recruiters’ websites and promote them on Google for Jobs Search. Unaware applicants click on links to these unauthorized third-party sites where they are bombarded with ads and must click a hard-to-find link to get back to the original recruiters’ websites to apply. The directApply property should help minimize the impact of this behavior, resulting in more traffic to the recruiters’ websites and less confusion for the user.

Users of Matador Jobs Pro with the “Accept Applications” setting turned on already meet the requirements to use the directApply property. Update to Matador Jobs Pro 3.7.5 beginning Monday, July 19th, 2021 to feature your roles with directApply with no further configuration required.

New editorial content policy

The second key discussion point on Google’s update was the announcement of a formal editorial content policy for Job Listings Structured Data that will be enforced beginning October 1, 2021.

Prior to today, there were several hints in Google’s Job Postings page suggesting such things as “don’t use excessive punctuation or capitals” and “avoid exaggeration” but it seems like Google will soon be upgrading those from hints and suggestions to requirements in addition to other new editorial standards.

With the stated goal of presenting only jobs that are easy to understand and apply for, Google noted the following key aspects of the editorial policy (paraphrased):

  • Use of proper spelling and grammar while avoiding all capital letter words and excessive punctuation.
  • Use of acronyms, abbreviations, and jargon should be limited to those that are “well known”.
  • Avoid the use of obstructive text or images.
  • No excessive or distractive ads.
  • Avoid content included on the jobs page that doesn’t add any value to the job posting.

Half of the editorial policy is about job titles and descriptions. Here are some tips to write great job titles and descriptions, based on our research and experience and the updates to the Job Postings editorial policy:

  • Write good content. Job Postings should accurately and efficiently describe the role without sounding like a sales pitch.
  • Avoid excessive use of superlative adjectives, especially those associated with exaggeration or hyperbole. Words like “great”, “fantastic”, “incredible”, etc should be avoided.
  • Don’t use all capital letter words except when writing proper names or acronyms. “IMMEDIATE OPPORTUNITY” can pack the same punch written as “immediate opportunity” and in fact makes for an easier reading experience.
  • While “common, well-known” acronyms are allowed, we recommend you take it a step further and define every acronym or abbreviation the first time it is included in the job ad. For example, in the context of a site hiring for the medical field, “OR” might be well known, but we recommend you write out “Operating Room (OR)” in its first appearance. This has the further benefit of returning search results for job seekers who search for either of those terms.
  • On that note, if you can, use the HTML abbreviation <abbr> tag to define all occurrences of these, even when you already defined them using the recommendation above. For example <abbr title="Operating Room">OR</abbr> results in OR. Depending on your web browser and your web site style rules, that may be presented with a dotted underline and on mouse hover or tap hold the definition would be displayed in a small box next to the text. This is not just good writing, but also good search engine optimization and good for accessibility!
  • If you don’t have a copywriter on staff, consider a service like Grammarly to help you avoid spelling and common grammar errors while getting writing style suggestions.

Other aspects of the Job Postings editorial policy are more a web developer, web designer concern than a writing concern:

  • To avoid obstructive text and images, don’t let pop-ups or pop-overs fill the screen or block your job ads. If you have a pop-up that asks users to sign up for job alerts, maybe prevent it from loading on job ads pages. Keep an eye out for other pop-ups like ones for cookie policies or chat bots, and make sure they are as unobtrusive as possible.
  • To avoid triggering the “excessive ads” policy point, just don’t have ads on your jobs page. We suspect most legitimate recruiting websites don’t have ads on their jobs pages anyway.
  • To avoid content that “doesn’t add value to the job posting,” which to us seems like most subjective aspect of this policy, aim for no more than 30% of your page being unrelated to the job and its application. We’ve seen some recruiting companies add blocks of content under each job explaining their “process” or “culture” and suggest this would be better accomplished with a link to dedicated process or culture pages. We will work with our users to monitor traffic from Google for Jobs Search following the enforcement kickoff for this editorial standards policy on October 1, 2021 to figure out a sweet spot and share it with our users, or you can play it safe and edit your site now.

Improving Trust with Applicants

To close out their announcement, Google included several bullet points site operators can use to “improve job seeker trust.” This implies that the reasoning behind these changes are to improve users’ overall experience—and likely in part a response to the emergence of the “cowboy” aggregators we discussed in the directApply section which have done damage to the job seeker trust of Google for Jobs Search. Here are their tips:

  • No scammy/spammy posts.
  • Ensure good user experience, with an emphasis in ease-of-use and minimal distractions/interruptions.
  • Remove expired postings. People don’t like clicking links that go to missing jobs.
  • Use genuine job posted date. Google wants us to avoid updating the job date posted without materially changing the job details; don’t “bump” a job to the top of your list by updating your job date only.
  • Don’t use misleading information in the job details, like incorrect salary, shift times, or employment type.

We feel all our users and most, if not all, legitimate recruiters are following at least the four of the five points in this section, but we do want draw specific attention to the fourth point, which we’ve seen several of our users employ to push job listings to the top of the feed. If you want to update the date posted, be sure to update other aspects of the listing to not run afoul of Google’s expectations.

Quality Content and User Experience

At the end of the day, this notice from Google only reinforces what has been the rule since day one of Google for Jobs Search: good user experience and honest, straightforward job postings.

Again, from our reading of these updates, it appears Google is seeking to improve the experience and root out the bad actors that have emerged. Given Google’s history of success in ensuring general search results quality, we are sure they will be successful, and we strongly encourage all recruiters to adjust as is necessary, if at all, to come into compliance with Google’s revised expectations.

For more information, read the notice from Google.

Matador Jobs 3.7.4

Today, Monday, March 29, 2021, Matador Jobs 3.7.4 released. It contains a critical update to handle changes to the Bullhorn API. You should update your site immediately or face a disruption in your application processing!

Applications Unable to Sync Due to Bullhorn API Changes

It would appear that last week and through today, Bullhorn began rolling out an update to their API that changed how it responds to certain developer actions. The result is that Applications with included files (Resume/CV) are failing to complete sync.

Matador Jobs was modified to handle these previously unexpected responses, such that all Applications will now sync successfully. Users should update Matador Jobs immediately to avoid any disruption. If your site was affected by this, Matador Jobs will collect and successfully sync your applications in the hours following the update.

Technical Explanation

Whenever a connection is made via HTTP–the infrastructure that manages the internet–a response is sent back. The response usually has information in the body, but it always comes with a response code. The response code is a simple quick initial check we can use as programmers to determine how things are going, and are the first thing we check.

When sending files to Bullhorn via the API, Matador used to expect a HTTP 200 OK response when things went right. Late last week in our testing sandbox, we saw Bullhorn beginning to send HTTP 201 CREATED responses for files. We began a conversation with Bullhorn about a rollout plan for this, and were surprised to start the day with numerous issue reports from many of users that implied the rollout was underway.

Moving forward, Matador Jobs will accept HTTP 200 OK, HTTP 201 CREATED, and HTTP 202 ACCEPTED as successful responses from Bullhorn.

Other 3.7.4 Changes

  • Fixed an issue causing {{firstname}} and {{lastname}} variables to not work in email templates.
  • Updated Dutch (Netherlands) translation file.

Update Now!

Matador Jobs 3.7.4 is released for automatic update to all subscribers as of today, Monday, March 29, 2021. If your subscription is expired, renew it on your account page. If you find any issues, please send a support request.

Matador Jobs 3.7.3

Today, Monday, March 22, 2021, Matador Jobs 3.7.3 released. It contains updates to handle changes to the Bullhorn API and a few bug fixes.

3.7.3 Changes

  • One of our users reported a failure of Matador Jobs after it encountered an HTTP 429 Too Many Requests response from the Bullhorn API. We had never seen this occur before, and we suspect Bullhorn may be making changes to their API to protect its health and uptime. The downside of this was Matador failed spectacularly when encountering this; we hadn’t taught it how to handle a 429 error! In 3.7.3, Matador will end its sync safely when Bullhorn’s API says “too busy, not right now.”
  • Our user Rich W found an issue with the “Redirect Application to Page” feature that could result in the application form missing the Bullhorn ID and therefore not properly being added as a submission to a job. We fixed this in 3.7.3.
  • Our 3.7.2 update, which “fixed” an issue around emails not sending when certain settings combinations were in use. In making the fix, we added some extra protections which, ironically, resulted in some emails being sent twice! We removed those extra protections… they were ultimately not needed and absolutely causing issues!
  • So Matador allows you to choose whether to use “Resume”, “Curriculum Vitae,” or “CV” to describe the qualifications summary document of an applicant. But what if you want to add the accent to the e’s, as in résumé? Now developers can use the developer filter resume_or_cv to modify the output of this value.

Update Now!

Matador Jobs 3.732 is released for automatic update to all subscribers as of today, Monday, March 22, 2021. If your subscription is expired, renew it on your account page. If you find any issues, please send a support request.

Matador Jobs 3.7.2

Today, Monday, March 8, 2021, Matador Jobs 3.7.2 released with three bugfixes and a few helpful developer tools following the release of 3.7.0 and 3.7.1 last month.

3.7.2 Updates

  • We identified and fix a bug that affected sync failures when a certain combination of settings related to emails to recruiters and sync processing.
  • We fixed an issue causing the option to show or hide Matador Jobs CSS on users of the WP Job Manager extension to not show. For some sites that relied on the Matador Jobs CSS, this was causing the CSS to not be loaded and their sites to behave improperly.
  • Our 3.7.0 release notes explained we added handling for Bullhorn’s secondaryOwners on the candidate entity, but the code to support that actually was not added to the 3.7.0 release. It is now included.
  • We fixed a few translation issues in the Netherlands Dutch translation. Thanks to Ruud B. at Smaac for the help!
  • Template builders rejoice! Template function matador_the_job_posted_date() has been deprecated in favor of the new matador_the_job_date(). This is just a more intuitive function name than the other which regularly tripped up both Paul and Jeremy, as well as others.
  • New developer filter matador_the_jobs_link to filter the jobs URL. Useful to append an anchor target to your jobs URL if you have a large header before your jobs list. Thanks to Ryan and Chris at Intertech for the idea.

Update Now!

Matador Jobs 3.7.2 is released for automatic update to all subscribers as of today, Monday, March 8, 2021. If your subscription is expired, renew it on your account page. If you find any issues, please send a support request.

Get More Social Engagement And More Applications by Removing Social Sharing Links on Jobs

Since the early days of the internet, anybody who puts something on the internet wants to have it rebroadcast everywhere possible. Long ago that was to sites like Digg and Newsvine (RIP) and niche message boards and as of late that is to social media sites like Facebook and Twitter, but regardless of when we were sharing, there was almost always a “share” button to make it easier.

So where are those “share” buttons on our jobs?

While Matador Jobs is known and designed to be nearly infinitely customizable, we purposely chose to omit social sharing tools on the jobs. This is one of the few ways we’ve ever truly pushed our thumb on the scale to influence our users. We believe that your business will be better without social sharing links and it boils down to two key reasons:

  1. Job Seekers Don’t Share Jobs, and,
  2. Recruiters Should Share Jobs “On Purpose”

Let me break those down.

Job Seekers Don’t Share Jobs

Early in Matador Job’s lifespan, we had the fortunate luck of working with an agency user who had hired a User Experience/User Interface expert to help them improve their site.

The UI/UX expert had a few changes for him that were on us at Matador to help with. We took this advice and pushed it beyond just that one client’s site.

Today, we still reference that free insight from that skilled expert on User behavior. Though that insight is getting a little dated, if you’ve ever talked to us on the phone or a video call, you probably have heard us talk about one of the key points from that insightful feed. It was, and still is valuable insight.

One of those insights was this: job seekers won’t share jobs.

It makes sense, if you think about. Why would a random job seeker happen upon a job board site, see a job they think is great, and put it on their Facebook profile for their Uncle Joe to see? I mean, why would they even share it on a professional social network like LinkedIn when doing so could increase the competition they face in landing that role for themselves?

A second related insight was: don’t distract the user.

So why not just keep the buttons, even if they don’t get engagement? Well, those “share” buttons are distractions that could result in the user (applicant) not doing what we want them to do (applying).

Good UI/UX promotes simple, distraction-free design in order to illicit the desired response from the user. The social sharing buttons could potentially distract an applicant from completing their application at all.

So, not only do job seekers not share jobs, but the presence of sharing tools could make it less likely for them to even apply!

Recruiters Should Share Jobs on Purpose

“But Jeremy,” you interject, “I need the buttons so my recruiters can easily promote jobs on social media!”

I hear you, and my response is: if they want or need to share the jobs on social media, they should put more effort into it than just clicking a “share” button!

Social sharing tools, including the one we started but removed from Matador Jobs all those years ago, provide a “draft” social post that usually has some generic placeholder words. They might be something like:

“Check out this #job I just saw on ABC Jobs!”

That’s pretty unhelpful, right? What makes it worth my time to visit? If I scrolled down to that social post about a job, why would I be compelled to click the link? Answers are: yes, its not helpful, no its not worth my time, and no, I am not compelled to click that link.

If your recruiters use social media to share roles, they should be doing it “on purpose“. They can do this in two ways, starting with writing a great post. Take this one for example:

“Fantastic opportunity for an accountant with at least 5 years of experience to join a prestigious company and work in the incredible FiDi of San Francisco; the financial center of the west coast. Enjoy great pay and benefits, and take advantage of incredible career advancement opportunities. See more here…”

Imagine I’m an accountant with 5 years of experience and I live in or want to live in the Bay Area of California… you just got my attention! And it has great pay and benefits and opportunities for advancement? Hmm. I might just need to click on that link!

The second way your recruiters can share “on purpose” is to use a campaign link building tool to track user engagement with their posts.

So many of our users don’t realized that if you append campaign tracking variables to your job links, the values you include in the variables can result in the “source” value in the Bullhorn Candidate (for new candidates) and Bullhorn Submission (for all applications) will have that info.

So let’s say I am writing three social posts for LinkedIn for the same job. Each post focuses on a specific aspect of the role, and I add utm_campaign=Mar1Social1 to one job link and utm_campaign=Mar1Social2 to the end of another. When a person applies after clicking on the second link, your “source” will say this: ABC Jobs (Social/LinkedIn/Mar1Social2).

With this information, you learned that the second of the three social posts grabbed the most attention from your audience! Now next time you share a job posting, you might make your post most like your 2nd one that day.

We use this campaign link builder tool, but there are lots out there to help you with this, including some popular WordPress plugins.

Wait, What About Refer-a-friend Programs?

A third use case for social sharing tools we occasionally hear is related to refer-a-friend programs. These are where an employee will tell their friends about their job and, if a friend gets hired, they referring employee gets a bonus.

Generally, this is an uncommon use case for Matador Jobs since we commonly work with agencies as opposed to direct hiring companies, but when a direct hiring company uses Matador Jobs and they need social sharing for a refer-a-friend program, fear not.

Because Matador Jobs job posts are simply WordPress posts, any WordPress plugin that adds social sharing buttons to a custom post type can be added to your site to add social sharing buttons to your jobs.

That said, in order to prevent applicants from becoming distracted as we previously explained, we do advise our users make a special page for internal users only to house social sharing buttons for this purpose.

So, Skip the Social Sharing Buttons

So, get the best results out of your Matador Jobs powered job board and skip the social sharing links! Keep your applicants focused, and teach your recruiters to post to social networks on purpose, and you will have fantastic results!

Announcing Matador Jobs Pro All Access Extension: DaXtra

Today, February 22, 2021 we release version 1.0.0 of our newest Matador Jobs Pro All-Access Extension: DaXtra. It is available for immediate download by our All-Access Subscribers on its extension page (requires a logged in user to see download button).

What is DaXtra Technologies?

DaXtra Technologies is another Bullhorn Marketplace Partner like Matador Jobs and they provide a number of extremely powerful tools to help recruiting agencies and HR departments find and place talent. Their tools include three that we’ve been able to integrate onto Matador Jobs powered job board marketing sites. They are:

  • DaXtra Apply
  • DaXtra Match
  • DaXtra Capture

In order to use this Extension, active subscriptions in the various DaXtra services is required. Good news though, you can pick-and-choose which features you need; use one or all!

Extension Features

The key features of the extension are:

  • Replace the Matador resume upload with a new resume upload that accepts inputs from not only the local device, but also Microsoft OneDrive, Google Drive, and Dropbox. This will improve response rates from mobile device users. (Requires DaXtra Apply)
  • Submitted resumes are parsed and the application form is automatically filled out with data from the parsed resume. This is excellent for sites with longer application forms! (Requires DaXtra Apply)
  • Either via an application form or widget/shortcode, once a user has parsed as resume, they can get recommendations for other jobs based on their resume! (Requires DaXtra Apply & DaXtra Match)
  • Instead of directly submitted applications to Bullhorn, submit them to DaXtra Capture for advanced parsing and AI-based processing to create Applicant data with more detail than ever before (Requires DaXtra Capture)

Learn more about the features with this helpful video!

Matador Jobs Pro DaXtra Extension Features

Get It Now!

Matador Jobs Pro DaXtra Extension is ready for download and installation now! Visit its extension page for more information and to download (log in to see download button).

Matador Jobs Pro DaXtra Extension has been tested and supports PHP versions 7.1 to 7.4 and WordPress versions 5.4 to 5.6, though we strongly recommend users always run the most up-to-date PHP and WordPress versions available to them. DaXtra features require active subscriptions with DaXtra Technologies.

Matador Jobs Pro DaXtra Extension requires an All-Access level subscription. If you don’t have a subscription, sign up now, or if you need to upgrade, you can do so on your account page. If you’d like a demo of Matador Jobs Pro or the DaXtra extension, request a demo. If you find any issues or need help setting it up, contact us via our support form.