A real business, ready to scale on search.
Robin.jobs reached out to us looking to grow. They are a recruitment platform that connects international candidates with temporary employment agencies and living-wage jobs across Europe, and they had built a real business doing it. What they wanted now was a paid search engine that could bring in candidate registrations consistently, across many countries at once, without the cost per sign-up running away from them.
Most of their existing growth had come from other channels. Google Ads was the opportunity they had not fully tapped, and the one with the most room to scale, because search is where someone actively looking for work abroad starts.
But there was a catch that mattered more than the ads themselves. You cannot optimize what you cannot measure, and the candidate journey here is long: a registration is only the first step, and what happens after it, the offers viewed and accepted, is what tells you whether the traffic is any good. So before we spent properly, we had to build the tracking that made the whole funnel visible.
Many markets, one sustainable cost.
Robin.jobs operates across many EU markets at the same time. Each market has its own language, its own cost level, and its own candidate behaviour, so a structure that works in one can waste budget in another.
The job was to grow registrations in all of these markets at a sustainable cost per sign-up, and to do it without one or two expensive markets dragging the whole account down.
Running 19 markets at once, an account-level number lies to you: a healthy blended cost per sign-up can hide one market bleeding budget while another carries everything. We could not optimize what we could not see per market, so the tracking had to break every metric down by country before we spent at scale.
And none of that could be optimized until the funnel was tracked end to end. A registration on its own does not tell you much.
We needed to see what happened after it, all the way to an accepted job offer, so we could tell good traffic from noise and feed the machine the right signal. So we focused on two things at once: building the tracking, and building the account.
Two workstreams, built together.
The tracking and the Google Ads work ran in parallel, each feeding the other. We built the measurement layer first so the account had honest signal from day one, then scaled the campaigns market by market on top of it.
a Conversion Tracking & GA4
Before optimizing toward anything, we set up the full candidate-funnel tracking through Google Tag Manager. We did not stop at the registration event. We tracked the deeper funnel too: when a candidate viewed a job offer, when they clicked to get an offer, and when they accepted one, which is the closest signal to a real placement that the platform produces.
We mapped the candidate funnel into a dataLayer and pushed a custom event on each key step, with the parameters that matter for a recruitment funnel attached to it. The event carried fields like the job id, the sector, the profession, the pay range, the currency, and the pay type, whether the role pays hourly or monthly. That last one matters more than it sounds: in recruitment, hourly versus monthly pay completely changes who the right candidate is, so tracking it let us segment and bid accordingly.

We built custom dimensions so every conversion could be segmented by market and by campaign. That mattered enormously here, because with so many countries running at once, an account-level number hides as much as it reveals. We needed to see each market on its own terms.
Setting this up was the grunt work that never makes it onto a slide. Implementation, then testing and debugging every event until it fired correctly, then reporting that the client could actually read. But it is the part that makes everything after it possible.
Implementation. The dataLayer, GTM tags and triggers were wired to each funnel step, from registration to view job offer, the get-an-offer click, and the accepted offer, with custom dimensions so every conversion stayed segmentable by market and campaign.
Testing and debugging. We did not trust a tag until we watched it fire. We validated each event in preview and debug mode, checked the parameters came through clean, and confirmed nothing double-counted before a single optimization decision leaned on it.
Reporting. We built reporting the client could actually read, tying each funnel step back to market and campaign, so the whole team could see where candidates entered the funnel and where they left it.
Once the funnel was honest, every Google Ads decision ran on real signal instead of guesswork.

The whole candidate funnel measured, from registration through to accepted offer, segmented by market.
b Google Ads build
With the measurement in place, we built the account out market by market. Each market got its own structure rather than being lumped into one, because the search terms, the costs, and the intent differ from country to country, and a shared structure would have buried the differences that matter.
Account structure. We used an alpha-beta keyword structure with Single Keyword Ad Groups, the same discipline we apply elsewhere. Research campaigns ran on broader match types to surface converting search terms, and converting campaigns ran on exact match for the terms that proved themselves, with budget shifting toward what converted.
Per-market negatives. Negative keyword lists were built and pruned per market, so spend in one country never bled into irrelevant queries in another, and each market's search terms stayed clean enough to read on their own.
Bidding. With tracking freshly set up, we started on manual, low-data bidding to gather conversion volume per market, then moved toward smart bidding once each market had enough signal to support it.

We started by establishing which markets and which search terms actually converted, then concentrated budget on those, expanding outward from the efficient core. Some markets converted candidates at roughly half the account-average cost per sign-up, so they earned more budget, while the expensive ones were kept on a tight leash. This is the Google Ads management discipline we apply to every account: spend follows what converts, not what looks busy.
Expansion. We expanded only on proof. Once a market's efficient core had earned its budget, we widened it and pushed into the next country, so the account grew across the EU on markets that had already shown they converted.
As the converting markets proved themselves, we expanded the account across more of Europe, ending with campaigns running in markets right across the EU. Through it all, the conversion rate held steady, so the growth in registrations came from real reach, not from loosening the definition of a conversion.

Registrations grew steeply through 2022 while the cost per sign-up came down, with the efficient core markets converting at roughly half the account average.
Steep growth, with the cost going the other way.
The account ramped hard through 2022. Comparing the end of the year to the start, registrations grew 142% from Q1 to Q4 2022, and that growth came while the cost per registration was falling, not rising.
The expansion across markets was the engine. We grew the account to run in 19 markets across the EU, with an efficient core, led by markets like Spain, Czechia and Slovakia, converting candidates at close to half the account-average cost per sign-up. The conversion rate held steady at a healthy level throughout, so this was real volume, not vanity.
Here is the part most paid-search accounts never get to see. Because we tracked the funnel all the way to an accepted job offer, we could prove that in 2023 roughly one in four candidate registrations, about 25%, went on to an accepted offer.
That is the difference between reporting form-fills and reporting real candidates. It is also why we could optimize toward quality, not just volume.
Through early 2024 the account stayed strong and steady, with the cost per registration in the opening quarter sitting comfortably below the prior-year average. The foundation built in 2022 kept paying off.

Measure first, structure with intent, follow the numbers.
Running paid search across many markets at once works, but only when the measurement is built first and the budget is allowed to follow what actually converts.
Robin.jobs grew its candidate registrations steeply across Europe while bringing the cost per sign-up down, because the tracking was honest from the first day and the account was structured market by market rather than as one blunt instrument. The deep funnel tracking, all the way to accepted offers, is what let us prove the traffic was genuinely good and not just cheap.
This is the kind of account we love to build: measure first, structure with intent, then let the numbers tell you where to push. As our agency, we specialize in helping businesses like Robin.jobs grow online through PPC, Web Analytics, and CRO. We have years of experience and have seen firsthand what works and what does not.
- Full candidate-funnel tracking (GA4 + GTM)
- Per-market custom dimensions
- Market-by-market account structure
- Registration-focused optimization
- Negative keyword discipline
- Cost per sign-up reduced while scaling
- Multi-market expansion across the EU