I led a 12-week Phase 1 program that turned a fragmented marketing-analytics estate into one governed source of truth for pipeline and marketing ROI — delivered on time, against a public scorecard.
Outcome at a glance
Program at a glance
| My role | Technical Program Manager — end-to-end owner, charter to benefits |
| Duration | 12-week Phase 1 + governed future-state backlog |
| Sources unified | 5 — CRM/Salesforce · Campaign/MAP · Partner/MDF · Web · Finance |
| Delivery | Agile / Scrum in Jira · 2-week sprints · stage-gated |
| Decisions logged | ~90 governed decisions logged with rationale — data-definition sign-offs, scope trade-offs, and attribution rules — so every number traces to a decision someone owns |
| In scope | Governed definitions · multi-touch attribution · campaign taxonomy · account identity · daily freshness & DQ · executive analytics · role-based access |
| Out of scope | Enterprise MDM · full historical remediation · real-time ingestion · ML attribution (all change-controlled to Phase 2) |
Governance & stakeholders
Marketing, Sales, and Finance each defined the same words differently — so every report turned into an argument. Before anyone built a dashboard, I locked one agreed definition per metric and named who owns it. That single step is what made every number downstream defensible. Below, amber is one definition and green is the other.
Official pipeline is the Sales/Finance number — open opportunities above 50% probability. Marketing-influenced value is any deal marketing touched along the way. They were being added together, which made marketing look like it was claiming Sales’ pipeline. Splitting them ended the “whose number is right” fight.
Marketing-sourced means marketing originated the opportunity; partner contribution means a channel partner drove it. With no rule, the same deal got claimed twice. One governed rule means each deal is credited once — so the totals actually add up.
Operational efficiency is marketing’s fast weekly read — pipeline generated per dollar spent. Finance-approved ROI is the audited return on recognized revenue, signed off by Finance. Reporting one as the other overstated returns in the board deck; keeping them separate gave marketing a number to act on and Finance a number it could certify.
Finance, Sales, Marketing, and Partner each own their definitions. Any change to what a metric means goes through that accountable owner — not a hallway conversation — so definitions stop drifting the moment the program ends.
| Tier | Who | Owns | Cadence |
|---|---|---|---|
| Steering | Sponsor · Marketing · Sales Ops · Finance | Scope, definition sign-off, go/no-go | Bi-weekly |
| Program lead (me) | TPM | Roadmap, dependencies, RAID, decision register | Daily + weekly RAID |
| Workstream leads | Data · Analytics · BI · QA · Security | Sprint delivery in-stream | 2-week sprints |
| Business owners | Marketing/Sales Ops · Finance · Partner | Definitions, source access, UAT, adoption | Reviews + UAT gates |
CRM held sensitive contact, opportunity and financial data, so access was role-based, least-privilege — and early build ran on masked / sample data while the security review completed, rather than blocking the whole program on one gate.
Roadmap & agile delivery
Sequenced by value, dependency unlock and risk — CRM and campaign first (they carry the attribution), then MDF, web and finance. Each gate had explicit exit criteria.
Architecture
The target wasn't to replace Salesforce. It was a governed layer that connects the sources, preserves lineage, and applies business logic once so the dashboard and the definitions can't drift apart.
Every gate translates a technical failure mode into the business risk it removes — the difference between a board deck the CFO trusts and one they don't.
ProblemA 0.22% record variance (1,000,000 vs 997,842 staged) masked a $600K revenue discrepancy — $42.3M source vs $41.7M curated — that would have gone straight to the executive dashboard.
ActionEnforced a HOLD on deployment until Finance & Sales audited the reconciliation bridge and signed off on the explained variance.
Problem18% of campaign records carried null or invalid IDs — enough to silently corrupt which campaigns got credit for pipeline.
ActionAuto-quarantined invalid records and excluded them from revenue attribution until remediated — so no dashboard number was built on broken joins.
Problem~20% of engagement records couldn't be confidently mapped to a target account — and chasing 100% would have blown the go-live date.
ActionLaunched on schedule using a confidence threshold with transparent unmatched records and a post-launch remediation backlog — a deliberate, disclosed trade-off, not a hidden gap.
ProblemLarge API syncs failed mid-run, stalling ingestion and threatening the daily refresh executives relied on.
ActionBuilt batching (5 chunks of 2,000) with 5/15/30-min backoff that resumes from the last checkpoint — recovering without restarting the whole run.
Attribution & analytics
Credit had to be shared fairly across the touches that influenced a deal, in a way Sales and Finance both accept. Every attributed dollar traces back to a rule.
ABM engagement
Centrally governed weighted score over a rolling 90 days, Low/Med/High tiers calibrated from the real distribution, with account-size normalization so size ≠ intent.
MDF & partner
One partner framework with governed rules, tying MDF investment to sourced and influenced pipeline — the same discipline as my partner-marketing case study.
ROI governance
Two separate numbers: operational pipeline efficiency marketing acts on weekly, and Finance-approved ROI on recognized revenue — never conflated.
Quality, risk & cutover
Testing spanned nine layers, UAT was a gate with hard exit criteria, and go-live was a controlled, reversible event with hypercare.
Benefits realization
Closure isn't go-live. I validated outcomes against the approved success metrics — and reported the two that were still ramping honestly, with owners and follow-up.
| Metric | Target | Observed | Status |
|---|---|---|---|
| Governed executive KPIs delivered | 12 | 12 | Met |
| Critical data completeness | ≥95% | 96.2% | Met |
| Reconciliation variance | ≤5% | 1.4% explained | Met |
| Opps with marketing attribution | ≥90% | 91% priority scope | Met |
| Campaign taxonomy compliance | ≥95% | 97% | Met |
| Daily refresh success | ≥99% | 98.7%→99.2% by wk 3 | Met |
| Manual reporting effort reduction | ≥50% | 45–55% (early) | Partial |
| Dashboard adoption | ≥80% | 72% wk 2 | In progress |
Lessons learned
The throughline: this was a program-management case, not a tooling one. Governed definitions, a defensible attribution model, ~90 logged decisions, and a benefits scorecard I reported honestly — misses included — are what made the numbers trustworthy.
← Back to portfolio