CASE STUDY · LPI · 2024–2025

Ad System
Re-Architecture

Our Google Ad Manager setup hadn’t changed since 2011, and it hit a hard limit that stopped new ads from launching. I rebuilt how we traffic ads and protected $7.5M in ad revenue growth.

Yellow, orange, pink: order, line item, ad, the colors on my Miro boards.


MY ROLE

Product Design Manager, acting as product owner and subject-matter expert for Google Ad Manager

TIMEFRAME

Cap first hit in late Q3 2024; the rebuild ran mostly late Q2 through Q3 2025

TEAM

Me, with ad ops, the ad design team, sales and development

PLATFORM

Google Ad Manager, Parishes Online (POL), My Community Online (MCO), Salesforce, Miro


THE PROBLEM

Every ad sold became another line item

LPi sells digital ads on church listing pages and in other placements on Parishes Online (POL) and My Community Online (MCO). MCO is the community version of POL: it runs on the same data, with no Catholic references. In Google Ad Manager, every ad sold was set up as its own targeted line item with a single creative. That method dated from 2011, and it hadn’t kept up with two years of fast digital growth.

I was working with the ad design team on internal processes when, in late Q3 2024, new campaigns suddenly stopped going live. We had hit Google Ad Manager’s hard cap of 61,000 line items, and nobody at LPi knew the platform well enough to say why. I didn’t either, yet. So I learned it.

I found that every ad was targeted twice: once on its line item and once on its creative. Removing the duplicate level brought line items with targeting from the 61,000 cap down to about 44,000, and campaigns launched again.

That bought time, not a fix. With one line item for every ad sold, we would hit the cap again soon, and next time there would be no duplicate targeting to remove. I knew we had to act. The audit that followed turned up more:

  • Line items used one at a time. One line item per ad sold, one creative per line item.

  • No naming conventions or organization for those line items.

  • Tangled placements and ad units. Some creatives were assigned straight to ad units, others to placements, and some overlapped through targeting.

  • A system shaped by guesswork. Over the years, teams had changed it without knowing how it worked inside.

  • Ads that under-delivered. Hundreds of ads had never fully delivered as promised, often because of manual errors in how they were set up.

MY ROLE

Learning the platform, then leading the fix

As Product Design Manager, I took on the role of product owner and subject-matter expert for Google Ad Manager.

  • Learned Google Ad Manager from scratch, since no one at LPi had real working knowledge of it.

  • Led the system audit, and found the duplicate targeting that got campaigns launching again.

  • Designed the new trafficking model, the placement cleanup and the naming conventions.

  • Built a phased roadmap with engineering, sales and support, compatible with the rebuild of the platform that serves the ads.

  • Won leadership buy-in with mockups, analytics and a risk-mitigation plan.

  • Set new best practices with ad ops and sales, and wrote scripting requirements with development.

Google Ad Manager line item list from the legacy setup, one targeted line item per sold ad, with status, start dates and delivery progress. Line item names and delivery stats are blurred.

The legacy setup in Google Ad Manager: every ad sold got its own targeted line item and a single creative. Advertiser names and stats are blurred.

THE FORECAST

44 weeks to a dead stop

After the first fix, I counted how fast line items were coming back. On April 2, 2025, there were 43,400. The team had added 488 in the week before, about 400 new ads a week. At that pace, the remaining 17,600 would be gone in about 44 weeks, halting new ads around January or February 2026. The rebuild kicked off that spring, and most of the work ran from late Q2 through Q3 2025.

Bar from 0 to the 61,000 line item cap. 43,400 used on April 2, 2025, about 71 percent. The remaining 17,600 are split into 44 weekly stripes of about 400 each.

Line items in use on April 2, 2025, against the 61,000 cap. Each stripe in the remaining space is one week at about 400 new line items.

61,000

line item hard cap in Google Ad Manager

43,400

line items with targeting on Apr 2, 2025

488

added in one week, Mar 25 to Apr 2

44

weeks left at that pace

$6M

a year in ad revenue at risk when the cap hit

2011

the last time the setup changed

Miro board: one church listing where every live ad has its own line item, 23 in all, with the math: 43,400 line items on 4/2/25, 488 added in a week, about 400 a week, 17,600 left before the 61,000 limit, 44 weeks until dead stop.

My Miro board. One church listing with its premium spots sold out and 20 rotating ads needed 23 line items. The math underneath set the deadline.

STRATEGY

Fix the structure, not just the count


