Most growth briefs start with “find new customers.” This one pointed inward. FUSION, a new B2B payment feature at PingPong, was designed to grow through the customers we already had, and the growth half was mine: get them adopting it, then referring partners inside their own networks. That makes it a distribution problem, and I learned the hard way that my usual demand playbook didn't survive contact with it.
I ran the North America launch as Marketing Manager for Ads and Lifecycle, the role I held there from 2021 to 2023, coordinating with product teams in China, U.S. sales leadership, and an operations stack I already governed spanning Salesforce, SalesLoft, and HubSpot. I held marketing admin on that stack: fields, automations and routing were mine to change, and schema-level changes went through IT. The launch ran a quarter or two and brought referred users in the low hundreds into the programs. The performance numbers from this project stay internal, so this post is about the mechanics. What broke, what I rebuilt, and what I'd do again.
Narrow first, then scale
I shrank the target first. The tempting version of a referral launch is “announce it to the whole customer base and see who bites.” I filtered instead: business model, transaction volume, and whether the customer had a partner network worth referring into. Every one of those was a field we already held in Salesforce before sending a single email. Out of a base of a few hundred existing customers, roughly 40 to 80 accounts survived the filter, small enough that sales leadership could read every account name on it and say “yes, that one” or “no, they'd never.” That review conversation, account by account, was where the list got qualified: I built it, sales leadership brought the veto.
A sequence of connected experiments
I ran the channels off one message. Ad copy, landing pages, sales materials and email all carried the same value propositions, so a test on one channel produced a signal I could trust on the others.
Early on I graded on how people read and clicked, and let conversion volume wait:
- Message resonance, clicks and engagement told me whether the positioning landed
- Landing page behavior, bounce rate, time on page, scroll depth, and exit patterns, tracked through Google Analytics and Hotjar
I pushed traffic downstream after the top-funnel signals stabilized, so reps never had to sort through leads generated by messaging I hadn't validated yet.
The email program that broke on day one
Here's the part I'd skip if I were writing a case study for a slide. My first email program treated referred users like normal leads: one nurture track, product benefits, a demo CTA. It broke immediately, because referred users weren't normal leads. They arrived inside the product as limited users with restricted features, and only became full customers after completing KYC. So my nurture emails were pitching features to people who could see them in the nav but couldn't open them, which reads as taunting, and the one action that would unblock them, finishing KYC, appeared in none of the emails. Sales flagged it within the first week of calls: limited users kept asking why the thing we emailed them about was grayed out.
So I stopped sending on a calendar and keyed email to user state. I split the one program into three:
- Nurture, for leads who hadn't yet entered the product. Benefits, proof, a reason to start.
- Activation, for limited users who needed to clear KYC. Every email in this track pointed at one action: finish verification. Nothing about features they couldn't touch yet.
- Onboarding. For newly converted full customers. First transaction, then the referral ask.
Once the programs matched user state, the pattern held for the rest of the launch: performance moved when the CRM, the compliance status and support agreed on what state a user was in, and barely moved when I wrote a cleverer subject line. In the tests I ran here, sending by state moved more than polishing copy did.
The operational plumbing
A hand-cranked system stops the week you get busy, and the three-program structure above only works if state changes propagate on their own. Zapier was the glue, and I built the zaps myself. The flow that mattered most: when a referred user's KYC status flipped to complete in Salesforce, Zapier caught the field change, removed them from the Activation cadence in SalesLoft, and enrolled them in Onboarding. No rep touching it, no weekly list pull. Before that zap existed, the handoff depended on someone noticing the status change, which in practice meant limited users kept getting “finish your verification” emails after they'd finished. I used the same pattern at entry: my zap checked inbound referred leads against the qualification fields, tagged them in Salesforce, and dropped them into the right cadence on arrival. Those zaps ran for more than a year, and I handed them to marketing ops when I left.
The other half of the plumbing was what sales carried into calls. I wrote the one-pagers, decks and integration PDFs, telling the same story the prospect had already seen in the ads and on the landing page. So no call ever contradicted an email.
What sales calls taught the dashboards
The dashboards could tell me a limited user had stalled at KYC. They could not tell me why. Sales calls could. The grayed-out-features confusion that killed my first email program never showed up in any funnel metric. It surfaced because I sat in on calls and heard the same question twice. I fed those call notes straight back into the Activation copy, the FAQ on the landing page, and the sales one-pagers.
What I'd tell a peer to do
Start with a list sales leadership can read account by account and veto, the way three Salesforce fields cut our base to a shortlist before a single email went out. Then map every state a user can be in (for us that was lead, limited user, full customer) and build one program for each state. Automate the state transitions before touching any copy. The campaigns were the easy part. The state machine was the work.