Case Studies — 2023–2025
Ad Strategy
Context
After a period of GLP-1 supply constraints that had limited Juniper's growth, supply normalised — and the business had a clear window to scale aggressively.
The opportunity was time-sensitive. With supply restored and consumer demand for GLP-1 weight management programs running high, the priority was to get in front of as many qualified customers as possible, as fast as possible, without sacrificing acquisition efficiency.
Supply came back. The question was whether our marketing engine could scale fast enough to meet the moment, and do it without blowing up CAC in the process.
Approach
Scaling paid media this fast requires more than increasing budgets. It requires the creative volume to support it, the campaign structure to handle it, and the cross-team alignment to sustain it.
01
Worked closely with creative teams to share performance insights early and continuously — shifting from a handoff model to an ongoing feedback loop that unlocked the creative throughput needed to scale.
02
Built and maintained a campaign architecture designed for scale — structured to give the algorithm room to perform while keeping spend efficient across audience segments and funnel stages.
03
Systematically scaled budgets on proven campaign and creative combinations — prioritising consolidation on what was working rather than spreading thin across untested variables.
At this level of Meta spend, creative is the primary variable. I made it a priority to get performance data back into the hands of creative teams as early as possible — not as a post-campaign report, but as a live input into what they were building next.
Results
CRM & Operations
Situation
Juniper has a multidisciplinary team of health experts — including registered nurses, pharmacists, and health coaches, all equipped to handle a wide range of patient queries. But that team was being bypassed.
Without intelligent routing, inbound queries were being escalated directly to external prescribers regardless of complexity. Routine check-ins and simple clinical queries all landed in the same queue, and that queue went straight to prescribers whose time came at a significant cost.
The result was a misalignment of resources. The internal team was underutilised, prescribers were fielding queries that didn't require their level of expertise, and response times for genuinely complex cases suffered as a result.
Approach
Working cross-functionally with the medical support team, I designed and built a branching transactional workflow in Customer.io that intelligently routed support requirements based on query type and clinical complexity.
The first step was working closely with the medical support team to map the full range of inbound query types — from billing and account issues through to clinical questions requiring practitioner input. This gave us the logic needed to design routing rules that matched the right resource to the right query.
Using Customer.io, I built a transactional workflow with conditional branching logic that automatically triaged incoming support interactions.
Beyond routing, I used the workflow infrastructure to build additional touchpoints into the customer journey, including automated check-ins at key moments that improved engagement and reduced reactive inbound volume. More proactive outreach meant fewer customers reaching out in frustration, and a better overall experience for patients on the program.
The goal wasn't to reduce clinical oversight. It was to make sure prescriber expertise was reserved for the queries that genuinely needed it, while the internal team handled the rest.
Results
The impact came on two fronts simultaneously, a significant cost reduction and a measurable improvement in support quality.