Cheap leads that Jeebly already owned
Before we touched anything we spent two weeks working out where every dirham was going. Four months of history, fifteen campaigns, one uncomfortable finding.
Google spend by campaign, May to August 2025. Select any row to see what it actually returned.
A brand keyword campaign does not create demand. It bills you for demand you already had.
Three campaigns were running purely for impressions: a YouTube reach campaign, a display reach campaign, and a Google Display Network campaign pointed at the Moveo service. Between them they served 912,442 impressions and generated two leads in ten months.
Reach campaigns are not always waste. They are waste when nobody has defined what they are supposed to do, when no downstream metric moves, and when they keep running quarter after quarter because nobody is measuring them. All three conditions applied.
- YouTube reach: AED 2,242 across 623,491 impressions, two leads
- Display reach: AED 517 across 193,702 impressions, zero leads
- GDN Moveo: AED 294 across 95,249 impressions, zero leads
We kept the YouTube campaign live for six more weeks after taking over, purely to confirm it was not seeding search demand elsewhere in the account. It was not. We shut it down on 4 November.
Jeebly is not one product. It runs five service lines under one brand: Dash for door to door express delivery, Haul for cargo across land, air and water, Bizz for end to end business logistics, Moveo for home and office relocation, and Plus for white glove delivery.
Those services have almost nothing in common commercially. Dash is a low consideration, high frequency purchase. Moveo is a once every few years decision worth many times more per transaction. Bizz is a procurement conversation with a merchant that can run for weeks.
An account that treats all five as one lead gen funnel will always look mediocre, because the cheap services subsidise the expensive ones and the averages hide both. Splitting the account by service and by audience was the precondition for everything that followed.
Three levers, not one
Cost per lead is an output. It moves when you change how you buy, what you say, or which product you put in front of people. We pulled all three, and only one of them was media buying.
Harvesting demand is cheap. Creating it is not. When we switched spend out of brand keywords and into net new search across B2C, B2B and Moveo, cost per lead went up, from AED 9.52 in September to AED 12.83 in October.
We told Jeebly that would happen before it happened. The first two months of a rebuild are the price of finding out what the market actually costs, and an agency that hides that behind a blended average is setting itself up to be fired in month four.
Then we ran a demand generation test across B2B and B2C. It did not work: AED 4,252 for 39 leads, a cost per lead of AED 109. We killed it on 24 November, eight weeks in, and moved the budget into Performance Max on 13 December. PMax returned 1,139 leads at AED 3.10.
Killing our own test after eight weeks cost less than defending it for six months.
Eleven creatives ran on Meta with enough volume to read. Sorted by cost per lead, the pattern is not subtle.
The worst performer in the B2B set was the one that led with scale, positioning Jeebly as the largest logistics partner. It cost AED 24.39 per lead and we stopped it on 24 December. The best was the one that described the merchant's own delivery promise back to them, from your store to their door, at AED 6.23.
Jeebly's own brand line is delivering joy in motion. The ads that worked were the ones that remembered whose joy it is.
Meta, Nov 2025 to Feb 2026. Bars are cost per lead, shorter is better. Select a creative for the angle and the numbers behind it.
The consumer side of Meta was stuck. For two months it sat between AED 25 and AED 27 per lead and no amount of bidding, budget or audience work moved it, because the problem was not how we were buying.
We were advertising Moveo, the movers and packers service. Relocating a home is a decision people make once every few years, after a long deliberation, usually triggered by an event we cannot see or target. Cold traffic converts badly on it because most people scrolling are simply not moving house this month.
On 28 January we launched a Dash audience instead: everyday parcel pick up and drop off. Low consideration, high frequency, relevant to almost anyone. Cost per lead landed at AED 10.50 in the first partial month and AED 12.10 in the next, roughly 55 per cent below the Moveo line running alongside it.
Movers and packers. Ran from 23 November through the whole period. Cost per lead never dropped below AED 25 in any full month, and the best creative on it still cost more than the worst creative on the other side.
Everyday delivery. Launched 28 January with a single creative and no additional budget, funded by pulling spend off the Moveo line. It beat two months of consumer optimisation in its first fortnight.
Straight out of the platforms
These are unedited exports from Jeebly's own Google Ads and Meta Ads Manager accounts. Nothing has been rebuilt, restyled or retyped. The client's commercial data is covered; the performance record underneath it is not.
Six months, two platforms, one honest number
The figure we care about is the last one: what it costs to find someone who was not already looking for Jeebly.
| Channel | Spend | Leads | Cost per lead |
|---|---|---|---|
| Google Ads | AED 33,111 | 5,634 | AED 5.88 |
| Search | AED 21,822 | 3,639 | AED 6.00 |
| Performance Max | AED 3,529 | 1,139 | AED 3.10 |
| Meta Ads | AED 26,684 | 1,254 | AED 21.28 |
| B2B lead gen | AED 14,907 | 893 | AED 16.69 |
| B2C lead gen | AED 11,777 | 361 | AED 32.62 |
| Total | AED 59,795 | 6,888 | AED 8.68 |
Google figures cover 1 Sep 2025 to 31 Mar 2026 as reported in the account. Meta figures cover the full campaign flight, Oct 2025 to Feb 2026. Search and PMax are subsets of the Google total and do not sum to it.
What we would do with the next six months
A case study that ends with everything solved is a case study that stopped measuring. Three things are unfinished.