Project

Campaign Performance & ROI Optimization

Digital Marketing Analytics for 100+ Multi-Channel Campaigns

AT&T \ YP Advertising 2010 - 2013 Marketing Analyst

Executive Summary

Designed and implemented comprehensive marketing analytics framework for YP Advertising (a division of AT&T), analyzing 100+ digital campaigns across search, display, and local advertising channels. Delivered data-driven insights that improved ROAS (Return on Ad Spend) by 20%, reduced customer acquisition costs by 15%, and enabled real-time campaign optimization for 500+ small business clients.

Why This Project Mattered to Me

This was my first role where I got to see the direct impact of data on real businesses. These weren't faceless enterprise accounts—they were local plumbers, dentists, and pizza shop owners whose livelihoods depended on getting their advertising right. When I helped a struggling family restaurant double their phone orders through better campaign targeting, I knew data analytics was my calling.

Campaign Scope

100+ digital campaigns analyzed; 500+ clients; $8.5M monthly ad spend tracked across Google Ads, Bing, Facebook, display networks.

Performance Gains

20% ROAS improvement; 15% CAC reduction; 35% increase in conversion tracking accuracy; 25% faster campaign optimization cycles.

Impact

$1.7M annual cost savings; automated reporting saved 40+ hours weekly; enabled self-service analytics for account managers.

Business Challenge

My Initial Assessment

Walking into a room full of account managers drowning in spreadsheets, I realized the problem wasn't just "too much manual work"—it was that they couldn't answer the most basic client question: "Is my advertising working?" A local florist shouldn't need an MBA to understand their marketing ROI. My goal became radical simplification: one dashboard, one number, one clear answer.

Campaign Performance Dashboard

Real-time analytics dashboard providing comprehensive visibility into campaign performance across Google Ads, Bing, Facebook, and display networks. Enabled account managers and clients to monitor KPIs, identify optimization opportunities, and track ROI across the customer journey.

Monthly Ad Spend
$8.5M
+12% vs. Last Month
Return on Ad Spend
4.2x
+20% Improvement
Total Conversions
12,450
+18% MoM
Cost per Acquisition
$85
-15% Reduction

Campaign Performance by Channel

5.0x 4.0x 3.0x 2.0x 1.0x 4.8x Google Ads 4.1x Facebook 3.6x Bing 2.9x Display

Google Ads delivered highest ROAS at 4.8x. Display network underperformed; reallocated 25% of budget to search.

Customer Journey Conversion Funnel

Impressions 2.5M
Clicks 85K (3.4% CTR)
Website Visits 65K (76%)
Leads Generated 18K (28%)
Conversions 12,450 (69%)

69% lead-to-conversion rate. Drop-off analysis identified form complexity as primary barrier; simplified from 12 to 6 fields.

The Form Field Revelation

We were losing 40% of leads at the form stage. Everyone assumed mobile was broken. But when I analyzed the funnel by device AND form completion time, I found desktop users were abandoning just as fast. The 12-field form asked for "Company Size" and "Annual Revenue"—questions a local electrician doesn't know or care about. Cutting to 6 essential fields (name, phone, service needed) nearly doubled our conversion rate overnight.

Campaign Performance Trend (Last 90 Days)

2.5x 3.0x 3.5x 4.0x 4.5x 90d ago 60d ago 30d ago Today ROAS (4.2x) Conv/Day (410)

Steady ROAS improvement from 3.1x to 4.2x over 90 days through audience segmentation, bid optimization, and negative keyword expansion.

Top Performing Audience Segments

Segment Impressions CTR Conversions ROAS Customer LTV
Small Business Owners 850K 4.2% 3,200 5.1x $1,850
Professional Services 410K 3.9% 2,100 4.8x $1,780
Local Service Providers 720K 3.8% 2,800 4.6x $1,620
Retail Storefronts 620K 3.5% 2,450 4.3x $1,490
Healthcare Providers 380K 3.3% 1,560 4.0x $1,390
Home Services 340K 3.1% 1,340 3.8x $1,280

Small Business Owners and Professional Services segments delivered highest ROAS and LTV. Allocated 40% of budget to these high-performing segments.

The "Pizza Shop Paradox"

Everyone wanted to chase law firms and dentists because of their high LTV. But I discovered something counterintuitive: pizza shops had the lowest individual LTV but the highest referral rate. One happy pizzeria owner told five friends. Those "low value" accounts were actually our best acquisition channel—we just never measured word-of-mouth. This completely changed how we thought about customer lifetime value.

500+
Active Clients
35%
Tracking Accuracy Increase
40 hrs
Weekly Reporting Time Saved
$1.7M
Annual Cost Savings

Interactive Tableau Dashboard Suite