Restructure trafficking

Collapse redundant line items with template-based, modular logic: one line item per placement instead of one per ad.

Plan for regional search ads

A second system for regional, search-driven placements, so the next product line starts on the new structure.

Match how ads are sold

Separate trafficking logic for ads sold on a church’s listing, search- and location-based ads, and national ads.

Organize by placement

Reporting, inventory and transparency organized by placement within each account’s order.

New inventory for local sales

A new digital ad inventory system for the local ads our sales team sells.

Two rebuilds, one roadmap

The platform that serves the ads was being rebuilt at the same time. A phased roadmap kept the two compatible and matched engineering bandwidth, sales readiness and support.

THE NEW MODEL

One order per account, one line item per placement

Premium spots are exclusive, so each keeps its own line item. Rotating spots are shared: each rotating size gets one line item, and every ad sold into that spot becomes a creative on it. Google Ad Manager then rotates them evenly, which the old setup couldn’t do.

Before: 23 line item and ad pairs for one church listing, one line item per ad. After: one order for the church account with 5 line items, three premium with one ad each and two rotating with ten ads each.

One church listing with three premium ads and 20 rotating ads: 23 line items before, 5 after.

Miro concept for the future structure: one order per account, one line item per available placement with targeting on the account, and multiple ad creatives on one line item, which allows true rotation.

The concept from my Miro board, with the same listing worked through: three premium line items and two rotating line items holding ten ads each.

A rotating 300 by 100 line item in Google Ad Manager with ten creatives assigned. Order name, advertiser names, creatives and URLs are blurred.

A rotating line item today, with ten advertisers’ creatives on it. Shared, non-exclusive spots are what keep the system sustainable. Advertiser details are blurred.

MAPPING AND CLEANUP

Untangling placements and ad units

Before moving a single ad, I mapped every placement and ad unit on both platforms, in its current and future state. Once each placement pointed to exactly one ad unit, we could move line items to the new structure one placement at a time and troubleshoot as we went.

POL listing placements and ad units before the cleanup. SAF2_OrgListing_300x250, with 13,930 line items, and SAF2_OrgListing_300x100, with 17,276, each connect to several ad units with crossing lines.

BEFORE

POL listing placements (blue) feeding several ad units (pink) at once. Line item counts are from the last 30 days of impressions at the time. The ad design team had been manually configuring each ad, and the naming conventions and tangled placements were causing confusion and more errors.

The same two POL placements after the cleanup, each mapped to one new ad unit: POL_LargeRotating_300x250 and POL_SmallRotating_300x100.

AFTER

The same placements, each mapped to one new ad unit (green) under the new naming convention. After testing, we were able to retire the old placement names in favor of a naming convention the ad operations team could nderstand.

Wireframe map of ad placements on Parishes Online desktop pages (listing, publication, email, supporters and search) and mobile pages, with a numbered list of placement names.

Every POL placement, on desktop and mobile, mapped by page.

Wireframe map of ad placements on My Community Online (MCO) desktop and mobile pages: listing, publication, supporters and search.

The same map for MCO. The plans changed as both platforms were rebuilt.

EXECUTION

Migrating live ads without stopping them

I worked with development on the scripting requirements for the migration, and with ad ops and sales on new best practices for setting up ads and launching campaigns. Regular demos, updates and documentation kept stakeholders aligned.

  1. Export the existing historical impression and click data.

  2. Rename existing creatives after the line items they currently belong to.

  3. Work out which orders to create from the line items’ church IDs.

  4. Create the orders.

  5. Work out which line items to create from each combination of church ID and placement.

  6. Create the new line items with the new naming scheme, inside the right orders.

  7. Move creatives to the new line items by matching placement.

  8. Archive the old line items.

Migration plan: an eight-step checklist beside a diagram of an order for contract 01-0001, its line items by placement, and the creatives under each line item, keyed by church ID and ad ID.

The migration plan: one order per contract, a line item per placement, and the creatives under each. IDs are examples.

POL/GAM product roadmap from Q4 2024 into 2026, color-coded by research, platform UX, partnerships, Google Ad Manager and business needs. The Google Ad Manager overhaul sits in 2025 Q3. One internal note is blurred.

The POL/GAM roadmap, Q4 2024 into 2026. The Google Ad Manager overhaul ran alongside the platform rebuild. One internal note is blurred.

BUMPS ALONG THE WAY

What made it hard, and what we did

Nobody knew the platform

