Advertising a job search project

Advertising a job search project

Usually everyone is looking for a job, but we, on the contrary, advertise it.

down

Audit

We collaborated with a major employment portal, which tasked us with defining specific goals and KPIs for advertising campaigns. Advertising had been conducted previously, but its results were not fully understood. Without an understanding of the results, it is impossible to accurately calculate the optimal budget.

We started with an audit of advertising campaigns and immediately noticed obvious imbalances. In some cities, the rates were too low. We analyzed, for example, the conversions that were already set up in the account. Without even going into the correctness of their settings, we simply did a basic audit: we looked at how the campaigns worked in different cities. And we saw that in a number of cities, the ads were practically not being shown.

Next, we turned our attention to keywords. For example, the query “work in Kiev” was missing from the advertising account — such words were either completely absent or paused. I am giving this as an example, but there were many such cases: there were no ads for key queries in large cities. When communicating with the manager, it turned out that these words allegedly “did not work” and were disabled at some stage of the internal evaluation of the effectiveness of the campaigns.

This was perplexing and led us to believe that we needed to completely revise the semantics, or better yet, restart all campaigns from scratch. For example, in some campaigns, we found a -100% bid adjustment on mobile devices. This meant that ads were not shown to mobile users at all. When we asked “why?”, we again received the answer: the ads were not paying for themselves, so they decided to turn them off.

In order to avoid having to deal with all these controversial decisions, we decided to restart the campaigns from scratch. But before that, we needed to clearly define the goals of the advertising campaigns. We started by analyzing the website and analytics data.

Usually everyone is looking for a job, but we, on the contrary, advertise it.
Usually everyone is looking for a job, but we, on the contrary, advertise it.
Usually everyone is looking for a job, but we, on the contrary, advertise it.

Analytics and conversion value calculation

We saw that one of the main conversions is registration on the website. After that, various scenarios are possible. A person can actively respond to job vacancies (and there may be several such responses) or upload a resume. There are also passive users — they register but do not respond actively, only posting their resume to stay in touch with employers.

At the first stage, we set out to calculate the ratio of the value of these actions. We identified three key conversions: registering on the site, responding to a job vacancy, and creating a resume. We needed to understand how they were related.

Based on historical data, we calculated that, on average, a person actively looking for work (for example, within a month) responds to about 10 job vacancies. Therefore, if a user registers, the probability that they will start responding is about 50%. That is, one registration brings an average of up to 10 responses, and half of the registered users are actually active.

If we take a response as a conditional unit of value, then registration is equivalent to approximately five units (taking into account that half of registrations lead to responses). With this understanding, we were able to build a system of “synthetic value” for conversions.

Next, we moved on to resumes. This is a separate funnel. Here we had specific data: which companies and how much they pay for access to the resume database, which cities are more valuable, and which areas of expertise are in demand. We calculated that, on average, creating a resume is equivalent to approximately 50 conditional units of value. This figure varied depending on the city and professional category, but the order was clear.

Thus, we built an internal system for calculating “synthetic income.” It allowed us to evaluate the effectiveness of advertising not by the number of registrations or responses themselves, but by their value. For example, one campaign could bring in many registrations but few resumes, and another could do the opposite. We could balance these results and understand where to allocate the budget.

After we calculated the value of each conversion on the website, we were able to evaluate the performance of campaigns taking into account “synthetic income.” Some campaigns were geared toward responses and registrations, while others were geared toward resume creation. Now we could see which campaigns worked better, which worked worse, and how much we could spend on each of them.

The next step was to analyze by city. After all, responses and resumes do not generate income on their own. The company's revenue comes from employers who pay for access to the resume database, for filling vacancies, and for viewing responses. As a result, the key factor was the combination of “city + specialty.” In some places, the employer market is solvent and willing to pay more for candidates, while in others it is less so.

The sales department, of course, worked on its task: selling access to the database, offering placement packages, highlighting vacancies, additional services, cross-selling, and upselling. But for us, as marketers, something else was important: how much revenue each category of applicants actually brings in and from which cities. And based on this data, we adjusted rates and allocated budgets.