The complete Tableau dashboard platform includes:

  • Real-time campaign performance monitoring across all channels with automated hourly refreshes
  • Multi-touch attribution modeling showing weighted customer journey touchpoints (first 40%, middle 20%, last 40%)
  • Audience segment performance analysis with RFM scoring and LTV prediction capabilities
  • Keyword and ad copy performance drill-down with quality score and impression share metrics
  • Budget pacing alerts and automated anomaly detection for underperforming campaigns
  • Client-facing white-label dashboards with customizable KPI thresholds and branding
  • Competitive benchmarking showing performance vs. industry averages and peer campaigns

Note: Dashboards integrated with Google Ads, Bing, Facebook APIs with daily automated data refresh. Self-service analytics enabled for 15 account managers and 500+ clients. Contact for live demo access.

Data Architecture & Integration

Data Sources
Google Ads API
Bing Ads API
Facebook API
CRM (Salesforce)
Billing System
ETL & Processing
Python Scripts
SQL Server ETL
Data Validation
Data Warehouse
SQL Server 2012
Campaign Mart
Customer Mart
Analytics & Reporting
Tableau Dashboards
Excel Templates
Automated Reports

Implementation Phases

1

Phase 1: Data Integration (Months 1-2)

  • Established API connections to Google Ads, Bing, Facebook for automated data extraction
  • Built Python scripts to standardize data formats across platforms
  • Created SQL Server data warehouse with campaign and customer dimensional models
  • Implemented daily ETL jobs to refresh data overnight
  • Connected CRM and billing systems for revenue attribution
2

Phase 2: Metric Definition & KPI Framework (Month 3)

  • Collaborated with account managers and clients to define success metrics
  • Standardized KPI calculations (ROAS, CAC, LTV, CTR, conversion rate) across all campaigns
  • Implemented multi-touch attribution model (weighted first/last/linear)
  • Created data quality checks and anomaly detection rules
  • Documented business logic and metric definitions in data dictionary
The "Three Different ROASes" Problem

During one meeting, three account managers quoted three different ROAS numbers for the same client. One used revenue/spend, another used profit/spend, and the third excluded returns. That moment taught me that standardization isn't bureaucracy—it's the foundation of trust. We spent an entire week just aligning on definitions before building anything, and it saved us months of arguments later.

3

Phase 3: Dashboard Development (Months 4-6)

  • Designed Tableau dashboard prototypes with 5 account managers (iterative feedback)
  • Built 3 core dashboards: Campaign Performance, Audience Insights, ROI Attribution
  • Implemented drill-down capabilities from campaign → ad group → keyword level
  • Created client-facing dashboards with white-label branding
  • Enabled self-service analytics with filters and parameter controls
4

Phase 4: Audience Segmentation (Months 7-9)

  • Analyzed customer transaction history and behavioral data to identify high-value segments
  • Developed RFM (Recency, Frequency, Monetary) segmentation model
  • Built predictive LTV model using logistic regression
  • Created lookalike audiences for prospecting campaigns
  • A/B tested segment-specific messaging and offers
The "Seasonal Business" Breakthrough

Our RFM model kept flagging HVAC companies as "at-risk" every spring because their winter activity dropped. Classic false positive. But this mistake led to a breakthrough: we built season-adjusted scoring that recognized industry patterns. An HVAC company quiet in April was normal; a tax preparer quiet in April was actually churning. This nuance improved our retention predictions by 40%.

5

Phase 5: Automation & Scale (Months 10-12)

  • Automated weekly client reports sent via email (500+ clients)
  • Built alerting system for budget pacing and performance anomalies
  • Created Excel templates with Tableau data extracts for offline analysis
  • Trained 15 account managers on dashboard usage and data interpretation
  • Documented processes and created knowledge base for ongoing support

Key Code Example: Multi-Touch Attribution

SQL — Weighted Attribution Model

-- Multi-touch attribution model with weighted credit
-- First touch: 40%, Last touch: 40%, Middle touches: 20% distributed

WITH customer_touchpoints AS (
    SELECT 
        c.customer_id,
        c.conversion_date,
        c.conversion_revenue,
        ct.touchpoint_date,
        ct.campaign_id,
        ct.channel,
        ct.ad_spend,
        ROW_NUMBER() OVER (
            PARTITION BY c.customer_id, c.conversion_date 
            ORDER BY ct.touchpoint_date ASC
        ) AS touch_sequence,
        COUNT(*) OVER (
            PARTITION BY c.customer_id, c.conversion_date
        ) AS total_touches
    FROM conversions c
    INNER JOIN campaign_touchpoints ct
        ON c.customer_id = ct.customer_id
        AND ct.touchpoint_date <= c.conversion_date
        AND ct.touchpoint_date >= DATEADD(day, -30, c.conversion_date)
),
attributed_revenue AS (
    SELECT
        customer_id,
        conversion_date,
        conversion_revenue,
        campaign_id,
        channel,
        ad_spend,
        touch_sequence,
        total_touches,
        CASE 
            -- First touch gets 40%
            WHEN touch_sequence = 1 THEN conversion_revenue * 0.40
            -- Last touch gets 40%
            WHEN touch_sequence = total_touches THEN conversion_revenue * 0.40
            -- Middle touches split remaining 20%
            ELSE conversion_revenue * 0.20 / NULLIF(total_touches - 2, 0)
        END AS attributed_revenue
    FROM customer_touchpoints
)
SELECT
    campaign_id,
    channel,
    SUM(ad_spend) AS total_ad_spend,
    SUM(attributed_revenue) AS total_attributed_revenue,
    SUM(attributed_revenue) / NULLIF(SUM(ad_spend), 0) AS roas,
    COUNT(DISTINCT customer_id) AS influenced_customers
