Over a decade in B2B and B2C marketing, specialising in CRM, lifecycle strategy, and multi-channel campaign management β email, SMS, WhatsApp, webinars, and beyond β with a consistent focus on retention, engagement, and revenue.
I untangle operational knots, build the systems others rely on and still care about what lands in the inbox. I've consolidated complex systems down into manageable tools, delivered huge email nurture overhauls a full quarter early, and built tools and frameworks using AI that have fundamentally changed the pace at which I work, and my company can operate.
Highly organised, endlessly curious, an eye for clean design, and genuinely obsessed with the gap between good data and great decisions β I bring structure and creativity to everything, in equal measure.
CRM & Email Marketing Manager
Higher Ed Partners
Email engagement
Enrolment funnel
- Own CRM & lifecycle strategy for 12+ partners across multiple countries and languages β 400k+ prospects, 50+ concurrent programmes, and 1,400+ emails.
- Led the Salesforce replatform, launching 8 new partners (including multi-lingual) and producing company-wide technical documentation used from call-centre to director level.
- Consolidated 220+ engagement programmes to 20 β cutting complexity and cost without losing functionality, with documentation adopted across the business.
- Built hyper-personalised journeys at scale β tailoring content, timing, and messaging by partner, programme, country, and lifecycle stage, driving the engagement and funnel gains above.
- Unlocked WhatsApp as a CRM channel β taking ownership of template strategy, compliance, and comms framework from scratch, integrating it alongside email and SMS across full lifecycle programmes.
- Overhauled 400+ emails and restyled 1,000+ templates across 12 partners β refreshing lead nurture, RFI programmes, and agent-facing layouts; lead nurture delivered a full quarter ahead of schedule.
- Built and launched survey and testimonial programmes β 500+ student responses and 200+ consented testimonials, surfaced in a bespoke auto-updating analysis dashboard and used directly to shape product and marketing strategy.
- Managed, trained, and developed a LATAM-based CRM Executive β setting clear KPIs and performance tracking that freed up strategic bandwidth and increased execution speed across CRM and campaigns.
- Designed bespoke internal tools from scratch β a live CRM Stage Viewer and Survey Reporting Workbook, built using APIs, Claude Code, and automated pipelines; replacing manual processes and making real-time data accessible across the business.
- Embedded AI into daily CRM practice β custom workflows, prompt frameworks, and functional tools that compress multi-day tasks into single sessions and moved Q4 deliverables into Q1.
Case studies β problem, approach, result, and what it also showed
Lead Nurture 2.0 Rebuilding the enrolment nurture funnel
Around 100,000 leads sat behind a nurture programme that had grown by duplication β every partner with its own copy of every list and automation, deadline emails reading fields that were frequently blank, and no connection to call-centre or SMS activity. A mystery-shop of the enquiry journey found some partners sending nothing after the acknowledgement and others making five calls in a fortnight.
Three waves, owned end to end.
- A new content framework β three generic emails plus two deadline emails per journey, across Attempt-to-Contact, Application Not Started and Application Incomplete, with deadline urgency always overriding generic nurture.
- A comms map built from the mystery-shop, then an audit of every agent template per partner for consistency, compliance and formatting.
- A rebuilt architecture β three catch-all relational lists driven by the CRM objects where the reliable data actually lives, feeding three programmes that branch by partner rather than one programme per partner.
- A controlled launch behind an exclusion list: one pilot partner first, the rest released as each was checked, legacy switched off in the same order.
| Before | After | |
|---|---|---|
| Lead to successful contact | 67.1% | 74.7% +7.5pp |
| Lead to enrolled | 50 days | 36 days β28% |
| Applications started | 43.0% | 43.9% +0.9pp |
| Applications submitted | 21.2% | 23.0% +1.8pp |
| Legacy | Rebuilt | |
|---|---|---|
| Delivery rate | 94.9% | 98.8% |
| Hard-bounce rate | 4.30% | 0.57% |
| Open rate | 48.7% | 56.5% |
| Click-through | 1.68% | 3.01% |
The gain concentrates where one audience was split into two by intent: that stage went from 1.21% to 3.85% click-through, and from 5.37% to 0.49% bouncing. Individual legacy emails had been hard-bouncing at 15β24% of sends; nothing in the new set exceeds 5.5%, and almost all sit below 1%.
The funnel figures are matched-window comparisons, not a controlled test β other work was live in the same period β so they are the direction of travel the programme coincided with, not proof of sole cause. Two results went the other way, and they are worth more than the ones that did not:
- The top-of-funnel journey opens six points below its predecessor. Most plausibly because it now reaches genuinely cold leads rather than long-nurtured lists β though that explanation is untested.
- A first-person voice pilot lost 11.3 points of open rate on a 3,700-email sample, five of eight emails significantly worse. I recommended against rollout and redesigned the test to hold the subject line constant, so voice can be isolated from subject line.
220 programmes down to 20 One journey, twelve partners, one place to change it
The legacy estate treated each partner as a separate marketing platform: every journey existed once per partner, each with its own enrolment, suppression and check lists β roughly 220 engagement programmes, and several times that in lists. Any copy or timing change had to be made up to twelve times with no way to confirm every copy had been touched, and the deadline programmes referenced a data layer that was often empty, so the most valuable sends failed silently.
Three moves.
- Rebuild the lists as relational rules on the custom objects where the data is reliable, scoped by term status, so one list is correct for every partner.
- One programme per journey, branching by partner code β logic, timing and suppressions defined once, partner content on the branch.
- Cut over carefully: exclusion list, pilot partner, staged decommissioning, and a tag on every new asset so old and new separate by filter rather than by hand.
| Before | After | |
|---|---|---|
| Engagement programmes | about 220, one per partner per journey | about 20, one per journey |
| Payment-deadline journey | 45 objects across nine partners | 3 objects |
| Core nurture programmes | one per partner per stage | 3 |
| Deadline reminders | one per partner per deadline type | 5 |
| Reporting one journey | 92 assets hand-classified | one tag filter |
| Delivery rate | 94.9% | 98.8% |
| Hard-bounce rate | 4.30% | 0.57% |
| Deadline sends | silent failures from field errors | consistent, ahead of the deadline |
Honest accounting: the bounce and delivery gain comes as much from rebuilding the lists on live object data as from the consolidation itself, and the maintenance saving is documented rather than time-measured. The discipline is the point β a copy change is made once and inherited by twelve partners, and a new partner is a branch rather than an estate.
WhatsApp as a governed channel 200-message batches to twelve partners
There was a WhatsApp channel, but it could not be used at scale: sends capped at roughly 200 messages a batch, templates tied to each partner's own number so every change was made twelve times, and an approved template cannot be edited β only deleted and rebuilt, with the name locked for 30 days. The estate had drifted to 36 live templates, no deadline templates for the enrolment funnel, no marketing access to the messaging platform, and no baseline at all.
- Lifted the send cap. Owned the marketing side of a bulk-sending build in Salesforce β UAT, callouts, production validation β plus a campaign hierarchy of twelve partner nodes with four deadline campaigns each, so cross-partner sends are planned rather than improvised.
- Rationalised the estate from a proposed 35 templates to 30, merging the deadline templates the funnel needed and standardising tone and sign-off.
- Built 360 templates by hand β 30 on each of twelve business accounts β using a browser tool I wrote to substitute partner name and number and serve each field in the order the platformβs form asks for it.
- Agreed change control with IT: no ad-hoc edits, formal requests, a review cycle, and marketing as the gate β plus a repeatable measurement method against the platformβs own analytics.
A channel that could reach twelve partners at scale, with something to send at every point of the funnel.
- The send cap is gone. Bulk sending runs through Salesforce with a campaign hierarchy behind it β twelve partner nodes, four deadline campaigns each β so a cross-partner send is planned rather than improvised around a 200-message batch.
- Every funnel stage has a template. The deadline sends the enrolment funnel needed did not exist before this; they do now, on all twelve numbers, alongside the enquiry and on-programme sets.
- 30 templates live, 360 builds by hand β 30 on each of twelve business accounts, built with a browser tool written for the job because the platform's form takes each field in its own order.
- A template for any scenario, and a way to add one. Change control is agreed with IT β no ad-hoc edits, formal requests, a review cycle, marketing as the gate β so a new scenario is a request against a working process rather than a rebuild.
Measuring the channel properly for the first time turned up three things worth acting on:
- The click gap is largely a measurement artefact. Every template asked for a typed reply, which the platform does not count as a click β so the real response rate is unknown, and quick-reply buttons became the highest-value next change.
- The undeliverable rate is a data problem, not a channel problem. It points at stale phone numbers in the CRM, concentrated in three partners.
- The same five templates underperformed at unrelated partners, which locates the weakness in copy rather than audience β and is what the rewrite targeted.
Each of those is a next change with a reason behind it rather than a guess, which is the other thing a governed channel buys you.
Student Voice From no student feedback to a live dataset
There was no structured way of hearing from the students the business recruited: no cross-partner measure of whether a module met expectations, no read on satisfaction at completion, and testimonials arriving at five to eight a quarter from ad-hoc sources. Partner quality conversations ran on anecdote, retention had no early-warning signal, and reporting β when it happened β was a hand-built deck from small spreadsheets, stale on arrival.
Three surveys across the lifecycle, and the reporting that makes them usable.
- Mid-module β timed to land where drop-off risk is highest, asking whether the module met expectations and what would help.
- Completion pulse β satisfaction at the end of the programme.
- Testimonial request β automated, carrying explicit publishing consent and a 0β10 score, so a quote can be used without going back for permission.
- The reporting β a live shareable workbook that fetches current data on load, an editor that ingests the exports and applies theme detection and programme-to-vertical mapping, and an automated sync so nothing needs doing by hand. Analytical conventions were fixed at the same time, including a rule to quote students rather than small-sample averages.
| Before | Latest | |
|---|---|---|
| Mid-module responses | none collected | 524, across all twelve partners |
| Completion responses | none collected | 288 |
| Testimonials on file | ad hoc, 5β8 a quarter | 186 β 160 consented, 103 rated 8β10 |
| Reporting | occasional hand-built deck | live workbook, auto-refreshed |
| Open | Responses per 100 delivered | |
|---|---|---|
| Mid-module | 74% | 6.3 |
| Completion | 79% | 12.4 |
| Testimonial | 64% | 2.4 |
Headline satisfaction: 76% rate their module positively, 82% their completed programme.
None of this existed as data before:
- The dip is at module two β 3.74, against 4.20 and 4.26 either side. A precise retention-timing signal.
- Two verticals sit well below the rest, which is a product conversation rather than a marketing one.
- The testimonial pipeline is single-threaded β 72 of 74 in the latest year came from one email, and over a hundred five-star completers were never asked.
That consented testimonial bank is also what made vertical-specific testimonial content in Lead Nurture 2.0 possible.
Senior Marketing Executive
Parkingeye
- Owned and continuously improved the CRM, CMS, email marketing & customer journey strategy across the UK and sister brands in Germany, Austria & Denmark.
- Launched a competitor charging brand from zero β handling CRM installation, website, marketing, branding, and global stakeholder liaison, scaling the database from 0 to 500k.
- Drove improvements & efficiencies across 5 brands in 4 countries, delivering consistent YoY growth throughout.
Earlier experience
I believe the things you do outside of work say just as much as your CV does. Outside of it, you'll likely find me with my wife, my dog, or deep into one of the hobbies below β they reflect the same discipline, curiosity, and focus I bring to work every day.