Here we compiled a summary table: how much revenue we receive, how many vacancies there are in the region, how many responses are needed on average to fill one vacancy. Let's say we know that it takes an average of 100 responses to fill a vacancy. This means we can calculate approximately how many responses are needed for each specialty and in each region. From this, we can determine how many new user registrations or reactivations of old accounts we need to obtain, and how much we are willing to spend on this GEO and this direction.

After this analysis, it became clear that in some regions, relatively small expenses generate significant income. In others, on the contrary, there are few paying companies, but advertising costs are high. We calculated a conditional ROAS. It was “synthetic” because there was no direct link between specific income and expenses. But the ratio of these values could be used to determine where to increase the budget. Where there were many vacancies and few responses, we risked losing employers: if they did not receive candidates, they would leave and stop paying for placement. In such cases, we had to increase the flow of traffic and responses. And where there were almost no paying companies, we could cut costs and rely more on organic traffic and natural registrations.

Thus, we completed the analytical part and were able to adjust budgets by region and campaign type. The next step was to model the “ideal world.” This was more business analytics. We calculated how much the company was willing to spend on marketing overall, based on a percentage of gross revenue. In most companies, this is 5–10%, in rare cases up to 15%. We focused on these parameters, but now we could apply them not only as an average for the business, but also in detail: by direction, specialty, and city. This allowed us to maintain the overall proportion, avoiding imbalances in either direction.

This enabled us to calculate the “synthetic income” generated by each conversion on the website, correctly configure events where they were broken or missing, and forecast potential income. On this basis, we set acceptable costs and prices per conversion by city and profession. This gave us new baseline data that made it clear where and how much we could spend, and where we could cut budgets.

The result was maximum transparency in campaign analytics, clear KPIs, and the ability to manage the budget flexibly. If necessary, we could increase it or leave it at the same level, simply redistributing it between regions and areas. For example, a new company came in — a major FMCG player that needed employees to launch a supermarket in a specific region. We knew which campaigns to strengthen and how to increase budgets to attract more registrations and resumes from that specific location. What was irrelevant yesterday became important today, and the advertising system allowed us to quickly adapt.

Large-scale 360° campaigns and working with partners

The case with the launch of a performance campaign, which we combined with a reach campaign and subsequent post-view analysis, deserves special attention. It was a large-scale wave advertising activity that included digital, outdoor advertising, TV, and radio. But within the digital sphere, I would like to highlight two different approaches.

We launched the first type of campaigns through an agency we trusted. These are experienced specialists who know how to conduct analytics competently, clean up sites from low-quality traffic, work with the target audience, and limit the number of impressions per user by IP or User Agent. In other words, they were able to build reach campaigns with clear KPIs and performance monitoring.

On the other hand, if we're talking about performance marketing in the media sphere — whether it's Google or Facebook — it also partly works on brand awareness. It's just that the KPIs in such campaigns are different: the indicators may shift towards CTR, CPM, and other metrics. But at the same time, there is always an achievable goal: registration, resume creation, or response to a job vacancy. On the one hand, these are performance tasks. On the other hand, when we work on a brand, the ultimate goal is still the same: to increase organic traffic, grow brand queries, and, ultimately, increase targeted actions on the website — registrations and responses.

Despite the difference in approaches to performance and brand awareness campaigns, businesses are ultimately interested in the metrics that directly or indirectly affect revenue. And these are always target actions on the website — whether it's registration, creating a resume, or responses that come from both brand queries and ad clicks.

Our analysis yielded an interesting conclusion. Performance campaigns showed better results: yes, they did not provide huge reach, and the audience was more narrowly focused. But with smaller budgets compared to classic reach campaigns, they brought in 50% more target actions, and in some regions even twice as many. And this is considering that reach campaigns additionally increased organic and brand traffic.

Therefore, when many people say that “we need a reach media campaign,” it seems to me that in some cases it sounds like disingenuousness. Yes, reach and brand awareness are important, and you can't do without them. But one way or another, businesses will evaluate the effectiveness of advertising solely based on the business model: how many target actions it brought and how much additional revenue it generated.

Conversion analytics

Campaign relaunch

ROAS regions

Partners control

Affiliate marketing is a separate story. At the beginning of the article, we wrote about strange anomalies: for a number of key queries in the account, “negative” bid adjustments were set on mobile (-100%), or ads were paused altogether. Upon further analysis of affiliate traffic — through Google BigQuery, server logs, and analytics — we saw the real picture.

