I work on advertising, data and marketing systems.
I work as an independent consultant with companies and agencies.
I handle advertising, measurement and analysis, and I build systems and automations around marketing processes.
Depending on the project I can run part of the work directly, work alongside whoever is already handling it, or step in on one specific problem.
01
Advertising
I work mainly on Google Ads, Meta Ads and TikTok Ads.
I can run advertising directly, or work together with an in-house team or the agency already in place.
Strategy, execution and responsibility depend on the project.
I don't start from a predefined package: I try to understand what is needed, what already exists, and where I can actually be useful.
02
Data
I work on measurement, tracking, reporting, dashboards and analysis.
The goal isn't to collect as much data as possible, but to have information reliable and clear enough to actually use when deciding.
Sometimes that means building a new measurement setup.
Other times it means connecting different sources, making reporting more useful, or simply understanding the data that already exists.
03
Systems
I design automations and systems that connect advertising, analytics, CRM, reporting and other marketing tools.
I'm interested in automation when it makes a process more stable, repeatable and efficient.
It can make information available at the right moment, keep different systems in sync, run tasks that are hard to sustain by hand, or make possible something that wasn't before.
I don't see automation as a way to take value away from the work.
I'm interested in using it to build systems that create more of it.
Built
Four systems I built, shown in action rather than described in words.
Example 01 / 04
No one opens a spreadsheet or exports anything manually.
03:00:04 meta · 1,284 rows
03:00:11 google · 902 rows
03:00:39 normalised 2,186
03:01:07 metrics calculated
03:01:22 aggregated · 6 clients
03:01:48 database write ok
The dashboard, reporting and everything else read from here.
Pipeline · 03:00
RunLog
03:00:04 meta · 1,284 rows
03:00:11 google · 902 rows
03:00:39 normalised 2,186
03:01:07 metrics calculated
03:01:22 aggregated · 6 clients
03:01:48 database write ok
Database updated01 · Data collection
Every night a process downloads the previous day’s paid-platform data, normalises it in seven steps and writes it to a database. Nobody opens a spreadsheet or exports anything manually.
Raw data from one platform cannot be compared directly with another, and reporting that depends on someone remembering to update it eventually stops working.
Open the flow →One place instead of six separate platforms.
The hook in the first two seconds is a close-up face, not the product.
Platform
Overview · last 28 days
PaidAll clientsSpend by client
Performance by objective vs benchmark
Concentration · top 3 clients 61% · HHI 0,21
Clients · 6 active
Creatives · Cortesi Moda
Video viewsTrafficBest
Worst
Click a video to open it · comments read and classified
Analysis · benchmark engine
Parameters
214 campaigns included · 26 excluded (outliers and spend below threshold)
Cleaned average → increased by the margin → minimum result that can be promised for the budget.
The hook works in the first three seconds: 42% of comments ask about sizing, not price.
02 · Platform for agencies
On top of that data I built the interface that makes it usable: an overview of all clients, individual client pages with spend against budget and KPIs compared with an internal benchmark, plus best and worst videos with comments read and classified.
It is not a prettier report. It is where you look before deciding what to stop, rebuild or let run.
Try the platform →From uploaded file to attributed lead, without manual steps.
Attribution
Inbox · incoming creatives
watcher attivoTrascina qui immagini e video
The original filename is discarded: only the number remains. The description lives in the registry.
Automazione
06:04:02 watcher · 6 new files
06:04:03 tipo · 3 video, 3 immagini
06:04:04 durata e formato letti
06:04:05 numeri assegnati · da 007 a 012
06:04:06 renamed · number and extension only
06:04:07 spostati in /Active/Master-Digital
06:04:08 registro · 6 rows aggiunte
06:04:09 campaign · MD · Lead · Sett
06:04:10 adset associati · 4
06:04:11 campaigns created · platform Ad IDs saved
06:04:12 anteprime create · 6
06:04:13 notification sent to team
Pronti al lancioCreatives
Regole cartella
ID progressivo alla creazione Spostamento in base allo stato Mandatory registry rowA creative never lives in two places: its folder shows its status.
/Active · Master Digital
12 more creatives · sorted by number
Register · row 007
The link carries the Ad ID assigned by the platform. The registry resolves it back to the creative and its ad set.
CRM · incoming lead
form inviato · UTM lettaNobody types the source: it arrives from the link with the lead.
412 leads · 100% with Ad IDDashboard · updated at 06:00
Meta + Google + CRM · ultimi 12 mesiMonthly leads · spend
LeadsSpendOctober: creative 007 launches, and spend and leads rise together.
CPA by ad set
Nobody builds this view manually: it is already there in the morning.
Ads · who came from each creative
match UTM ↔ CRMEvery name in the list is a real CRM lead, attributed back to the creative that generated it.
Analysis · lead to contract
30 giorni · Master DigitalThe percentages are not estimates: every step is a CRM status.
Revenue by creative
03 · Ads → CRM → dashboard attribution
A creative is dropped into a folder and the system handles the rest: it assigns a number, archives it under the right status and records every launch with its campaign, ad set and platform Ad ID.
When a lead arrives, the Ad ID in the link enters the CRM. Every night, platform and CRM data are joined through that number and resolved through the registry: the morning dashboard shows not only lead cost, but which people each creative brought in and how many signed.
It matters because without this step optimisation focuses on cost per lead, which is the wrong metric: the ad with the cheapest leads is rarely the one that brings the most contracts.
Open the system →Changes stay traceable: you can always see who did what.
Control Centre
Platforms · AI
Ferrini Home
Arredo · 5 mercati
Demo mockup
Fictional data.
The Map
What it can do
Use the API where one exists, and MCP where available.
04 · Platforms connected to one AI
The advertising and tracking platforms, CRM and client channel are connected to the same AI: through an API where one exists, or through MCP where available.
From there, there is one control room: ask in plain language for an export, a hot-lead list turned into a retargeting campaign, or budget moved where contracts cost less. The AI says what it checked, acts across the platforms and returns a receipt.
It matters because daily management means twenty manual steps across six interfaces, and the time saved can go into decisions. The limits remain explicit: above the threshold it does not act, and it does not decide strategy. It works on one condition — the upstream data must already be clean and attributed.
Open the system →The screens above are the real mockup in miniature: it runs by itself, and clicking opens the full experience. Names and figures are fictional; the behaviour is real.