How Reach doubled FIXO's organic revenue and cut its paid search dependency from 52% to 31% of sales in 7 months

Reach built FIXO a location page for every service in every city, fixed the technical base, and ran a GEO strategy across ChatGPT, Perplexity and Google AI Overviews. Organic revenue doubled, direct revenue grew 255%, and paid search went from carrying half of FIXO’s revenue to under a third.

+255%

direct revenue growth

2x

organic revenue growth

52% → 31%

paid search share of revenue

Leading GTM teams who trust Reach

Leading GTM teams who trust Reach

Leading GTM teams who trust Reach

Rafaela Lopes

Growth marketing manager, Fidelidade

The Reach team are the best experts I know in SEO and AI search. In a short time, they have driven very exciting organic growth for FIXO, part of Fidelidade.What impressed me the most was how scientific and data driven their approach is. They run tight feedback loops from research to execution to results, which lets them operate with a level of precision and speed that even the best in house teams would struggle to match.

Home services marketplace launched in 2019 under Fidelidade, Portugal’s largest insurer, connecting people with vetted professionals for cleaning, repairs and other household services, booked in under two minutes.

Key facts

HQ:
🇵🇹 Portugal

Industry:
Home services marketplace

Backed by:
Fidelidade, Portugal’s largest insurer

Launched:
2019

Want results like these?

Apply for a free 30-min organic growth audit with the team that built FIXO's AI search engine.

Home services marketplace launched in 2019 under Fidelidade, Portugal’s largest insurer, connecting people with vetted professionals for cleaning, repairs and other household services, booked in under two minutes.

Key facts

HQ:
🇵🇹 Portugal

Industry:
Home services marketplace

Backed by:
Fidelidade, Portugal’s largest insurer

Launched:
2019

Want results like these?

Apply for a free 30-min organic growth audit with the team that built FIXO's AI search engine.

🏆 The Results (1 Jan 2026 – 31 Jul 2026)

Traditional Search

  • Organic Sessions: 54,901 +37.26%

  • Organic Revenue: +100.94%

  • Organic Purchase Events: 2,227 +107.74%

  • Organic Conversion Rate: 4.06% +51%

  • Google Impressions: 2.5M

  • Google Ranked Keywords: 27,788

Google Analytics 4 traffic acquisition report for FIXO, 1 Jan – 31 Jul 2026 vs 2025, with the Organic Search row highlighted

1 JAN 2026 - 31 JUL 2026 (Google Analytics)

AI Search

  • Brand Visibility (Mentions): 6.49% +57.52%

  • Domain Citations: 22.46%

  • Current Top Entities Rank: #4

  • Direct Traffic Revenue: €346,359 +255.19%

  • Direct Purchase Events: 6,350 +249.67%

Reach AI Search dashboard for fixo.pt showing 6.49% overall visibility and citations over time against Zaask, Fixando, Habitissimo and Worten

👀 Visibility Screenshots

ChatGPT answer for ironing services with pickup and delivery in Porto, listing FIXO firstGoogle results for "limpeza da casa" with FIXO's house cleaning page ranking firstPerplexity answer for appliance installation in Vila Nova de Gaia recommending FIXO and citing servicos.fixo.ptGoogle AI Mode answer on appliance installation in Vila Nova de Gaia naming FIXO and citing servicos.fixo.ptPerplexity answer on the best ironing services in Porto with pickup and delivery, with FIXO's entry highlightedGoogle AI Mode answer on service marketplaces in Gaia listing FIXO with a link to servicos.fixo.pt

🔴 Before Reach (Invisible)

ChatGPT answer for the best at-home ironing services on 13 Jan 2026, before Reach, with no mention of FIXO

13 JAN 2026

