Case study · Azzurro Club Vacanze · Meta lead campaign · twelve winter weeks
Hospitality · Paid social · Lead generation
9,134 leads at €1.49, until the page stopped converting
This campaign ran on Meta over twelve winter weeks, collecting leads for the summer season across the group's seaside properties at a roughly constant weekly budget.
Advertising
Show data table
| Week | Spend € | Leads | Cost per lead € |
|---|---|---|---|
| 10/11-16/11 | 853 | 734 | 1.16 |
| 17/11-23/11 | 1282 | 829 | 1.55 |
| 24/11-30/11 | 1187 | 730 | 1.63 |
| 01/12-07/12 | 1233 | 826 | 1.49 |
| 08/12-14/12 | 1203 | 901 | 1.34 |
| 15/12-21/12 | 1203 | 1230 | 0.98 |
| 22/12-28/12 | 1203 | 1375 | 0.87 |
| 29/12-04/01 | 914 | 1873 | 0.49 |
| 05/01-11/01 | 1182 | 193 | 6.12 |
| 12/01-18/01 | 1182 | 199 | 5.94 |
| 19/01-25/01 | 860 | 130 | 6.62 |
| 26/01-01/02 | 1352 | 114 | 11.86 |
The first eight weeks produced 8,498 leads for €9,078, an average of €1.07 each, with the best week over the holidays at €0.49. The last four weeks produced 636 leads for €4,576: €7.19 each, roughly fifteen times more expensive for the same money.
Where it broke
The obvious reading is that the audience got tired. The data says otherwise: impressions and clicks stayed in the same range in January, and the landing page kept receiving thousands of visits. What changed is what happened on the page.
Show data table
| Week | Landing page views | Leads | Conversion % |
|---|---|---|---|
| 10/11-16/11 | 2682 | 734 | 27.4% |
| 17/11-23/11 | 3771 | 829 | 22.0% |
| 24/11-30/11 | 3349 | 730 | 21.8% |
| 01/12-07/12 | 3547 | 826 | 23.3% |
| 08/12-14/12 | 3560 | 901 | 25.3% |
| 15/12-21/12 | 4580 | 1230 | 26.9% |
| 22/12-28/12 | 5352 | 1375 | 25.7% |
| 29/12-04/01 | 6670 | 1873 | 28.1% |
| 05/01-11/01 | 5083 | 193 | 3.8% |
| 12/01-18/01 | 4002 | 199 | 5.0% |
| 19/01-25/01 | 2465 | 130 | 5.3% |
| 26/01-01/02 | 2544 | 114 | 4.5% |
In the last week of December, 28% of landing page views became a lead. Two weeks later it was under 4%, with the same ads bringing the same volume of people to the same page. The media was still working; something on the page was not. Watching only the cost per lead would have sent me to rebuild creatives, which is the expensive way to fix the wrong thing.
I still cannot say what changed that week, and that is the actual finding. A holiday offer expiring, a form field breaking, a page edit made elsewhere in the company: any of them fits the shape of the data, and nothing in the setup could tell them apart, because only the ad account was instrumented. The first thing I would build now is the boring one: page-level conversion tracking with an alert, so a drop this size shows up on day two instead of week four.
Creative, hotel by hotel
The same offer, the same weeks, six properties: the cost per lead moved by a factor of eight depending on which opening image was used. A pool shot from above and the flag ran cheap and stayed cheap; a ball as the opening frame worked once and then stopped.
| Property | Opening frame | Round 1 | Round 2 | Round 3 |
|---|---|---|---|---|
| Alexander | pool from above + flag | €2.10 | €2.96 | €3.87 |
| Classic | pool from above / ball | €1.21 | €13.70 | €4.90 |
| Tokio | 4k video / ball | €2.27 | €9.65 | €8.46 |
| Mediterraneo | ball | €1.56 | — | — |
| Marina Beach | hotel + pool | €8.30 | — | — |
| King | hotel front + pool | €9.70 | — | — |
The decision this produced was simple: port the winning opening frame across properties instead of writing new scripts, and keep two variants per hotel in rotation so a fatigued hook never takes a whole property down with it.
One thing most people get wrong
Lead campaigns get judged on cost per lead, which mixes together three different things: how cheaply you buy attention, how well the page converts, and how good the offer is. Split them and the diagnosis takes minutes instead of a week. Cost per click tells you about the auction, conversion rate tells you about the page, and only the two together tell you what to change.
What didn't work, and what's missing
- Nobody was watching the page. The ad account had alerts, the landing page did not, so four weeks and about €4,500 went by before the drop was obvious.
- Leads are not bookings. This dataset stops at the form. What those 9,134 leads produced in confirmed stays was tracked elsewhere and never tied back to media spend, so I cannot state a cost per booking for this campaign.
- No holdout. With a small share of the audience kept out of the campaign, the share of bookings that would have happened anyway would be a number instead of an argument.
Figures from the campaign reporting sheet: twelve weeks, spend, impressions, clicks, landing page views and leads per week. The weekly data is in this repo.