Work · Revenue engine · PingPong, 2021–2025

I built the revenue engine behind a new B2B payments line, from first campaign to $250M+ a year

One system: instrumented acquisition, a lifecycle engine, and automation underneath both.

$2M → $76M → $250M+annual volume
~12h → 1–2 minlead handoff
CPL $300+ → ~$160LinkedIn, volume held
What I walked into

A brand-new business line, no inbound engine, and the CRM admin resigning in my first week

PingPong had just opened its cross-border payments line when I joined in late 2021. There was no inbound channel, no marketing automation, and no real technical infrastructure underneath any of it. In my first week the CRM administrator left the company.

The managing director asked whether I could cover the operations and the technical infrastructure build on top of what I was hired for. I took it, and I took it quickly, because the two jobs were the same job. I was brought in to run inbound, and inbound on a funnel with no automation and no revenue operations underneath it does not get to succeed. Whatever I spent would have leaked out through the joints.

The harder part was that this was a new line. Internal demand for it was loud, external demand was unproven, and there was almost no history to reason from: no benchmark for what a supplier lead should cost, no record of which segments converted, nothing to copy. Meanwhile leads that did arrive sat in a shared inbox for around 12 hours before a human noticed them, qualified them by hand, and forwarded them on. So I built the machine first, and bought traffic second.

How I built it

Five builds, in order

Build 01 · Foundation

Consolidate what is already running before spending another dollar

My first move was to spend nothing new. The ads already live were scattered across platforms with no single view, so I consolidated them, got the data legible, and optimized the spend that was already committed. That gave me a denominator to reason from on a line with no history.

Then I relaunched the top of the funnel properly. On Google and LinkedIn that meant a real campaign hierarchy, awareness through consideration to conversion, with PMax, Search and retargeting each doing the job it is actually good at, campaign structures cut by supplier segment instead of geography, and conversion tracking finance could audit line by line.

LinkedIn CPL $300+ → ~$160 · Google registration $90+ → ~$35, volume held
Cost per qualified lead
LinkedIn CPL$300+ → ~$160
Google registration$90+ → ~$35
Build 02 · The stack

Two months to onboard HubSpot, then wire three systems into one

This is the part I was not hired for. With the CRM administrator gone, the stack itself was mine. I spent two months onboarding HubSpot as the marketing system of record, brought in Salesloft for outbound and sales cadences, and went back into Salesforce to revamp it and rebuild the flows underneath it.

The integration between the three was custom built rather than taken off the shelf, because the hand-offs we needed did not exist as a connector: HubSpot to Salesforce to Salesloft, with the record staying correct in all three. On top of that I built more than 70 automations. That stack is what every later build ran on.

HubSpot onboarded in two months · Salesloft added · Salesforce revamped and re-flowed · 70+ automations · integration custom built
The stack I stood up
HubSpot · marketing system of record2 months
Salesloft · sales cadencesonboarded
Salesforce · revamped + flows rebuiltrebuilt
Three-way integrationcustom built
70+ automations on top
Build 03 · The hand-off

From a shared inbox to the right rep in minutes

The old path was a person: a lead arrived, someone processed it by hand, and eventually it reached an SDR, a BDR or an AE, about 12 hours later. There was no enrichment and no smart routing, so whoever picked it up started from a name and an email. I replaced the whole path: enrichment on arrival, routing rules with round-robin assignment, and the lead in front of the right rep with its context already attached, in one to two minutes. The same automation enrolls that lead into the marketing cadence that matches its state, so nothing waits on a human to remember.

Then I made the information come to people. Status changes push into Slack, to the right individual and the right channel: a KYC completion, a support ticket, a LinkedIn lead. Slack and email both carry it. A rep should not spend their day hunting for the information they need to act on, and after this they did not have to. That is a large part of why the rest of it worked.

Lead handoff ~12 hours → 1–2 minutes, enriched and routed, then auto-enrolled into the right cadence
Lead pipeline
Form captured · normalized0:00
Enriched · scored · qualified0:41
Round-robin routed, context attached1:37
Enrolled in the matching cadenceauto
Slack · personSlack · channel✉ Email
Build 04 · Post-acquisition lifecycle

Four cadences, sequenced on where the account sits in KYC

Once HubSpot was in and I could finally see the data, the second leak was obvious. Suppliers registered, went into KYC, and received nothing. No marketing email, and no consistent process on the sales side either. For a payments product that is the worst possible place to go quiet, because KYC is exactly where a supplier decides whether this is worth the paperwork.

So I built four automated cadences, each carrying one objective, sequenced on the account's KYC state. Before KYC, a seven-email arc that exists to get the application finished: welcome, the channels to reach us, an introduction to their dedicated account manager, what the next step is, exactly which documents to prepare, and what becomes available once they are through. After submission, a cadence that supports them while the review runs. After approval, the product tour and product-support track that turns an approved account into a using one.

Four cadences on one trigger set: registered → KYC submitted → KYC approved → using the product
Lifecycle by KYC state
Get the application finished7 emails
Support them through reviewcadence
Product tour + product supportcadence
Account manager introDocument checklistWhat comes next
Build 05 · One GTM motion

Make marketing's numbers the company's numbers

The last build was trust. Campaign messaging, SDR follow-up and product launches ran as one motion with Sales and Product: same targets, same definitions, same dashboard. When a launch shipped, the campaign, the sales script and the lifecycle journey shipped together.

That's what let the engine compound. Year two ran on the same instrumented system, just for longer, on numbers everyone already believed.

$2M → $76M year one · $250M+ year two · one line, one engine
Annual volume
$250M+ year two · same engine
Operating principles

Three rules I applied to every build

Instrumented, or it didn't happen.
Every channel, journey and handoff reports a number finance can trace. That's what made “$2M → $76M” a statement instead of a slide.
Compliance-checked by design.
Regulated product, global audience. Every asset cleared before it shipped. Speed without losing the audit trail.
System over campaign.
Campaigns expire; systems compound. Year two ran on the same engine as year one, at the same budget, for longer.
Result

What the engine produced

Two years, one payments line, one instrumented system. Every number is traceable to a build, and verified on LinkedIn.

Revenue

Annual volume grew from $2M at launch to $76M by the end of year one, then past $250M+ in year two, on the same engine with no structural reinvention.

Efficiency

LinkedIn CPL nearly halved ($300+ → ~$160); Google registration cost fell more than 60% ($90+ → ~$35); lead handoff compressed from ~12 hours to 1–2 minutes.

“He took over all of Marketing for PingPong for over 6 months and has ensured there was no interruption to the business with minimal support. … His work is thorough and impactful.”
Tijana Sijanic
Tijana SijanicDirector of HR · PingPong
“He is an extremely diligent worker whose attention to detail is matched by his understanding of how the details affect the bigger picture.”
Keith James
Keith JamesPayment Solutions Manager · U.S. Bank
“For every project, he's also a strong partner to help shepherd and support the development of net new deliverables, troubleshooting everything from design resources to securing buy-in from cross-functional global stakeholders, including executives.”
Christine M. Porretta
Christine M. PorrettaSenior Manager, Intl. Marketing · Gusto
He took over all of Marketing for PingPong for over 6 months and has ensured there was no interruption to the business with minimal support.
Tijana Sijanic Tijana SijanicDirector of Human Resources
PingPong
More work

Need this engine built where you are?

Acquisition, lifecycle and automation, instrumented end to end.