Residential & office cleaning services · Google Ads Search
Local Services
[00]DIAGNOSIS
Four structurally different cleaning services — move-out, deep clean, regular, office — running from a single campaign with no intent separation. Phone call conversions invisible to the tracking layer. Bidding strategy optimizing on form fills only, missing 73% of actual bookings.
Avg CPL
€18.52
all campaigns
Best campaign CPL
€11.80
Move-out cleaning
Pre-restructure CPL
€34.00
baseline
Total bookings
1,847
18 months
Total spend
€34.2K
Google Ads Search
Phone call share
73%
of all conversions
[01]SITUATION
Frisch Berlin is a residential and commercial cleaning company operating across Berlin districts. Services span four distinct categories: move-out cleaning for tenants before handover (Auszugsreinigung), single deep cleans (Grundreinigung), regular subscription-based cleaning, and B2B office contracts (Büroreinigung).
Each service attracts a fundamentally different type of user — one under a legal deadline, one planning a one-off, one shopping for an ongoing relationship, one evaluating a vendor for a business contract. All four were driven into the same campaign with the same landing page and the same bidding strategy. Phone call conversions were not tracked at all.
[02]MARKET CONTEXT — BERLIN CLEANING
BERLIN RENTERS
~85%
vs 45% national avg — highest Auszugsreinigung density in Germany
ACTIVE CLEANING CO'S ON GOOGLE ADS
~480
at time of account audit — highly fragmented, no dominant player
AVG TENANT TENURE
4.8 yr
creates a predictable annual pool of move-out cleaning demand
CPC RANGE — AUSZUGSREINIGUNG
€1.80–3.20
most competitive segment; urgency bids drive CPCs up
CPC RANGE — REGULAR CLEANING
€0.90–1.60
lower competition, longer research cycle, lower urgency
CPC RANGE — OFFICE CLEANING
€1.10–2.10
B2B buyers, lower volume but higher LTV per contract
German rental law context: Most Berlin lease contracts require tenants to pay for professional cleaning upon move-out, or landlords can deduct the cost from the security deposit. This legal mechanism creates a near-mandatory demand for Auszugsreinigung — the user is not choosing whether to clean, only who to hire. This fundamentally changes the conversion psychology versus discretionary cleaning services.
[03]WHAT WE CHANGED
BEFORE
Structure1 campaign · 3 groups · ~120 kws
TrackingForm fill only — 27% of bookings
BiddingtCPA on wrong conversion signal
Ad copyGeneric: "Reinigungsservice Berlin"
GeographyBerlin + Brandenburg 80 km radius
Scheduling24/7, no exclusions
CPL€34.00
AFTER
Structure4 campaigns · 12 groups · 267 kws
TrackingPhone call (60 s+) primary · form for B2B
BiddingtCPA per campaign, service-specific targets
Ad copyIntent-matched per group (urgency, deposit, deadline)
GeographyBerlin districts only
Scheduling07:00–22:00 only
CPL€18.52 overall · €11.80 move-out
01Split 1 generic campaign into 4 by service type — each with its own keywords, copy, and tCPA target.
02Added call tracking as primary conversion (60-second minimum call duration). Previously invisible to the account.
03Built campaign-level negative keyword separation: office terms excluded from residential, move-out terms excluded from regular.
04Dedicated landing sections per service type — phone CTA for residential, form CTA for B2B office.
05Ad scheduling tightened to 07:00–22:00. Night impressions were spend with near-zero conversion rate.
06Geo tightened to Berlin districts only. Brandenburg impressions drove clicks but no bookings — different market, longer distances.
07Retrained Smart Bidding on full conversion signal — tCPA optimized per campaign, not globally.
[04]TRACKING ARCHITECTURE
The single largest CPL improvement came not from restructuring campaigns — but from making phone bookings visible for the first time. Before month 3, Smart Bidding was effectively flying blind on 73% of conversions.
BEFORE
·Static phone number on all pages
·GA4 goal: form_submit only
·Google Ads conversion: same form_submit imported from GA4
·Tracked conversion volume: ~28/month (27% of real bookings)
·Smart Bidding target: tCPA based on form fills only
AFTER
·Dynamic Number Insertion — unique number per traffic source/campaign
·Call data imported into Google Ads daily as offline conversion
·Call labels: Booked / Callback / Wrong number — manual scoring first 2 weeks to calibrate
·Form fill retained as secondary conversion — excluded from Smart Bidding signal
·Discovery: 38% of calls under 60s were misdials or non-Berlin inquiries — filtering critical
The inflection point: On the day full call tracking went live (month 3), tracked conversion volume jumped 2.7× — from 24 recorded conversions in month 2 to 63 in month 3. CPL dropped from €50 to €25 in the same step. Smart Bidding then had enough data to begin meaningful optimization.
[05]CAMPAIGN & GROUP STRUCTURE
12 ad groups across 4 campaigns. Each group has its own keyword set, ad copy, and negative keyword list — no intent bleed across service types.
MOVE-OUT CLEANING4 groups · 87 kws
Auszugsreinigung Berlin (direct)
26 kws€10.20 CPL
Endreinigung / Übergabe
22 kws€11.40 CPL
Kautionsreinigung
18 kws€12.10 CPL
Eilreinigung / Sofort
21 kws€13.80 CPL
DEEP CLEANING3 groups · 65 kws
Grundreinigung Wohnung
24 kws€19.80 CPL
Grundreinigung Küche & Bad
19 kws€22.30 CPL
Tiefenreinigung Berlin
22 kws€23.10 CPL
REGULAR CLEANING3 groups · 72 kws
Putzhilfe Berlin
28 kws€21.70 CPL
Wöchentliche Reinigung
23 kws€22.80 CPL
Haushaltshilfe Berlin
21 kws€24.40 CPL
OFFICE CLEANING2 groups · 43 kws
Büroreinigung Berlin
27 kws€22.80 CPL
Gewerbliche Reinigung
16 kws€26.10 CPL
CAMPAIGN TRACK
SPEND
BOOKINGS
CPL
Move-out cleaning (Auszugsreinigung)
€8,400
712
€11.80↙ best
Deep cleaning (Grundreinigung)
€9,100
421
€21.62
Regular cleaning (Regelmäßige)
€11,200
487
€23.00
Office cleaning (Büroreinigung)
€5,500
227
€24.23
[06]NEGATIVE KEYWORD STRATEGY — 840+ ENTRIES
Negative keywords were treated as a structural element, not an afterthought. The account accumulated 840+ negative keyword entries across shared lists, campaign level, and ad group level — the result of 18 months of weekly search term audits.
Cross-campaign: office excluded from residential40Residential campaigns
−büro−gewerbe−bürogebäude−unternehmen−gewerblich
Price shoppers (from premium ad groups)22Selected ad groups
−kostenlos−gratis−cheapest−billigste
Competitor brand terms14All campaigns
−[competitor names — redacted]
Ad group-level refinements557Ad group level
−accumulated from 18 months of search term audits
TOTAL NEGATIVE KEYWORD ENTRIES840+
The most valuable negatives were the cross-campaign exclusions — ensuring that a user searching for Auszugsreinigung could only enter the move-out campaign, never the regular-cleaning campaign with its lower tCPA target and different messaging. Without this, Smart Bidding would route urgency clicks wherever it found cheaper conversions.
[07]KEYWORD BREAKDOWN — THREE KEY GROUPS
Each group is built around a single intent cluster. Keywords in different intent clusters are separated by campaign-level negatives — a click on a move-out term never enters a regular-cleaning campaign.
GROUP: AUSZUGSREINIGUNG BERLIN (DIRECT)
Tenant needs move-out cleaning, actively ready to book
The CPL story in three phases: restructure chaos (months 1–2, €50–60), learning period (months 3–5, €19–25), and stable operation (months 6+, €15–19). The step-change in month 3 is when call tracking went live.
MONTHLY BOOKINGS VOLUME
Jul
Aug
Sep
Oct
Nov
Dec
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
MONTH
SPEND
BOOKINGS
CPL
NOTE
Jul '23
€900
15
€60.00
Restructure + tracking setup
Aug '23
€1,200
24
€50.00
Call tracking mid-month
Sep '23
€1,600
63
€25.40
Full call tracking live
Oct '23
€1,800
86
€20.93
tCPA learning stabilizes
Nov '23
€1,900
96
€19.79
Geo tightened to Berlin only
Dec '23
€2,100
118
€17.80
Holiday Auszugsreinigung surge
Jan '24
€2,200
145
€15.17
Post-NYE moving peak
Feb '24
€2,100
133
€15.79
Mar '24
€1,900
112
€16.96
Apr '24
€1,800
98
€18.37
Spring dip
May '24
€1,900
103
€18.45
Jun '24
€2,100
110
€19.09
Jul '24
€2,000
106
€18.87
Budget optimized down
Aug '24
€2,000
109
€18.35
Sep '24
€2,100
128
€16.41
Autumn moving peak
Oct '24
€2,200
142
€15.49
Highest volume month
Nov '24
€2,100
133
€15.79
Dec '24
€2,300
126
€18.25
[09]AD COPY — AUSZUGSREINIGUNG BERLIN (RSA)
The move-out ad copy is built around deadline urgency and deposit risk — not generic service quality. Every headline addresses a different objection or micro-moment in the decision cycle.
EXAMPLE AD COMBINATION (3 of 12 headlines shown)
frischberlin.de/auszugsreinigung
Auszugsreinigung Berlin | Kaution zurück sichern | Festpreis ab 120 €
Auszugsreinigung in Berlin – Festpreis, kein Aufpreis. Wohnungsübergabe sicher bestehen.
12Sofort buchbar – kein Aufpreis30Urgency + objection
DESCRIPTIONS · 3 TOTAL · LIMIT 90 CHARS
1Auszugsreinigung in Berlin – Festpreis, kein Aufpreis. Wohnungsübergabe sicher bestehen.88
2Erfahrenes Team, alle Berliner Bezirke. Termin in 24 h. Reinigungsprotokoll inklusive.86
3Jetzt Termin buchen – Sofortpreise, Kaution sichern, Bestätigung in wenigen Minuten.84
Pinning rationale: Headline 1 pinned to position 1 (key intent + geo must appear first). Headline 2 (brand) pinned to position 2. All other headlines rotate freely — Google optimizes combinations based on conversion signal.
[10]WHAT DIDN'T WORK — FAILED EXPERIMENTS
Six experiments were run and abandoned. Each failure informed the final structure. Documenting what didn't work is as important as documenting what did.
Broad match across all campaignsMonths 1–2
HypothesisBroader reach would find more bookings faster during the initial ramp.
Result~€1,100 wasted. Top irrelevant queries: "Umzug Berlin" (moving company), "Reinigungsmittel kaufen" (cleaning products), "Reinigungskraft einstellen" (hiring staff). No bookings from any of these.
FixMigrated all campaigns to phrase/exact match. Negative list expanded from 40 to 280 terms within 6 weeks.
Display Network testMonth 4 (3 weeks)
HypothesisDisplay retargeting could recover visitors who didn't convert on first visit.
Result€340 budget · 3 bookings · €113 CPL. Cleaning is a pure intent-driven search category — no visual browsing behavior to leverage.
FixDisplay budget pulled entirely back to Search. Never re-tested.
"Günstig" ad copy variantMonth 6 (4-week A/B test)
HypothesisAdding "günstig" (cheap) to headlines would increase CTR and volume.
ResultCTR +23%, but booking-from-call rate −41%. Price-sensitive callers who clicked on "cheap" refused actual pricing on the phone. Net CPL on booked conversions: €28.40 vs €17.80 control.
FixRemoved "günstig" from all copy. Replaced with "Festpreis" (fixed price) — which addresses price anxiety without attracting mismatched intent.
Performance Max campaignMonth 8 (4 weeks)
HypothesisPMax could surface demand beyond search (YouTube, Discovery, Gmail).
Result€400 test budget · CPL €52 vs €15.79 for Search in same period. Opaque targeting pulled budget toward non-intent placements. Impossible to exclude irrelevant surfaces.
FixPMax removed. All budget returned to Search campaigns. No PMax re-tested for this account type.
City-agnostic keywords (no Berlin modifier)Months 1–3
HypothesisBroader geo reach within Germany might find additional demand.
ResultClicks from Hamburg, Munich, Frankfurt, Cologne — zero bookings. The company physically can't serve those cities. Wasted: ~€680.
FixAll campaign geos set to Berlin districts only. "Berlin" added as required modifier to all phrase/broad match keywords.
Call-only ads in AuszugsreinigungMonth 9 (6 weeks)
HypothesisFor a deadline-driven segment, removing the landing page click would shorten time-to-booking.
Result28% of call-only ad calls arrived outside business hours (evenings, weekends). Staff unavailable → voicemail → no booking. Standard RSA + phone extension outperformed on actual booked rate.
FixReverted to RSA with phone extension. Added ad scheduling to suppress after-hours impressions for call-heavy ad groups.
[11]URGENCY TIER — WHY MOVE-OUT LEADS CHEAPEST
Not all cleaning queries are equal. The critical variable is time pressure. Urgency compresses decision cycles and eliminates comparison behavior.
★ Lowest CPL
HIGH URGENCY
"Auszugsreinigung Berlin sofort" / "Endreinigung Berlin diese Woche"
CPL €11.80
MODERATE URGENCY
"Grundreinigung Berlin Wohnung" / "Tiefenreinigung Berlin"
CPL €21.62
LOW URGENCY
"Putzhilfe Berlin regelmäßig" / "Haushaltshilfe Berlin"
CPL €23.00
Move-out users are not shopping — they have a deadline. The apartment handover date is fixed, the deposit is at risk, and the decision is already made. The only question is who. This behavioral profile makes Auszugsreinigung the most efficient Google Ads segment in any Berlin cleaning account.
[12]DISTRICT PERFORMANCE — BERLIN
Not all Berlin districts perform equally. Budget allocation was adjusted in month 5 based on early district-level data — shifting spend toward high-density rental districts with lower CPL profiles.
DISTRICT
BOOKINGS
SHARE
AVG CPL
NOTE
Charlottenburg-Wilmersdorf
312
16.9%
€13.40
Highest Auszugsreinigung density
Friedrichshain-Kreuzberg
289
15.6%
€17.60
Prenzlauer Berg (Pankow)
264
14.3%
€16.70
Mitte
218
11.8%
€19.20
Higher office share
Neukölln
187
10.1%
€18.80
Tempelhof-Schöneberg
163
8.8%
€20.30
Steglitz-Zehlendorf
144
7.8%
€21.40
Lichtenberg
121
6.5%
€22.90
Other districts (×9)
149
8.1%
€24.70
Lower search density
Brandenburg exclusion: Pre-restructure, campaign geo included a 80km radius covering parts of Brandenburg. Analysis showed 340+ clicks from outside Berlin city limits with zero bookings — the company doesn't operate outside Berlin, and users searching from Brandenburg have different cost expectations. Excluding Brandenburg freed ~€620 in wasted spend over the first 3 months.
[13]TOP CONVERTING SEARCH TERMS
→“Auszugsreinigung Berlin”184 bookings€9.40 CPL
→“Endreinigung Berlin”121 bookings€11.20 CPL
→“Reinigungsfirma Berlin”97 bookings€18.60 CPL
→“Grundreinigung Berlin Wohnung”74 bookings€20.10 CPL
→“Wohnungsreinigung Berlin”68 bookings€22.40 CPL
→“Putzhilfe Berlin”52 bookings€24.80 CPL
→“Büroreinigung Berlin Angebot”31 bookings€27.50 CPL
[14]KEY INSIGHTS
01Move-out cleaning is deadline-driven — it converts like no other segment
Tenants searching for Auszugsreinigung have a fixed handover date and a deposit at risk. The decision window is 24–72 hours. This urgency compressed the funnel: users called immediately, with almost no comparison shopping. €11.80 CPL vs €34.00 pre-restructure baseline.
02Phone calls were the actual conversion — forms were noise
Before the restructure, only form fills were tracked as conversions. Call recording showed 73% of bookings happened by phone — many users who 'didn't convert' had already booked. Switching primary conversion to call tracking cut the reported CPL by nearly half and allowed Smart Bidding to optimize on real signals.
03Mixing service types destroyed bidding efficiency
Move-out (high-urgency, quick decision) and regular subscription cleaning (research phase, longer consideration) shared the same campaign and tCPA target. The algorithm couldn't separate the signals — it either chased cheap leads in the wrong segment or overpaid for urgency clicks. Splitting fixed both.
04Office cleaning needed a different funnel — not a different ad group
B2B office cleaning queries generated clicks but poor conversion rates on the residential landing page. Separating Büroreinigung into its own campaign with a dedicated form (vs. phone CTA) doubled its lead quality. The conversion volume stayed lower but the close rate from qualified leads improved significantly.
05The learning phase was the most expensive thing to get right
In months 1–3, CPL was €60, €50, then €25 — not because the account structure was wrong, but because Smart Bidding was calibrating on partial data (pre-call tracking) and then recalibrating on the new signal. Rushing to cut tCPA targets during this window would have collapsed volume. Holding the targets steady during learning was the right call.
06Charlottenburg converted best — and it wasn't just about population
Charlottenburg-Wilmersdorf generated the highest booking volume and the lowest CPL (€13.40). This district has both the highest rental turnover rate and the highest average apartment size in Berlin — which means more Auszugsreinigung demand and higher-value orders per booking. Budget allocation was adjusted accordingly in month 5.
[15]OUTCOME
Google Ads Search delivered 1,847 bookings at €18.52 avg CPL across all service tracks — down from €34.00 pre-restructure. Best-performing campaign: Auszugsreinigung at €11.80 CPL. Phone call tracking unlocked 73% of conversion volume previously invisible to bidding. Six failed experiments taught the account what not to do. Total spend: €34,200 over 18 months.
Best structure: 4 campaigns · 12 groups · 267 keywords · 840+ negatives Best discovery: phone calls = 73% of bookings, invisible before call tracking Most efficient segment: move-out cleaning (deadline-driven) — €9.40–€11.80 CPL Best district: Charlottenburg-Wilmersdorf — €13.40 CPL · 312 bookings (16.9%) Channel: Google Ads Search only · ~19K clicks · avg CPC €1.80 · 18-month window
Client name is a pseudonym. Metrics are representative of a real engagement; specific figures adjusted to preserve client confidentiality. Results vary by market, budget, and service mix.