← All projects

Marketing Campaign Analysis Dashboard

Facebook, Instagram and Pinterest unified in Fabric — showing the lowest-CTR channel was actually returning 75% more revenue per conversion.

Microsoft Fabric · Power BI Development · Multi-Channel Ad Performance

Microsoft FabricDataflows Gen2T-SQLPower BIDAXPower BI Service
DisciplineAnalytics & BI
PlatformMicrosoft Fabric
ChannelsFacebook · Instagram · Pinterest
Key finding$55.05 vs $31.39 rev/conversion
Marketing Campaign Analysis Dashboard — Overview — impressions, clicks, conversions, cost and profit
Overview — impressions, clicks, conversions, cost and profit
Marketing Campaign Analysis Dashboard — Impressions & CTR drill-down by channel, city, campaign and device
Impressions & CTR drill-down by channel, city, campaign and device
Marketing Campaign Analysis Dashboard — Ads cost & revenue — efficiency by channel
Ads cost & revenue — efficiency by channel

click any screen to enlarge

ROLE

My role

BI Consultant & Data Analyst — end-to-end from ad platform data to a live, client-connected dashboard

01

The challenge

A business running paid campaigns across Facebook, Instagram and Pinterest had no unified way to compare performance across channels. Each platform's native reporting showed its own numbers in isolation. There was no single view to answer which channel was most cost-efficient, which campaigns or cities converted best, or where ad spend should be reallocated. Marketing decisions were being made channel by channel instead of holistically.

02

The data problem

Campaign data lived separately in each ad platform's own reporting, each with its own metrics structure, naming conventions and granularity across channel, campaign, device, city and ad creative. There was no consistent way to compare cost per conversion or revenue per conversion across platforms, no unified CTR calculation, and no single source combining spend, clicks, impressions and revenue into one comparable model.

03

My approach

I built a Data Factory pipeline in Microsoft Fabric to pull campaign data directly from each ad platform on a schedule, landing it in a Fabric Lakehouse rather than relying on manual exports. From there I used Dataflows Gen2 and SQL in the Fabric Warehouse to reconcile platform-specific differences, standardizing metric definitions — impressions, clicks, CTR, conversions, spend, revenue — so the three platforms could be compared on equal footing for the first time.

With the data modeled into a consistent star schema, Power BI connected natively to the Warehouse and I built three focused views: an Overview page for a fast executive read with trend sparklines and month-over-month comparisons, an Impressions & CTR page drilling from channel down through city, campaign and device to surface where engagement was strongest, and an Ads Cost & Revenue page built specifically to answer the efficiency question — cost per conversion and revenue per conversion by channel, so spend is judged against actual return rather than raw volume.

I built DAX measures for the drill-down hierarchies (Channel/City → Campaign → Device → Ad) so users can zoom from a top-line comparison to individual ad performance without separate reports, and added a clicks-versus-conversion scatter plot to surface which campaigns convert efficiently relative to their click volume. The dashboard is live and connected to the client's ad accounts through the Fabric pipeline, so data refreshes automatically.

04

The result

The dashboard gave the client a true cross-channel comparison for the first time. It revealed that despite Pinterest driving the lowest click-through rate (0.99% versus Facebook's 1.29% and Instagram's 1.42%), it delivered the highest revenue per conversion at $55.05 — more than 75% above Facebook's $31.39. Pinterest traffic converted at a much higher value even though it generated less volume. That insight directly challenged an engagement-first view of channel performance and gave the client a concrete case for rebalancing budget toward value per conversion rather than raw click volume.

05

Tools & tech stack

  • Microsoft Fabric Data FactoryScheduled pipeline pulling campaign data from Facebook, Instagram and Pinterest ad accounts
  • Fabric LakehouseStaging layer for raw multi-platform campaign data
  • Dataflows Gen2 & T-SQLStandardizing metric definitions and reconciling platform reporting differences
  • Power BI & DAXDrill-down hierarchies, cost/revenue-per-conversion measures, trend comparisons
  • Power BI ServiceLive connection to the client's ad accounts through the Fabric pipeline

Have a problem that looks like this one?

Tell me what you're trying to decide or automate, and I'll tell you honestly what it would take.