Nine cases, in the order the work happens: the systems and data underneath, the performance they made possible, and the creative calls on top — each one the read on the real problem, the move that followed, and what it produced. These are exemplary cases from across my career; a significant portion of what I've built and run stays confidential under NDA, and this is what I can share in full.
The infrastructure and measurement everything else depends on.
20–30 SMB accounts, one system underneath: automated reporting on the ad platforms’ APIs, daily Slack reports, and a custom CRM layer.
A performance marketing agency runs 20–30 SMB client accounts at once. I built the system underneath — and ran the media on top of it: Meta and Google, roughly 1,100 leads a month at an average CPL under €9.
Every account gets full-service delivery: campaigns, creative, tracking, copy, video. Underneath, a Python reporting pipeline pulls Meta and Google Ads data through their APIs into the Google Sheets dashboards agency owners and clients check daily, and posts an automated performance report to Slack every morning. I also led the data architecture and API integration for a custom CRM — the layer designed to eventually replace the reporting pipeline with something purpose-built.
A neglected Google Ads channel rebuilt from the tracking up — in a vertical where measurement isn't the step before the strategy. It is the strategy.
A multi-account environment in local healthcare, where Meta owns demand generation and Google had been running as an afterthought. The clearest symptom wasn't in any campaign metric — it was in the conversion tracking status across the fleet: 14 tags inactive, 8 registering no recent conversions, 1 unverified. Money spent on a channel that, structurally, could not tell anyone what it was doing.
Healthcare compounds the problem: Google's restrictions on health-related personalization rule out remarketing and audience segments, leaving exactly two levers — query-level intent and geography. So instead of "optimizing" on broken signal, I rebuilt one account from zero: conversion actions designed before any campaign existed, direct contacts as primary conversions, driving-direction requests tracked separately as local-intent evidence, and one inherited metric deliberately excluded because it was contaminated by earlier tracking work.
Six months later: €0.60 average CPC, 95 direct contact actions at just over €21 each, 185 driving-direction requests — with a Google benchmark snapshot showing comparable outcomes at roughly half the clicks of similar advertisers. The rebuild became the blueprint for the rest of the fleet.
A €200K-a-quarter paid account re-read on CAC and payback instead of CPL: the ranking inverts, three distortions surface, and budget moves only where the evidence already exists.
An analysis for an Italian payroll and HR SaaS: eight campaigns across four platforms, managed on cost per lead. Ranked on customer acquisition cost instead, the two cheapest lead sources turned out to be the two most expensive ways to acquire a customer — a direct consequence of every platform optimising for the same form submission while lead-to-SQL rates ranged from 1.3% to 44.7%.
Three distortions in the reported numbers: Performance Max taking credit for branded searches that would have converted anyway; a LinkedIn campaign whose blended average hid a sub-month-payback segment next to one with zero customers; an "awareness" campaign configured for conversions and measurable as neither. Underneath them, one structural read — demand capture is cheap and cannot scale, demand generation is the real price of growth.
The reallocation moves budget only where existing data already supports it, holds the rest in a validation reserve with pre-declared release triggers, and opens with one experiment: feeding CRM lead-stage data back to the platforms so the algorithms optimise for qualified leads, not forms. The interactive version lets you move every assumption — margin, lifetime, PMax incrementality, the budgets themselves — and watch the conclusions recalculate.
Results that came from reading what the platform actually needed.
A single-product e-commerce account with almost no signal for Meta's algorithm to learn from — rebuilt through audience clusters, creative, and a catalog designed to feed it.
One of several advisory engagements with Meta's top-spending European advertisers — this one selling a single, unusual product, with no defined audience, no funnel, and almost nothing for the algorithm to learn from.
The build started with audience clusters, not creative: testing segments until a small number of genuinely distinct groups emerged, each responding to a different reason to buy. Creative was then built around each cluster's specific angle, with a funnel mapped underneath — cold, warm, and retargeting layers doing different jobs.
The distinctive move came once the funnel was working: expanding the catalog with colour variants and accessory bundles — not to sell more SKUs, but to give the algorithm more signal to optimise against. The account moved from a near-negative ROAS to a stable 3–3.5x, and the site grew from a single-product page into something closer to a real catalog.
Three Meta Top Spenders accounts, three surface symptoms, one repeated diagnosis: the real problem was never the one it looked like.
Three Meta Top Spenders accounts — automotive, healthcare, B2B technology — advised through Meta's partner program. In each, the account's real problem wasn't the one it looked like on the surface. Not every fix produces a headline number — these are structural reads, not campaign wins.
A premium dealership's price list was too wide for one ad group — entry-level and flagship vehicles competing for the same signal. Segmenting by price tier, against standard practice, turned the account's weakest campaign into the reference point for the rest of their digital activity.
A physician's practice had already saturated local lead-gen. The lever wasn't tighter geo-targeting — it was building the doctor's personal renown beyond the practice's radius, extending recognition across Italy, Switzerland, and Monaco.
An automotive tech B2B account was selling to two audiences — channel partners and end consumers — through one funnel. Splitting into parallel architectures, separate messaging and targeting run as one coherent system, produced a structure that scales without needing to be rebuilt every time a partner or market gets added.
Same instinct, three rooms: don't fix what the account looks like it needs — read what it actually needs, then fix that.
The human side of the same reasoning: who the message is really for.
Two advisory engagements, two categories, the same discovery: creative that performs isn't always creative that converts.
Two advisory engagements from the same Meta Top Spenders period, in two unrelated categories — the same underlying answer to the same basic question: who is this creative actually talking to, and does it give them what they need to say yes?
A children's clothing brand's creative put the child front and centre — a reasonable instinct that missed who actually clicks buy: the parent, not the child. Rebuilding the video around the person making the decision — clear CTA, fast pacing, brand shown early — moved sales noticeably, with no single number to point to but a clear read from the client's side.
A niche personality-driven board game had evocative, well-produced creative generating real engagement — just not conversions. Buried in the account's own data was the answer: the video holding attention longest wasn't the most evocative one, it was the plainest, the one that simply explained the game. Retargeting the evocative creative's audience with explanatory videos turned sporadic, unpredictable sales into something the account could count on.
Two industries, two products sold on the wrong appeal — until a repositioning insight found the real one.
Two advisory engagements, two industries, same discipline: the appeal people respond to is rarely the one written in the brief.
A social dining app — strangers meeting over a shared table — assumed its appeal was the format itself: a curated dinner, an easy way to meet people. The actual pull was what every swipe-and-chat dating app fails to deliver: something that feels simple, real, and natural. Repositioning around finding a genuine connection, not a stranger to split a bill with, produced an angle that's still part of the company's marketing today, years later.
An Italian luxury kitchen manufacturer was mid-build on a market strategy — Middle East, Germany, UK, and above all the US — when wildfires struck Los Angeles, damaging luxury neighbourhoods including parts of Hollywood. Handled carefully, never framed as opportunity: families rebuilding at that level would need their kitchens rebuilt too, a real need arriving at a real moment. The campaign spoke to exactly that, without ever referencing the disaster as a selling point. Strong enough that the client reallocated budget: more into Meta, less into the specialised print magazines that had been the traditional channel for that audience.
A strategic exercise for a DACH-based BI consultancy — three ad concepts built on a research insight the brief hadn't surfaced, plus a working landing page prototype.
A strategic exercise from a DACH-based BI and analytics consultancy, expanding into Gulf and English-speaking markets. Their own site spoke to IT leaders — migration, infrastructure, dashboards. The brief's actual audience was different: CFOs and Heads of Controlling, who think in margin and revenue, not pipelines. That mismatch shaped everything that followed.
Rather than three ad concepts hitting the same angle, I built three genuinely different psychological mechanisms — situation recognition, cognitive reframe, organisational conflict — each stopping the scroll differently for the same reader. One hook: "Your report took 12 hours to build. Your CFO spent 4 minutes on it. Then asked: 'Can you send me a summary?'" No mention of software — just a scene the reader has already lived.
The system closes with a fully functional landing page prototype: GA4 and Pixel placeholders, a phone field framed around the client's actual five-minute callback window, and a working form that triggers the same journey a real lead would go through.
A whole marketing function — and a team — before any of the above.
One venue, two audiences — students and offices by day, a high-end restaurant by night — under a single brand built from zero, and a team that stayed through the hardest stretch the business faced.
Bistrot 82 opened a few steps from Piazza Sant’Ambrogio in Milan with no audience, no brand and two businesses to reconcile: a daytime venue for Università Cattolica students and nearby offices, and an evening restaurant for a high-end clientele. Each needed its own offers, prices and tone — under a single identity.
I ran every lever of it: the logo and the design of the space, two lines of offers tied to city events and the academic calendar, staff training on who we were and what we stood for, flyering and events in the piazza, partnerships with neighbouring businesses (competitors included), offices and local institutions, catering and private events. Online, I built the social and search presence from scratch, brought the venue onto TheFork, Too Good To Go and takeaway platforms, and digitalised inventory and till. Customers noticed: reviews still online describe the day-and-night positioning in their own words.
The part I’m most proud of isn’t a piece of marketing. When Covid closed the doors, the team stayed — not out of obligation, but because they trusted I’d do right by them. That trust came from being the first to take a risk, every month before.
Open to full-time roles in marketing operations, growth and performance across Europe, and to selected freelance projects.
Get in touch →