← All work
Campaign Orchestration · Intuit

Campaign Orchestration

Intuit
Marketing OpsLifecycleCampaign OrchestrationSystems ThinkingMarketo

At Intuit, lifecycle campaigns reach tens of millions of small businesses on a yearly basis, yet my team would often build most programs from scratch.

I replaced the ad hoc process with a unified marketing operations framework, introducing a single intake standard, mapping our cross functional dependencies, building reusable Marketo program templates, and enforcing a strict pre launch QA gate check.

Single pass scopingEliminated the back and forth between brief submission and launch.
Higher throughput at flat headcountShipped more lifecycle programs per quarter without adding resources.
Near zero production errorsCaught defects during internal testing rather than in customer inboxes.
Stronger lifecycle performanceDrove consistent lifts in activation and engagement across governed programs.
Role
Marketing Operations Manager
Period
Dec 2024 to Aug 2026
Stack
Marketo · Salesforce · HubSpot · Google Tag Manager
Scope
Onboarding, Activation, and Retention
The intake standard
The intake standardOne brief format. A campaign does not enter the sprint queue until it is complete, which moves scoping arguments to before the build instead of during it.

A note on these screens. They are a drafted simulation of the campaign operations work I managed, rebuilt from scratch so I can show how the system actually worked without putting any internal company data on a public site.

The problem

Stakeholders submitted briefs in whatever format they preferred for ad hoc campaigns, which forced my team to restart the scoping process from zero on every request.

We also lacked a formal QA process. Because there was no standardized testing gate, broken links, rendering issues, and targeting errors were often caught by customers after deployment. Every mistake required an urgent fix and chipped away at customer trust.

What I built

  1. A Standardized IntakeI created a single brief format that captured audience definitions, trigger logic, primary metrics, suppression rules, and required approvals upfront. A campaign could not enter the sprint queue until the brief was complete, which resolved scoping debates before the build started instead of halfway through it.
  2. A System Dependency MapI documented every lifecycle campaign type alongside the teams and systems required to launch it. This outlined the exact sequence of which data fields needed to exist, which product events had to fire, and who needed to sign off at each stage. With this map in place, new requests could be scoped in a single pass.
  3. A Modular Program LibraryI built cloneable Marketo program shells for our most common lifecycle patterns. These templates came pre wired with tokenized content, standard suppression lists, and reporting structures so builders never had to start from a blank canvas.
  4. A Predictable Sprint CadenceI moved lifecycle execution onto a fixed sprint schedule aligned with the product release calendar. This allowed us to flag engineering and data dependencies a full sprint ahead of time rather than escalating blockers in the middle of a build.
  5. Built In MeasurementEvery program template launched with Google Tag Manager events and Salesforce reporting fields already mapped. Tracking became a standard part of the build process rather than an afterthought bolted on after launch.

The QA Gate

No campaign reached production without clearing an eight point inspection. If I had to build this operations system all over again at a new company, this checklist is the very first thing I would implement:

  • Seed list render tests across major email clients and mobile devices
  • Every CTA link and UTM parameter validated against our tracking spec
  • Suppression and exclusion logic verified against a control audience pull
  • Personalization token fallbacks confirmed to prevent broken merge fields
  • Final audience counts reconciled against the initial brief within an agreed tolerance
  • Salesforce campaign member sync tested to confirm accurate data writeback
  • Send times, delivery throttles, and frequency caps verified
  • Final stakeholder approvals logged directly on the brief before locking the build
The dependency map
The dependency mapEvery campaign type documented against the teams and systems it touches, in sequence, so a new request is scoped in a single pass.
The QA gate
The QA gateEight checks, run before anything reaches production. This is the part of the system I would rebuild first anywhere else.

What made it hard

A process only works if people actually use it. To a marketer trying to move fast, a strict intake form feels like red tape. I drove adoption by making the structured path the fastest way to get work done. Complete briefs were guaranteed a committed slot in the upcoming sprint, while incomplete requests waited in the backlog. Once stakeholders realized the new intake got their campaigns live faster and without painful post launch fixes, the pushback disappeared.

Need one of these built?

I build the layer underneath campaigns, and the reporting that shows whether it worked.

← PreviousFull-Funnel Lifecycle Program Next →Lean Data Lead Distribution