FROM attributed_revenue
GROUP BY campaign_id, channel
ORDER BY total_attributed_revenue DESC;
Why 40/20/40 Attribution?

Everyone wanted me to use a fancy machine learning model for attribution. But when I interviewed account managers, they needed something they could explain to a pizza shop owner in 30 seconds. "The first ad that caught your attention gets credit. The last ad before you called gets credit. Everything in between shares the rest." That story resonated. Sometimes the best model isn't the most sophisticated one—it's the one people actually believe and act on.

Results & Impact

20% ROAS Improvement

Average return on ad spend increased from 3.5x to 4.2x through better targeting, bid optimization, and audience segmentation.

15% CAC Reduction

Customer acquisition costs dropped from $100 to $85 by identifying and focusing on high-converting audience segments.

$1.7M Annual Savings

Improved campaign efficiency and reduced wasted ad spend on underperforming keywords and placements.

40 Hours Weekly Saved

Automated reporting eliminated manual data compilation, freeing account managers for strategic optimization work.

35% Attribution Accuracy

Multi-touch attribution revealed that 35% of conversions were incorrectly attributed to last-click, validating upper-funnel investments.

500+ Clients Enabled

Self-service dashboards empowered clients to monitor their campaigns in real-time, increasing transparency and satisfaction.

The Dashboard Nobody Expected to Love

I built the dashboards for account managers, assuming clients wouldn't care about the technical details. Wrong. A 67-year-old locksmith became our biggest dashboard power user. He'd call his account manager to brag about his week-over-week CTR improvements. That's when I realized: people don't hate data, they hate feeling confused by it. Give them something clear, and they'll become data enthusiasts.

Technical Challenges & Solutions

Challenge: API Rate Limits

Issue: Google Ads and Facebook APIs had strict rate limits, causing ETL failures when pulling data for 500+ clients.

Solution: Implemented batching strategy with exponential backoff retry logic. Prioritized high-spend campaigns for real-time sync, pulled low-spend campaigns once daily. Added queuing system to spread API calls across the day.

Challenge: Duplicate Conversion Tracking

Issue: Pixels on client websites sometimes fired multiple times, inflating conversion counts by 15-20%.

Solution: Built deduplication logic based on customer_id + timestamp window (5 minutes). Added conversion quality score to flag suspicious patterns. Worked with web team to implement proper pixel placement.

Challenge: Cross-Device Attribution

Issue: Customers often researched on mobile but converted on desktop, making attribution difficult.

Solution: Implemented probabilistic device graph using hashed email addresses and phone numbers from CRM. Matched ~60% of conversions to previous mobile touchpoints, revealing mobile's true upper-funnel value.

A Hard Privacy Lesson

My first cross-device solution used raw email addresses. It worked beautifully until our security team (rightfully) shut it down. That failure taught me to always think about privacy from Day 1, not as an afterthought. The hashed approach actually worked better because it forced cleaner matching logic. Sometimes constraints make you build better solutions.

Challenge: Dashboard Performance at Scale

Issue: Tableau dashboards became slow when filtering across 100+ campaigns with 2+ years of historical data.

Solution: Created aggregated summary tables for common queries. Implemented incremental extracts instead of full refreshes. Added data source filters to limit query scope. Optimized calculations to use fixed LOD expressions.

Key Learnings

The Lesson That Shaped My Career

Three years into this role, I realized the most valuable thing I built wasn't the dashboard or the attribution model—it was trust. When account managers stopped double-checking my numbers and started making decisions based on them, that's when I knew we'd succeeded. Technical excellence matters, but earning the confidence of people who depend on your data? That's the real win.

Technology Stack

Data Sources: Google Ads API, Bing Ads API, Facebook Marketing API, Salesforce CRM, Custom Billing System
ETL & Processing: Python (requests, pandas), SQL Server SSIS, Custom ETL Scripts
Data Warehouse: SQL Server 2012, Star Schema (Campaign Fact, Customer Dimension, Date Dimension)
Analytics & BI: Tableau Desktop/Server, Excel (Power Query, Pivot Tables), Custom Reporting Engine
Attribution & Modeling: SQL (Window Functions, CTEs), Python (scikit-learn for LTV prediction)