No one at LPi had real working knowledge of Google Ad Manager, including me at the start.

CHANGE I learned it, then wrote the trafficking logic and best practices down so the knowledge stays with the team.

Creatives had no names

A creative only made sense through its line item. Moving it would have lost track of whose ad it was.

CHANGE A script renamed every creative after its current line item before anything moved.

Ads had to keep running

Thousands of paid ads were live, so the migration couldn’t take the system down.

CHANGE One placement at a time, with room to troubleshoot after each.

History lived in the old line items

Years of impression and click data sat on line items we planned to archive.

CHANGE The migration starts by exporting that data.

Two rebuilds at once

The platform that shows the ads was being rebuilt at the same time as the system that serves them.

CHANGE One phased roadmap kept the two compatible.

Ads that fit no pattern

Our scripts flagged hundreds of ads that didn’t fit any of our solutions, often because of manual setup errors.

CHANGE One-offs were fixed by hand. When we could identify error patterns, such as wrong targeting or naming, we’d create a script to fix it through the Google Ad Manager API.

RESULTS

Room to grow, and a system people understand

Line items

Before: One per ad sold

Now: One per placement per account

Example listing

Before: 23 line items for 3 premium and 20 rotating ads

Now: 5 line items for the same ads

Rotating spots

Before: One creative per line item, no true rotation

Now: Many creatives per line item, rotated by Google Ad Manager

Organization

Before: No naming conventions

Now: One order per account, named by contract number and church

Placements

Before: Placements tangled with several ad units

Now: One ad unit per placement, under a new naming convention

Room under the cap

Before: About 44 weeks, with a halt projected for Jan/Feb 2026

Now: 33,164 line items with targeting, stable as sales grow

Ad delivery

Before: Hundreds of ads never fully delivered

Now: Scripts flag ads that fit no pattern; recurring errors are fixed in bulk through the Google Ad Manager API

Weekly setup

Before: Hundreds of ads configured, activated and deactivated by hand each week

Now: About 56 ads a day sync from Salesforce, saving 3 minutes per ad

$7.5M

revenue growth protected, on the path from $6.5M in 2025 to $14M projected for 2028

33,164

line items with targeting today, down from the 61,000 cap and stable

$32K

in outside costs avoided by doing the work in-house

~56

ads a day synced automatically from Salesforce

15

hours of designer time saved per week

  • The ad business kept running. Resolving the system limit prevented a total stop on new campaigns, projected for January or February 2026.

  • Data we can trust. The new structure is set up for scale and for reliable reporting and analytics.

  • Growth without the cliff. A trafficking strategy that scales with sales instead of running into the cap.

  • A new tool for local sales. A new digital ad inventory tool launched, improving coordination between sales and operations.

  • Trust across teams. Structured communication and transparency between departments built stakeholder confidence.

  • Set up for what’s next. A framework for ongoing platform improvements and the future regional inventory launch.

Google Ad Manager orders list after the restructure, one order per church account, each with a few delivering line items. Order names and impression counts are blurred.

Orders today: each customer account has its own order, 6,504 in the list. Order names and stats are blurred.

A single church order in Google Ad Manager with eight delivering line items, one per placement. Order and line item names and stats are blurred.

Inside one order: eight line items, one for each placement with ads running on that listing.

CONCLUSION

A system failure became a foundation for growth

What began as a technical limit in Google Ad Manager revealed deeper problems across sales, ad ops and platform design, built up over a decade of one-off decisions. Treating it as a systems problem, not a tooling problem, is what let me align the teams, redesign the core trafficking logic, and bring clarity and trust back to the platform.

The cap was the symptom. The structure was the problem.

  • Do the math early. A weekly count turned an emergency into a deadline the business could plan around.

  • Fix the structure, not the number. The first fix bought time. The model change removed the cliff.

  • Make the system readable. Naming conventions and one ad unit per placement mean ad ops can reason about what they see.

  • Move in small, safe steps. One placement at a time kept paid ads running throughout.

In LPi’s ROI review, the retrafficking project is credited with protecting $7.5M: the path from $6.5M in ad revenue in 2025 to a projected $14M in 2028. The standard structure and naming also made the Salesforce automation possible, cutting the room for human error and setting up future automations.

Ad System Re-Architecture · Megan Russell · Product Design Manager

Previous
Previous

Winning ownership of a 9M-visitor directory, then redesigning it

Next
Next

Replacing a failing website product with one that signed 1,000+ contracts