Custom site, SEO and Google Ads: CPC down 82% and the funnel fixed
Custom-built site with an interactive flight checker, SEO/GEO strengthening and a full rebuild of the Google Ads account for a law firm specialising in air passenger compensation: cost per click -82%, CTR at 10-13% and the diagnosis that unlocked the first qualified leads.

The client is a law firm specialising in compensation for air travel disruptions: cancelled flights, long delays and denied boarding, with compensation from €250 to €600 under EU Regulation 261/2004. The project had two separate blockers. The first was technical: the site was not being indexed by search engines and, in a sector where the passenger searches “cancelled flight compensation” at the exact moment of need, being invisible simply means not existing. The second was advertising: the inherited Google Ads account had been spending for some time with zero tracked conversions. A single active campaign, twelve keywords all focused on one airline despite the campaign name referring to airlines in the plural, and “Local actions: directions” set as the primary conversion — for a firm working online across Italy, the system was optimising towards people looking for driving directions to reach it in person. Half of the account spend was going to a single ad group with a cost per acquisition of €259.88: more than the margin on two full cases.
We built the site from scratch in Next.js, with no template, around an interface designed for conversion. At its core is a multi-step interactive flight checker: the user enters airline, flight number, date and route and receives the outcome, guided by a progress bar and custom micro-animations that mark the transition between steps. Around the wizard we developed an animated carousel of supported airlines, accordion FAQs, a compensation table by distance band and a trilingual version in Italian, English and Spanish. Every transition and every wizard state was hand-written: in a service where users must trust you before handing over their data, the smoothness of the interaction is part of the credibility, not decoration. On the organic side: technical audit, resolution of the indexing blockers (sitemap, robots, canonical, URL structure), schema.org structured data and GEO work, with content organised into clear questions and answers so it can be read and cited by generative engines. On the advertising side we rebuilt the account from zero: six campaigns, thirty-two ad groups, two hundred keywords in exact and phrase match only, forty-two negative keywords per campaign, Search network only. We chose to start with “Maximise clicks with a CPC cap” instead of smart bidding: with zero historical conversions, automation has nothing to learn from and spreads budget at random. Tracking was rebuilt with a native conversion rather than one imported from GA4 — imported conversions support neither enhanced conversions nor offline import via GCLID, which are exactly the tools needed to connect an accepted case to the click that generated it. We added capture of gclid, wbraid and gbraid so as not to lose cookieless iOS traffic, last-touch attribution and a 90-day conversion window, because the cycle is long: users search at the airport and fill in the form at home days later. Finally we brought the conversion value back to what the lead is actually worth to the firm, rather than the compensation the passenger will receive.
Within three days every advertising metric was beyond target: cost per click down from €7.33 to €1.31 (-82%) and CTR between 10% and 13% against a 6% goal. Yet leads were still zero. That is the point where we stopped looking at the platform and went downstream of the click. Inspecting the landing pages revealed the bottleneck: the campaign landing pages had no form at all. Between the paid click and the form the user had to go through three steps, because the form lived only on the home page. With a natural 50-70% drop-off per step, only 3-5% of traffic reached the end. In parallel, 44% of the new campaigns' budget was being absorbed by an informational ad group buying searches such as “flight delay refund how many hours” or “flight delayed by 2 hours”: below three hours no compensation is due, so we were paying to bring people to the site who by law had no right to the service. Once forms were embedded directly into the landing pages and the informational group was paused, the first qualified lead arrived the same day: a cancelled flight with compensation due, meaning a workable case rather than a contact to discard. Daily spend nearly halved while this happened — the budget taken away from informational traffic was not saved, it was moved to where it produced. Two necessary caveats. The result came quickly because the bottleneck was a landing page without a form, a problem that can be spotted immediately: it is not a delivery time we promise upfront. And part of the drop in cost per click is not down to the new campaigns but to having stopped buying the wrong keywords, which were costing up to €15.73 per click — a diagnostic win more than an advertising one. On the organic side, meanwhile, the site is correctly indexed and is read and cited by ChatGPT, Perplexity and Google's AI Overviews, which for many passengers are now the first point of contact after a disruption.
Want similar results?
Tell us about your project and let's build the right strategy together.
