Skip to content

Performance Marketing

Lead generation across Google, Meta, TikTok, LinkedIn and X. Below is what moved.

TikTok — the value of an untested channel

Miva Open University · Sep 2025 – Aug 2026

TikTok wasn’t initially in Miva’s paid mix. I identified the channel’s value and its young audience overlap with Miva’s target audience. Then, built the creative from organic posts that were already outperforming rather than producing ads from scratch.

Then I rebuilt it. Repeatedly. Each version carried what the last one proved about hooks, testimonial framing, and audience segmentation.

21,476 leads at an average of $1.65. 238.6M impressions, 16.4M people reached, 1.88M clicks at $0.02 CPC. Destination clicks grew 153% on 90% more spend — cost per click stayed flat as the channel scaled. Across successive builds, cost per lead fell around 40% while volume grew roughly eightfold. TikTok Ads Manager · Sep 2025 – Aug 2026
TikTok Ads Manager, campaign report
TikTok Ads Manager, campaign report
TikTok Ads Manager account summary: impressions, destination clicks and cost per click with year-on-year change.
TikTok Ads Manager, account summary

LinkedIn — 69% cheaper clicks on the hardest programme to sell

Miva Open University · July 2026

Miva’s Doctor of Business Administration targets CEOs, directors and senior managers. Most expensive audience on the platform, least forgiving of generic creative.

I ran 2 new creative variants — changing the visual register rather than tweaking copy.

Both variants landed at $0.10 per click, 69% below the account’s earlier benchmark, while website visits kept climbing. 371,813 impressions and 6,173 clicks at 1.66% blended CTR in the first month. LinkedIn Ads Campaign Manager · Jul 2026
LinkedIn Ads Campaign Manager: website visits climbing as cost per click falls.
LinkedIn Ads Campaign Manager: website visits climbing as cost per click falls.

Meta — more clicks from every person reached

Miva Open University · Jul 2025 – Aug 2026

Ran always-on paid across Facebook, Instagram, Threads, Messenger and WhatsApp, against a rolling calendar of admissions cycles, programme launches and milestone campaigns.

403.6M impressions, 38.2M people reached, 3M link clicks. Link clicks grew 57.2% against 26.9% growth in reach — roughly 24% more clicks from every person the campaigns touched. Meta Ads Manager · Jul 2025 – Aug 2026
Meta Ads Manager, account overview
Meta Ads Manager, account overview

RevUp Women — paid acquisition for a Visa-backed pan-African programme

AfriLabs, with Visa

RevUp Women — AfriLabs, with Visa. A pan-African enterprise programme for women-led businesses: 12 weeks of hybrid training, a global mentorship network, and grant funding. I ran the paid acquisition that drove applications into the programme — Facebook as the primary paid channel with over a million unique women reached, organic support across the others, and boosted placements on LinkedIn with a 2.49% CTR. The programme trained 456 women, created 2,426 jobs, connected participants with 67 mentors across 25 countries, and funded 10 businesses at $10,000 each. 29% raised further capital afterwards.

RevUp Women programme impact: 456 women trained, 2,426 jobs created, 67 global mentors across 25 countries, 10 grant recipients at $10,000 each, 29% secured additional funding.
RevUp Women programme report · AfriLabs, with Visa

Earlier work

Neo Cloud Technologies. Awareness and reach campaigns on a limited budget for an early-stage software startup with little to no audience. Took the social pages from 500+ daily impressions to 175k+ unique impressions.

How I build an account

I don’t start by asking, “How many campaigns should we create?” I start with the business. What are we trying to achieve? Who are we trying to reach? What are we selling, how do people make the decision to buy it, and where does meaningful variation exist in that journey? From there, I build the account around the differences that actually matter.

  1. I start with the objective and ensure the account structure reflects the commercial goal, whether that’s leads, applications, sales, revenue, qualified demand or something else. The platform is the execution layer that doesn’t determine my strategy.

  2. Then I look for meaningful differences across factors such as audience, geography, product, customer value, intent and stage of the funnel. I question whether the difference is large enough to change how we should allocate budget, target people, measure performance or optimise.

  3. To determine where budget moves, I segment based on where our strongest opportunities are: audience behaviour, products that justify more investment, and what is actually driving performance. I avoid fragmentation that spreads conversion data too thin as this creates unnecessary complexity and makes optimisation harder. So I segment where the data and business case justify it, and consolidate where they don’t.

  4. I don’t believe every platform should look the same, so I match structure to the platform. Search, social and other acquisition channels have different mechanics, levels of intent and optimisation requirements. I build each around what the platform is actually good at while keeping the overall acquisition strategy connected.

  5. Because not every customer, product or conversion is worth the same amount, I let economics influence the structure. I make sure that budget and structural complexity reflect customer value, conversion volume, acquisition cost and business priorities. The entire goal is to create the conditions for investment to follow opportunity.

  6. I build for learning. I organise and design accounts in a way that teaches something. Campaigns I create make it possible to compare performance, identify patterns and make informed budget decisions without the structure itself making the data difficult to interpret.

  7. Finally, I want the account to make sense beyond the person who built it and be scalable. So I use naming conventions, campaign architecture, budget models, reporting, and documentation that make the system understandable and adaptable as the business grows, because a good account structure makes better decisions easier.

