Case study · Media agency · data platform migration
own the data,
rent the
tools.
How a mid-size ad agency replaced Salesforce Marketing Cloud Intelligence with a data architecture it owns, at 60 percent lower annual cost, with capabilities MCI never offered at any price.
Results
60%
Lower annual cost
20+ hrs
returned to the team each week
16→1
ad platforms, one owned model
0
black boxes, modeled for the business
“MCI held us back. We had the data but no way to use it beyond client dashboards. With Fabric we are building data products for every part of the business.
client’s Analytics lead
The challenge
A platform that stopped growing, a bill that did not.
The agency had run its client reporting on Salesforce Marketing Cloud Intelligence (MCI) for years. Twenty to thirty end clients, a dozen people across media operations and analytics, and every campaign in search, social, programmatic, connected TV, retail media, and call tracking flowed through it.
Three things converged.
Salesforce stopped investing in MCI. Connector upgrades slowed, roadmap questions went unanswered, and long-standing pain points stayed on the list year after year. The agency was paying a premium for a product that was no longer being built.
The data gaps got wider. Programmatic platforms and a growing set of file-based feeds were unsupported or unreliable in MCI. The workaround was manual uploads: analysts spending hours each week moving spreadsheets instead of analyzing them, and a month-end reconciliation that leaned on people rather than pipelines.
Then the renewal quote arrived: just under $97,000 a year, the same as every year since 2019. The price had not changed. What it bought had.
Media operations felt the pain daily. Leadership owned the decision, and they weighed two risks: a reporting outage in front of twenty-plus clients during cutover, and no in-house data engineers to run whatever came next.
The brief to Ternion was simple to state and hard to deliver: get off MCI without a reporting gap, own the data this time, and leave the agency’s own team able to run it.
- Connectors that were unreliable or didn’t exist
- 12 analyst hours per week on manual reconciliation alone
- An Ad Ops team without a capable pacing tool
“It’s built fit your process, not everyone else’s.
head of ad operations
MCI’s data model was fixed. The agency bent its processes to fit it. The owned model works the other way.
The taxonomy is theirs. Sixteen ad platforms and eight file feeds, each with its own names for the same thing, map onto the agency’s own dimensions: channel, vendor, buying model, placement type, tactic, geography, and audience. The mapping lives in reference tables inside Fabric, not in code. Adding a vendor or renaming a tactic is a row edit, not a rebuild.
Pacing on any slice. MCI’s pacing add-on was rigid and sold as a premium SKU. Ternion rebuilt pacing as DAX measures that calculate delivery against booked spend at query time, for any period, any package, and any line item, with nothing to precompute.
Billing numbers that reconcile. Spend from The Trade Desk, DV360, and Amazon DSP is joined to ad-server impressions and clicks and combined with verification data in the pipeline, so finance invoices from the same billable spend and impressions that media ops delivered against.
Fabric and MCI ran in parallel until the numbers matched, then MCI was switched off. No client saw a gap. Train-the-trainer sessions left the agency’s core team able to support everyone else.
The approach
Consumption pricing, a model built for their business, scale without the premium.
Ternion did not propose a like-for-like platform swap. The recommendation was a composable architecture in the agency’s own Microsoft tenant, where every component can be replaced independently and none of them holds the data hostage. The agency pays for compute and storage based on consumption, and the data itself never leaves their control.
- Ingestion. Supermetrics provides reliable API connections that land daily feeds into Azure storage.
- Lakehouse. Fabric holds bronze, silver, and gold layers; pipelines apply the agency’s taxonomy and alert on any failed refresh.
- Semantic model. One governed Power BI model and DAX library behind client, pacing, and cross-client reports.
- Deployment. Dev, staging, and production workspaces with version control, so analysts ship changes without an engineer.
- Client Portal. End clients open their reports without extra seats.
The Results
Bigger capabilities, smaller bill.
The cost savings were the easy part to predict. What the agency did not expect was how much more the new stack could do. Capabilities MCI never offered at any price, and the bill still dropped by more than half.
01
The bill dropped by 60 percent
With reserved pricing on Fabric capacity, the agency’s projected annual platform cost for Fabric, Power BI, Supermetrics, Blob storage, and the client portal is about $38,000, against the $96,000 MCI contract it replaced.
That covers more sources, more users, and all the data the agency needs: no more overage notices from MCI.
02
More than 20 hours a week came back to the team.
Twelve of those hours were month-end reconciliation, now done in the pipeline. The rest were manual uploads and report assembly; sources that used to arrive by spreadsheet arrive by schedule, and client reports refresh themselves. Those hours went back to analysis and driving better client outcomes.
03
Ownership of the data, and the model.
Campaign data lives in the agency’s own Azure tenant in an open format, and the semantic model on top of it is theirs to change. That made the next step possible: connected AI using the agency’s governed model, and account teams generating their own campaign readouts in plain language, grounded in the same numbers media ops ran the campaigns on. If any tool in the stack is swapped later, the data and the model stay put.
04
Modern visualization, finally.
MCI’s charting library had not meaningfully changed in years. Power BI opened the modern toolkit: drill-through, maps, mobile layouts, and commentary that updates with the data. Customizable client dashboards, shared without adding seats, turned a long-standing complaint into a selling point in new business.
SOUND FAMILIAR?
If the number on the renewal is hard to justify against what you are getting, a 30-minute conversation will tell you whether a migration is worth scoping