It turned out that one of the marketing department managers had agreed with partners that we would stop our own advertising and transfer the traffic to partners. Essentially, it looked like this: we would disable direct traffic purchases for branded and main search queries, and the partners would “transfer” this traffic through their tools and resell it back to us at twice the price. At first, this seemed implausible, but after a detailed audit, everything became clear — part of the budget was simply leaking down the chain.

We were forced to take drastic measures: the employee was fired, accounts were restructured, and all suspicious integrations and partner codes were cleaned up. In Google Tag Manager, we removed several scripts that replaced source/utm parameters within the session — when switching between pages, the visitor's traffic source changed to “partner,” even though the initial transition was from a search advertising campaign. After that, we set up strict attribution rules in Google Analytics and Google Ads: we added last non-paid channel rules and revised the source priority logic.

Next, we started working on affiliate networks: at the initial stage, we spent about 15–20% of the budget on affiliate marketing — partly for testing, partly for old contracts. During analytics and negotiations with honest partners, it became clear that legitimate networks provide a stable but insignificant volume of high-quality registrations. After we cut out dishonest sources, the net volume of real affiliate conversions decreased, and we reduced the share of the budget for partners to 2–5%.

How did we identify dishonest practices? First, we compared attribute chains: if a registration followed a transition from search advertising, and then a transition marked “partner” was recorded in the logs, it was suspicious. Second, we looked at time patterns: spikes in registrations that coincided with partner uploads. Third, we checked the correspondence of IP ranges and user agents — often the substitution occurred through partner scripts that launched iframes or redirects and changed the referrer/UTM within the session.

After identifying such cases, we introduced strict criteria: partner traffic must be “clean” — that is, without a previous click on our paid campaign; only in this case does the partner receive remuneration for the lead. We also introduced a test payment for quality registration (pay-per-lead) and additional KPIs: retention, conversion to payment/completed transaction, and return rate. Partners who could not confirm the purity of their traffic were excluded.

Technically, we automated some of the checks: we set up daily source reconciliation in BigQuery, UTM string comparison, geo and time anomaly detection, and retention reports. This allowed us to respond more quickly: if a network started to “inflate” traffic in a questionable way, we immediately suspended billing and launched an investigation.

The result was budget savings and increased efficiency. We eliminated the “drain” of approximately 15% of the advertising budget, which had previously been wasted, and returned part of the expenses to transparent channels. For the business, this meant increased marketing profitability and a more predictable return on investment model.

Practical steps that had an effect: We introduced alert thresholds — for example, if the share of affiliate traffic in a region grows by more than 30% per day, the system flags the source for verification. We introduced KPI thresholds for quality (partner CR no lower than 50% of direct channels, average time on site and bounce rates within acceptable limits).

When onboarding new partners, an integration test (up to 200 visits), script audit, and signing an SLA with KPIs and penalties for fraud are mandatory. We legally stipulated a ban on UTM/referral substitution and the right to audit.

We have technically implemented server-side tracking and daily reports in BigQuery to quickly respond to anomalies. Weekly analysis of results with commerce and partner managers, monthly budget review.

For practical implementation, we have prepared templates: an SQL query to match UTM chains between server logs and analytics data, an SLA template with a payment formula (base rate + LTV bonus), and a dashboard in Looker/Looker Studio, where sources, CR indicators, average LTV by channel, and a list of anomalies are visible in real time. These tools not only allow you to catch fraudsters, but also to understand which affiliate networks really bring long-term value — and accordingly reallocate your budget in favor of the most effective channels.

Key points

In any business, you can calculate the value of conversions, determine the overall marketing budget, and allocate it by region, direction, or product. The issue always comes down to competent analytics: you need to allocate time and resources to calculate everything correctly. This is feasible, especially since Google now recommends switching to value bidding.

Affiliate marketing can bring stable results, but only with strict control, automatic checks, and legal protection. This requires time, tools, and someone to do it.

If necessary, we will audit your affiliate sources, check your GTM scripts and attribution settings, and prepare SLAs and procedures that will eliminate budget leaks and increase marketing profitability. Please contact us.

Contacts

Kyiv, Ukraine
Dniprovska emb. 1
BC «Silver Breeze»

info@wamp.com.ua +38 (098) 7000-742

Thank you for contacting us!

We will contact you shortly.