How I run a campaign

  1. I start with the number, not the platform. What are we buying? Is it applications, leads, sales, attention? And what is one worth? Platform choice follows from that.

  2. I mine what is already working. Organic content gives you information before you’ve spent anything. I look at what people already respond to, the topics, messages, formats and creative angles that earn attention naturally. Some of the strongest paid creative comes from ideas that have already proven themselves organically.

  3. I build so the campaign can be read. One clear objective per campaign. Naming conventions that still make sense months later. Tracking in place before launch. If I can’t tell which decision produced which result, the spend taught me very little.

  4. I test deliberately. I don’t change everything at once. Creative, audience, placement, offer or landing experience may all affect performance, but changing several variables simultaneously makes it difficult to understand what actually caused the result. So I learn from each change I make.

  5. I intervene when the data gives me a reason. I check in early enough to catch a bad start, but I don’t confuse early noise with a trend. When the evidence is there, I cut what isn’t working, move budget toward stronger opportunities and stay willing to abandon creative I personally like. The audience gets the final vote.

  6. I report in plain language, and my reports answer three things quickly: what happened, why it matters, and what should we do next. I care about direction, magnitude and action, more than filling a dashboard with numbers.

  7. Every decision I make traces back to the objective. I don’t optimise for numbers simply because they look good. Spend, efficiency and conversion trends only matter in the context of what the campaign is supposed to achieve. I turn those trends into clear visuals and recommendations so the case for scaling, cutting or investigating is easy to understand.

What I actually measure

A platform can tell you that a conversion happened. The business needs to know whether that conversion was worth paying for. That’s the distinction I care about.

  1. I measure the outcome, not just the event. A lead, application, purchase or signup is a useful signal, but it isn’t necessarily the end of the journey. I want to understand what happens after the platform records the conversion. The closer I can get to the actual business outcome, the more useful the data becomes for deciding where the next dollar should go.

  2. I separate signals from outcomes. I look at performance at multiple levels, from media efficiency to the quality and value of what the media ultimately produces. Platform metrics are useful for optimisation, but they are still proxies for business performance. A campaign can have a strong conversion rate and still produce weak commercial results. Conversely, a campaign can look expensive at the platform level while producing customers who are more valuable in the long run.

  3. I want performance to be traceable. The useful question to me isn’t simply, “How did the campaign perform?” It’s: where did the result come from, what did it cost, and what happened afterwards? I want to connect spend and conversion data as closely as possible to the outcomes the business actually cares about, while being able to break performance down by dimensions that inform decisions.

  4. I measure what can change the decision. I don’t believe in tracking everything just because a dashboard can. I care about metrics that help answer a question: is this working? Is it becoming more or less efficient? Where is the opportunity? What should we scale? What should we cut? What needs investigation? If a metric doesn’t help answer one of those questions, it probably doesn’t belong at the centre of the report.

  5. When the numbers are bad, I diagnose before I optimise. A bad number doesn’t automatically mean the media account is the problem. I separate the variables I control — creative, targeting, structure, bidding and budget — from variables that may sit elsewhere in the customer journey, such as the offer, pricing, landing experience or follow-up process. When performance moves in the wrong direction, I first work out where the problem is occurring before changing the account. Otherwise, it’s very easy to optimise the wrong thing.

  6. My final metric is the decision. The purpose of measurement is to make better decisions. I want reporting to make it obvious what changed, why it matters, what I believe is causing it, and what I would do next. Because ultimately, the job of performance marketing isn’t to make the platform report look good. It’s to make the business perform better.

Tools

Meta Ads Manager · Meta Ads Library · TikTok Ads Manager · LinkedIn Ads Campaign Manager · X Ads Manager · Google Ads · Google Ads Editor · Google Trends · Google Keyword Planner · Google Analytics · Google Search Console · Google Tag Manager · Microsoft Clarity · UTM tracking

Let’s talk →