The scenario
The brand distributes a European dermo-cosmetic line — sunscreen, moisturiser and a handful of gentle cleansers — sold both through pharmacy shelves across Kuwait and on its own Shopify store, with KNET and Tabby at checkout. Five years in, the sunscreen alone still carries most of revenue, and it sells itself every year from roughly the point the weather turns until well into summer, when air-conditioned indoor life and outdoor heat both push demand at once.
The account had grown the way many do: a new ad set added for every fresh idea and never retired, campaigns split by near-identical audiences that were really the same people, and a Meta pixel doing double duty with a manual conversions API setup nobody had touched since it was installed. None of that mattered much while budgets were small. It mattered a great deal the moment the brand tried to spend meaningfully more.
- Monthly revenue band
- pending client sign-off
- Monthly ad spend before
- pending client sign-off
- Fulfilment
- Own stock, pharmacy distribution plus direct courier
- Team
- In-house marketing lead plus one outsourced media buyer
Every budget increase bought frequency, not revenue
The brand's instinct going into the season that mattered most was reasonable on its face: demand for sunscreen is genuinely seasonal in Kuwait, so spend more while people are buying. What actually happened each time the daily budget rose was that cost per purchase rose with it, sometimes faster, and the marketing lead's read was that the platform was simply getting more expensive.
The account told a different story once we opened it up. Fourteen ad sets were live across two platforms, most of them variations on the same broad Kuwait audience with overlapping age bands, competing against each other in the same auction for the same person. Only two creatives were carrying meaningful spend, both well past a year old, and frequency on the main prospecting audience had climbed to a level where the same customer was seeing the same tired ad several times a week before ever converting.
Raising the budget on that structure did exactly what it was built to do: it paid to show the same two ads to the same tightening pool of people even more often. The account did not have a scaling problem. It had a structure and a creative-supply problem that only became visible once someone tried to scale it.
What we did — the creative that carried the spend
The losers are here on purpose. A test with only winners was never a test.
The year-old product shot carrying most of prospecting spend
Lost"SPF 50, all-day protection."
- Format:
- Static product photo on a plain background, run unchanged for over a year
This carried the account for a year on genuine seasonal demand rather than its own strength, and it held up fine at low frequency. The moment the budget rose, the same audience saw it several times a week and stopped responding, which is exactly what a single ageing creative does under real spend — it was never built to be the only thing an account scales on.
A humidity-versus-air-conditioning explainer for year-round wear
Winner"Why you still need it indoors, under the air conditioning."
- Format:
- Vertical, 16 seconds, split between an outdoor car and an air-conditioned office
This was the creative that gave the account something to scale into outside its natural summer window: the argument that Kuwait's mix of outdoor heat and indoor air conditioning makes daily use a year-round habit rather than a summer one. It held frequency lower than the old shot at the same budget and became the anchor for the winter push specifically.
The Google search intercept for "sunscreen for oily skin Kuwait"
Winner"A lightweight formula that does not leave a shine."
- Format:
- Google Search campaign, exact and phrase match on skin-type queries
Unlike the social platforms, Google captured people already typing their exact skin worry with buying intent. Adding this as the second platform after Meta stabilised gave the account a second, largely uncorrelated demand pool instead of a second place to show the same two ads to the same shrinking audience.
A White Friday-style discount push in the middle of winter
Lost"30% off everything, this week only."
- Format:
- Carousel, discount-led, run across all live ad sets simultaneously
A blunt attempt to force winter volume with price rather than with a reason to buy off-season. It moved units at a lower margin without changing the underlying frequency problem, and once the discount ended the account was back to the same tired creative at a worse cost per purchase than before the promotion.
What we did — the optimizations, in order
Fix measurement before touching a single budget
We finished the Meta conversions API setup properly, added consistent UTM naming across every link, and set blended marketing efficiency — revenue over all spend — as the number the engagement would be judged on rather than any single platform's reported return.
Why: The team had been reading platform-reported return on a partially broken pixel, which overstated some campaigns and understated others. Nothing that followed would have been trustworthy without this fixed first.
Consolidate fourteen ad sets into three
One prospecting campaign, one retargeting campaign and one campaign for past purchasers on each platform, replacing the fourteen overlapping ad sets that had been competing against each other in the same auction.
Why: Fourteen thin ad sets each get too little data to leave the platform's learning phase, and they were splitting one budget across auctions that were, in practice, all bidding on the same Kuwaiti audience. Three consolidated campaigns let the algorithm learn once instead of fourteen times.
Confirm creative supply before raising a single dinar
We shot the humidity-versus-air-conditioning angle and three supporting variants so the account had at least six live creatives, up from the two it had been running spend through for over a year.
Why: Adding budget to two creatives is how frequency climbs and cost per purchase drifts up, which is exactly what had been happening. There was no version of a successful budget increase that did not start with more places to put the spend.
Raise budget in steps, held five to seven days each
Twenty to thirty percent per step on the consolidated campaigns, with a rule to roll back after two consecutive days above the cost ceiling rather than waiting out a full week hoping it would settle.
Why: The brand's previous approach had been to double the daily budget and judge it two days later, which is not long enough for the algorithm to relearn and long enough to waste real money finding that out. Smaller, held steps gave a clean read at each level.
Add Google Search as the second platform, not a second Meta audience
Once Meta was stable at the new budget, we added a Google Search campaign targeting skin-type and ingredient queries rather than a second Meta audience segment that would have competed with the first.
Why: A second platform is only worth adding when it reaches a genuinely different pool of buyers at the moment they are already looking, which search does and a second social audience does not. It is also the platform where the White Friday-style discount would have made more sense than it did on social, had the team wanted to run one again.
Shape the winter budget around the air-conditioning argument, not a discount
The winter budget was pre-loaded onto the humidity-versus-air-conditioning creative and the search campaign, and the discount push was retired rather than repeated the following month.
Why: A discount buys a week of volume and hands back a worse cost per purchase the moment it ends. A genuine year-round reason to buy is slower to build and does not need to be repeated every month at the brand's own expense.
Recognise where the sunscreen line's ceiling actually sits
Once cost per purchase held steady through two budget steps and then began climbing again on the third, we stopped pushing that line further and moved the conversation to the moisturiser and cleanser range instead of continuing to force spend into one product.
Why: A single hero product in a market this size has a real ceiling, and continuing to feed frequency past it is buying the same customer twice rather than growing revenue. The next block of growth for this brand sits in average order value across the fuller line, not in more spend on sunscreen alone.
What changed
The table above carries the numbers once the client signs them off, and the shape worth stating now is that the account learned to hold a cost ceiling through a step it had never survived before, rather than simply spending more for the same result. That came from consolidation and creative supply arriving before the budget increase, not alongside it.
The two creatives that lost were as instructive as the ones that scaled. The ageing product shot proved that a single winner can carry an account through a slow season and still be the wrong thing to scale on. The discount push proved that price alone cannot substitute for a genuine reason to buy off-season, and it left the account worse off than before it ran once the offer ended.
The clearest finding was the ceiling itself. Cost per purchase held through two budget steps and rose on the third, in a way no amount of new creative or platform mix changed, which told the brand where growth needs to come from next rather than how much further to push the same lever.
What we would do next
First, shift a meaningful share of the winter budget to the moisturiser and cleanser range specifically, testing whether the humidity-versus-air-conditioning argument extends to the full line rather than the sunscreen alone.
Second, build the next Ramadan and wedding-season creative variants a month ahead, since skin routines shift noticeably around both and the account now has the creative-supply discipline to meet that demand instead of discovering it mid-season.