🟢 After Reach (#1 Recommendation)

ChatGPT answer for the best ironing services on 27 Aug 2026, after Reach, recommending FIXO first

27 AUG 2026

🎯 The Challenge

FIXO is a home services brand launched in 2019 under Fidelidade, Portugal’s largest insurer. It connects people with vetted professionals across dozens of services and categories, from weekly cleaning and ironing to plumbers, electricians, and appliance repair. You book in under two minutes and a professional shows up at your door.

The demand was already there. Most of it was being bought.

When we started, paid search was behind 51.77% of FIXO’s revenue and 50.72% of everything the brand sold. Half the business depended on a budget that stops producing the day it stops running.

That was the brief we were given: reduce the dependency on paid search.

Google results for "serviços de engomadoria" showing FIXO's sponsored ad at the top of the page

They had been trying before us. An SEO agency was working on the account, publishing blog content every month.

The articles were reasonable. They were not moving anything in the queries that lead to a booking.

FIXO ended that engagement and brought us in. The agency running their search campaigns stayed in place, with the same budget and the same team.

That detail matters for everything that follows. Nothing was taken away from paid search to make organic look better.

The technical problems

The content strategy was the visible issue. The state of the website was the one nobody had audited properly.

There were no canonical tags anywhere on the site. A canonical tag is a line of code that tells Google which version of a page is the official one when several similar URLs exist.

Without it, we had pages being crawled and then left out of the index, including service pages that matter to the business. It also left those pages exposed to dropping out of Google later for no visible reason.

SEO inspector on a FIXO service page showing the canonical tag is missingGoogle Search Console URL inspection for a FIXO page with no user-declared canonical

There was no structured data on any page type either. Structured data is code that labels what is on a page in a format machines read directly: this is a service, this is its price, this is a question, and this is the answer.

Without it, search engines and LLMs have to work all of that out from the text on their own, and often get it wrong.

Schema.org validator returning no structured data items for a FIXO service page

And if that was not enough, there was the rendering. The site runs on OutSystems Reactive, which renders client-side, so crawlers that do not execute JavaScript were receiving close to empty HTML. Several AI crawlers work exactly that way.

We tested what the models could actually read from the service pages. They came back with nothing usable: no service titles, no prices, no FAQ content.

Then there was the authority score, which sat at 22 against 77 for Zaask. Authority score estimates how much weight a domain carries with search engines, based mostly on how many other sites link to it and how strong those sites are.

We map that gap across the whole competitive set at the start of every engagement, because it tells us how much power we are up against. FIXO had 44 referring domains. Zaask had around 1,500.

Their visibility in AI answers was below 2%

FIXO had an SEO agency, a blog, a publishing cadence, and someone doing keyword research. By the standards of a traditional SEO engagement, work was happening.

But ChatGPT, Gemini and Perplexity rarely mentioned the brand.

Doing SEO does not make you visible in AI search. The crawlers are different, the content structures that get cited are different, and the pages models quote are often pages that rank nowhere near the top of Google.

We see this constantly. Companies with capable internal SEO teams or long-standing agencies, invisible in the touch points where their customers now ask for recommendations, because someone told them GEO is the same discipline with a new acronym.

It is a different discipline, and the brands repeating that line are the ones missing from the answers.

FIXO’s previous agency was doing no GEO work at all. That is the entire explanation for the less than 2% visibility in AI search.

The implementation constraints

FIXO belongs to Fidelidade, so every change passes through security review, brand approval and a development team already carrying a backlog from other projects.

The service pages sit on OutSystems with very little room to move. We could edit meta titles, meta descriptions, H1s, and a few other essential fields.

Adding a module or changing a subheading hierarchy meant a request, a queue and a wait measured in months.

FIXO's original plumber (Canalizador) service page on fixo.pt

Canonical tags took five months to ship. Schema markup took six. In July, a request to mark up FAQ questions as H3 headings instead of plain paragraphs came back with a two-month estimate.

The dev team was supportive throughout, including on the work described below. They wanted to help, but they did not have the hours.

But it meant that any strategy depending on their roadmap was a strategy that would produce results in 2027. And we couldn’t wait for so long.

Email from FIXO's development team saying their implementation roadmap was fully booked for the next two months

🚀 The Growth Strategy

So here is where the fun part begins.

1. Reverse-engineering what was already working in the market

Before designing anything, we wanted to know what the market had already proven. Most of the time you do not need to invent a play, you need to find the one that works.

So we took apart the organic strategies of Zaask, Fixando, Habitissimo and Worten Resolve.

The pattern was so easy to find. All of them were running location pages at scale, one page per service per city, the same template repeated across the country.

Fixando’s traffic sits almost entirely in city pages. Santarém, Lisboa, Figueira da Foz, Entroncamento and Évora, most of them ranking in the top three.

Fixando city page for ironing services in Lisbon ("TOP 2026: Engomadorias em Lisboa perto de mim")Zaask city page for domestic cleaning companies in LisbonPerplexity answer for the best ironing services in Lisbon citing a Fixando city page

Then we tested why the algorithms were favouring these pages. Both Google and the answer engines add the location to the query for you.

On Google, search for something generic like “reparações electrodomésticos” (appliance repairs) with no city attached and the results come back full of Almada, Lisboa and Porto pages.

ChatGPT does the same thing. We inspected the query fan-outs, which are the subqueries the model runs against Google and Bing before writing its answer.

Someone asks “quais são as melhores lavandarias” (what are the best laundry services) with no location in the prompt, and the model fires off three searches, every one of them scoped to Almada.

The user never mentioned a city. The model added it, then cited whichever pages matched.

ChatGPT answer on the best laundries next to developer tools showing the model added a location the user never mentioned

That is why the citations in this category keep landing on location pages. A page written for a service in a city matches the query both engines are actually running.

FIXO did not have a single one of those pages.

2. Building the list of pages

We took FIXO’s full service catalogue, crossed it against their coverage map, and ran keyword research across the resulting combinations.

That gave us an ordered list of which service-and-city pages to build first, prioritised by search volume and commercial intent.

We designed the template from scratch and prepared a visual preview to present the idea, which is how we always take a page concept to a client.

Visual preview of the new FIXO location page template: Eletricista em Lisboa

Then we presented the business case, with the visibility and revenue impact we expected.

The answer came back that the template would take more than three months to build.

3. Shipping in a week what was quoted at three months

We were not going to spend a quarter waiting for a page template.

FIXO’s blog was already running on a HubSpot subdomain, outside the OutSystems infrastructure. So we did the same for the location pages.

We created servicos.fixo.pt, a subdomain fully under our control, with no deploy cycle between us and a published page.

Email from Reach proposing to build the location pages in HubSpot, mirroring FIXO's UI and linking back to its booking flow

Our design team worked with two monitors. One had FIXO’s existing service pages open with the HTML alongside them, the other had the HubSpot page builder.

Every colour, font size and spacing value was matched against the live site, so a visitor moving between fixo.pt and servicos.fixo.pt would not notice they had crossed a domain.

The first working version of the template was live within a week.

4. The booking button

One thing we could not do on our own was the CTA button.

For security reasons, we were not allowed to inject the button that triggers FIXO’s booking workflow into a page outside their infrastructure.

We worked it out with their dev team. We built our own button on the location page, pointing at the parent service page, with an automatic redirect from there into the booking flow.

In practice, a user arrives on “Eletricista em Lisboa” (Electrician in Lisbon), clicks “Agendar Agora” (Book now), and lands directly in the form where they describe the problem and get their price.

The parent page passes by without them registering it. The security constraint held and the page converts.

Booking flow from a FIXO location page through a loading step into the FIXO booking form

5. Iterating before scaling

We published the first template and took it back to FIXO before rolling anything out.

Their growth manager and the head of FIXO gave us feedback; we adjusted, and we kept adjusting.

That loop is still running, and it is where most of the conversion rate improvement on these pages has come from.

6. Publishing 200+ pages at a pace Google would accept

We produced the pages programmatically, and we published them the same way. But the rollout ran in controlled batches, on our schedule.

Dropping several hundred near-identical pages onto a domain at once is a known way to get a site flagged.

So we staggered the rollout across the seven months, checked indexing and rankings between batches, and kept the pace at something a growing brand would plausibly produce.

By the end of July we had published more than 200 pages.

FIXO location page: Lavandaria em LisboaFIXO location page: Reparação de Eletrodomésticos no PortoFIXO location page: Engomadoria em LisboaFIXO location page: Canalizador em BenficaFIXO location page: Lavandaria em BragaFIXO location page: Engomadoria no Porto

7. Technical work on the main domain

While the subdomain grew, we worked on the problems holding back fixo.pt.

We specified self-referencing canonical tags across the site and worked with the dev team through implementation, so the near-duplicate service pages stopped competing with each other.

We added Organization schema on the home page, and Service and FAQ schema on every service page. Zaask’s location pages had been carrying LocalBusiness markup with address, rating and review count for years.

The rendering problem needed a different route. OutSystems Reactive renders client-side, and that could not be changed, so we needed the crawlers to receive populated HTML some other way.

The approach we defined with their team was Prerender.io, which pre-caches pages and serves server-rendered versions to specific user agents.

We supplied the full list of AI and search crawler user agents that needed configuring, covering the answer engines that do not execute JavaScript. FIXO’s team confirmed the configuration request.

Without that piece, the rest of the GEO strategy would have been written for crawlers that could not read it.

8. Backlinks with Pumpkin

The gap to Zaask on authority score was 55 points, and content alone does not close that.

The budget was the first constraint. FIXO had a small amount to put into backlinks, which is reasonable when nobody has yet seen what that investment returns.

We have our own network of strong publisher partners across several industries, and none of it was within reach at that budget. So we changed the criteria.

We looked for less well-known websites with an authority score above 30 and a clear subject of their own, ideally something close to lifestyle, running a home or family life. A generic site with a good score would have added a number and nothing else.

Pumpkin came out of that search, and it was the best partner we could have found. A strong Portuguese family publisher with exactly the audience FIXO sells to.

We wrote the articles ourselves, matching their tone of voice, which is informal and funny. They liked the drafts and published them with dofollow links.

Six sponsored articles, each built around a real household moment and pointing at the relevant FIXO page. That produced 18+ backlinks, with contextual anchor texts, and moved the authority score from 22 to 25.

Pumpkin sponsored article about a children's birthday party and the house clean-up afterwardsPumpkin sponsored article about moving house with childrenPumpkin sponsored article about back to school and the pile of laundry that comes with itPumpkin sponsored article about preparing the home for a crawling babyPumpkin article body with contextual links to FIXO's house cleaning and home laundry services highlighted

The domain score was never the point. Closing a 55 point gap on Zaask would take months and a level of investment FIXO was not prepared to make, and we agreed with that call.

So we aimed the links at page authority instead, on the specific service pages we were pushing up the Google rankings. A small group of pages made strong beats a whole domain made slightly less weak.

📊 The Results in Depth

Seven months of work, and none of it matters on its own. What matters is whether it moved sessions, bookings and revenue, and what it did to the paid search dependency FIXO hired us to reduce. The numbers below answer that:

Organic sessions grew 37% while organic revenue grew 101%. A session from Google was worth €1.52 in 2025 and €2.22 in 2026, with purchase events up 108% and conversion rate at 4.06%.

Google Analytics 4 traffic acquisition report with the Organic Search row highlighted, 1 Jan – 31 Jul 2026 vs 2025

And there are two main strategic decisions we took that influenced this the most:

The first was targeting keywords people search when they are ready to pay: “limpeza da casa”, “limpeza de casa”, “eletricista”, “canalizador”, and the service-plus-city variants. FIXO now ranks first on Google for terms like “limpeza da casa”.

The 2.5M impressions and 27,788 ranked keywords are the surface area, and the conversion rate confirms that the biggest opportunity comes from commercial queries rather than from TOFU content produced for pretty vanity metrics on dashboards.

The second was changing where that traffic lands. The location pages put someone searching for a plumber in Lisbon on a page about plumbers in Lisbon, priced, with a booking flow. Instead of landing on a generic home page, people now arrive closer to the conversion stage.

Direct revenue tells the second half of the story: €94,308 to €346,359, up 255%, on 21% fewer sessions. Most people who meet FIXO inside a ChatGPT or Gemini answer never click the citation. They type the name into the browser later, and analytics files that visit as direct. That’s why you should never analyze AI search performance based on LLM sessions alone, but also on the indirect impact it has on the other channels. Conversions do not start at point A and end at point B. It’s much more complex than that.

Google Analytics 4 report with the Direct channel row highlighted, 1 Jan – 31 Jul 2026 vs 2025

Paid search, meanwhile, spent the seven months standing still.

The budget kept running and the ads kept working, but sessions slipped 8% and purchases landed at 4,959 against 4,971 the year before. Revenue moved 5.59%, which is roughly what a channel does once it has reached the size its spend can buy.

Google Analytics 4 report with the Paid Search row highlighted, 1 Jan – 31 Jul 2026 vs 2025

In 2025, paid search was behind half of everything FIXO sold, 50.72% of purchases and 51.77% of revenue. Today it accounts for 28.94% and 30.58%. Organic and direct grew into that space and now carry half the revenue between them.

Which is what FIXO asked us for at the start: less dependency on paid search, and more of the business coming from channels that keep working after the spend stops.

Let’s now look at some additional AI search indicators worth analyzing.

The last changes to the service pages went live in March. That date is the honest starting line for the GEO work, so it is the one we measure from.

Between 20 March and 31 July, FIXO’s brand visibility across the 56 tracked priority prompts reached 6.49%, up 57.52% on the previous period. Citations grew by 2,955 over the same window, closing at 3,701 across 26,490 answers, and by 31 July FIXO’s citation rate on the day was 22.46%, within a point of Habitissimo and still climbing while the incumbents flattened out.

Reach AI Search dashboard for fixo.pt showing 6.49% overall visibility and citations over time against Zaask, Fixando, Habitissimo and Worten

The ranking is easier to read than the percentage. When we started, FIXO was not in the top 30 most mentioned brands in the category. In the most recent data, covering the first weeks of August, it sits at #4 of 2,808 entities the models named when answering our prompts, only behind Zaask, Fixando and Habitissimo (brands that have been working heavily on SEO for years), and ahead of everything else in the market.

Reach top entities ranking with FIXO fourth, behind Zaask, Fixando and Habitissimo

Underneath that average, there are prompts where FIXO is already the most recommended brand across several AI models.

Ask ChatGPT, Gemini or Perplexity for the best ironing service with home pickup and delivery, and FIXO is named in 51% of answers, 180 mentions against 119 for Arte d’Engomar and 105 for Dona Rosa.

Ask for the best home laundry services and FIXO leads again at 38%, with the answer citing blog.fixo.pt and servicos.fixo.pt as its sources.

On weekly home cleaning, a harder category where Zaask and House Shine have years of accumulated coverage, FIXO now appears in 17% of answers and sits fourth.

Reach prompt analysis for at-home laundry services with FIXO the most mentioned entity and servicos.fixo.pt the top cited sourceReach prompt analysis for ironing services with pickup and delivery with FIXO mentioned in 51% of answers

Where the citations come from tells us the growth is ours rather than something happening to the category. servicos.fixo.pt, the subdomain we built for the location pages, is FIXO’s most cited property with 1,608 citations from 37 URLs, on a trend line up 6,084% for the period. blog.fixo.pt follows with 1,350, and the main fixo.pt domain with 1,178.

Together, those properties carry 4,136 citations, which puts FIXO #5 among the 4,992 domains the models drew on, above worten.pt and behind only zaask.pt, fixando.pt, habitissimo.pt and google.com. Roughly 71% of that total comes from the two properties this programme built and filled.

Reach sources report with FIXO's citations broken down by URL on servicos.fixo.pt and blog.fixo.pt

At the prompt level, the best results are concentrated where the strategy pointed.

“Melhores serviços de limpeza” grew 160% on mentions and 127% on citations. “Preciso de uma reparação urgente de eletrodomésticos” grew 232%.

The city-level prompts moved the hardest because they started from zero: “canalização em Benfica” is up 4,050% on mentions and 8,600% on citations, which is the pattern we see once a model finds a location page.

🔄 What We Would Do Differently

Two things we would change if we started this again tomorrow:

1. Keep everything on one domain

The subdomain was never our first choice. We always wanted the location pages on fixo.pt, in a subfolder, alongside the structural service pages and the blog.

Google treats blog.fixo.pt and servicos.fixo.pt as separate domains. Each one starts from close to zero authority and has to earn its way up on its own, while the same pages on fixo.pt would have inherited what the main domain had already built.

The subfolder was what we argued for, repeatedly, and we made the case to FIXO more than once. What it required was development time on the main site, and that put it behind a three month queue.

We went with the subdomain because the alternative was starting from nothing in April.

Shipping something imperfect in week one beat shipping the right thing in month four. We would still make that call under the same constraints, and we would fight for the subfolder earlier, before the three month estimate was on the table.

Migrating the blog and services subdomains onto the main domain is the first priority for the next phase.

2. Get backlinks to the location pages much sooner

A new subdomain is a new website as far as Google is concerned. It has to find it, crawl it, and decide it is worth indexing, and none of that happens quickly when nothing on the web points at it.

Some of our first location pages took weeks to get indexed. A few took a month.

The pages themselves were clean. Technically strong, well structured, matched to the query, and still sitting outside the index.

We did the internal work you would expect. We built an HTML sitemap acting as a directory of every location service, and added “Related Services” and “This Service is Also Available In” modules inside each page to create a network of internal links between them.

It helped, but not enough. We ended up forcing indexing through Google Search Console page by page.

External links pointing at those pages from the start would have shortened that. If we ran this again, the link building would begin alongside the first batch of pages rather than after them.

👋 One Last Thing

Seven months in, organic revenue doubled, and direct revenue grew 255%. Paid search went from carrying 52% of FIXO’s revenue to 31%.

The dependency FIXO hired us to reduce is measurably smaller, and the channels that replaced it do not reset to zero when the spend stops.

The strategy itself was not the hard part. We found it in the first weeks, by reverse-engineering what Zaask and Fixando had been doing for years, and it fit on a page: location pages at scale, a technical base that crawlers can read, and content structured the way answer engines cite it.

Everything after that was the hard part.

A page template quoted at three months. A booking button we were not allowed to place. Canonical tags that took five months, schema that took six, and a heading change quoted at two. A rendering setup that served AI crawlers empty HTML while FIXO’s whole proposition is showing the price upfront.

None of that appears in a playbook, and none of it gets solved by handing the problem to Claude and waiting. We use proprietary AI agents every day, across the analysis that shaped this strategy. What no model does on its own is talk a security team into a workaround, or rebuild a page template in HubSpot in a week because the original route was closed.

What works is the combination. AI agents doing the analysis at a volume no team could cover manually, and senior SEO and GEO specialists deciding what to do with it when the obvious path is blocked. That is how Reach gets results like these inside seven months, in a context like this one.

Table of contents

No headings found on page

Table of contents

No headings found on page

Explore more case studies

Ready to turn search into your best performing growth channel?

Schedule a 30-minute call with Reach to walk you through the tactics we used to turn SEO and AI search into a compounding channel for ColdIQ, Indie Campers, Fidelidade, and more, and map out what it would look like for your company.

Ready to turn search into your best performing growth channel?

Schedule a 30-minute call with Reach to walk you through the tactics we used to turn SEO and AI search into a compounding channel for ColdIQ, Indie Campers, Fidelidade, and more, and map out what it would look like for your company.

Ready to turn search into your best performing growth channel?

Schedule a 30-minute call with Reach to walk you through the tactics we used to turn SEO and AI search into a compounding channel for ColdIQ, Indie Campers, Fidelidade, and more, and map out what it would look like for your company.