Resolving product overlap in Performance max campaigns to boost efficiency for a leading E-commerce brand

Industry: E-commerce retail
Categories: Electronics, apparel, and home decor
Monthly Google Ads spend: More than $1 million
Campaign type: Performance Max
Region: North America

Note: “Shoporia” is a placeholder name used to protect the client’s identity under an NDA.

Overview

Shoporia is a fast-growing e-commerce marketplace with millions of products across several categories, including electronics, apparel, and home decor.

The business had separate internal teams managing different product verticals. Each team was responsible for its own Performance Max campaigns and growth targets.

The structure worked at first, but performance eventually started to plateau.

The account was experiencing:

  • Higher cost per conversion
  • Declining return on ad spend
  • Growing concerns about wasted media spend
  • Limited visibility into how products were distributed across campaigns

The goal of the audit was to identify structural inefficiencies and improve performance without increasing the media budget.

The challenge

The main issue was not bidding, creative quality, or budget size.

It was product overlap.

Multiple Performance Max campaigns were promoting the same product IDs at the same time, with no clear ownership between teams.

For example, one product could appear in both an electronics campaign and a home essentials campaign because it belonged to more than one merchandising category.

A smart LED bulb, for instance, could reasonably sit under electronics and home decor. But when the same item ID appeared in both campaigns, the account lost control over how that product was being promoted.

What was happening inside the account

Performance Max campaigns rely heavily on automated bidding, audience signals, creative assets, and product feed data.

When the same product appeared in more than one campaign, multiple campaigns were eligible to serve ads for that product.

This created several problems:

  • Campaigns competed for similar users and purchase intent
  • Budget was split across overlapping campaign structures
  • Creative messaging became inconsistent
  • Product-level reporting became harder to interpret
  • High-value products did not have clear campaign ownership
  • Lower-priority campaigns consumed impressions that could have gone to stronger campaigns

Because Performance Max does not provide the same level of keyword or auction-level visibility as traditional Search campaigns, the overlap was difficult to detect through standard reporting.

This made the issue easy to miss and expensive to ignore.

Why product overlap matters in Performance Max

Performance Max is automated, but automation still depends on a clean account structure.

If the same product is assigned to multiple campaigns, Google receives competing instructions about:

  • Which budget should support the product
  • Which audience signals should guide delivery
  • Which creative assets should be shown
  • Which campaign goal should take priority
  • Which performance history should influence bidding

The result can be fragmented learning and weaker budget efficiency.

The account did not need more automation. It needed clearer product ownership.

The diagnostic process

The audit focused on product assignment, campaign structure, and feed management.

Product data export

The first step was to export all active item IDs from each Performance Max campaign.

The data was collected from:

  • Product listing group reports
  • Asset group breakdowns
  • Google Merchant Center feed exports
  • Campaign-level product performance reports

Each campaign was mapped against its active products.

Duplicate detection

A Google Sheets and Apps Script workflow was created to identify item IDs appearing in more than one campaign.

The script:

  • Compared item IDs across campaign lists
  • Flagged duplicate products
  • Grouped overlaps by campaign
  • Highlighted products appearing in multiple asset groups
  • Created a summary of conflicts by category

This gave the team a clear view of where campaign overlap was happening.

Campaign ownership mapping

Once the overlap was identified, each product was assigned to a primary campaign.

The ownership decision was based on:

  • Historical return on ad spend
  • Conversion rate
  • Product margin
  • Category relevance
  • Strategic importance
  • Inventory availability
  • Campaign priority

A product ownership matrix was created so that every item had a clear campaign assignment.

Exclusion planning

Products were removed from lower-priority campaigns and retained only in the campaign best positioned to promote them.

Custom labels were introduced to make the structure easier to maintain.

For example:

  • pmax_owner_electronics
  • pmax_owner_apparel
  • pmax_owner_home
  • high_margin
  • best_seller
  • new_arrival

This allowed the team to control product inclusion and exclusion through the feed rather than relying on manual fixes.

The implementation

The new structure was introduced in stages to avoid disrupting campaign learning.

Step 1: Clean the product feed

The Google Merchant Center feed was reviewed for duplicate entries, inconsistent categories, and incorrect campaign labels.

Duplicate feed entries were removed where necessary.

Products were then assigned custom labels based on category ownership and commercial priority.

This created a reliable source of truth for campaign segmentation.

Step 2: Assign each product to a primary campaign

Overlapping products were removed from lower-priority campaigns.

Each SKU was assigned to one campaign unless there was a clear business reason for controlled duplication.

This helped establish:

  • Clear budget ownership
  • Cleaner reporting
  • More consistent creative messaging
  • Stronger campaign-level learning

Step 3: Apply product exclusions

Item-level and listing group exclusions were added within each Performance Max campaign.

These exclusions ensured that campaigns could not serve products owned by another business vertical.

This was especially important for products that could fit into multiple categories.

Step 4: Align creative messaging

Creative assets were reviewed after the product reassignment.

Each campaign was updated so that headlines, descriptions, images, and audience signals matched the products it was responsible for.

This reduced the risk of users seeing inconsistent or irrelevant messaging.

Step 5: Build ongoing monitoring

A Looker Studio dashboard was created to track the impact of the restructuring.

The dashboard focused on:

  • Cost per conversion
  • Conversion rate
  • Return on ad spend
  • Impression share
  • Product-level spend
  • Duplicate product count
  • Estimated wasted impressions

The duplicate-checking script was also scheduled to run regularly so that new feed changes would not recreate the same problem.

Results after 30 days

The new structure improved performance without increasing the budget.

MetricBeforeAfterChange
Cost per conversion$14.87$9.32Decreased by 37.37%
Conversion rate3.1%4.8%Increased by 54.8%
Impression share lost22.5%9.3%Decreased by 58.7%
Return on ad spend3.8x5.4xIncreased by 42.1%
Estimated wasted impressionsMore than 300,000 per monthFewer than 100,000 per monthDecreased by 66.7%

What changed

The performance lift did not come from adding more campaigns or increasing bids.

It came from removing structural conflict.

Once each product had a clear campaign owner:

  • Budget became more concentrated
  • Product-level reporting became easier to interpret
  • Creative messaging became more relevant
  • High-performing campaigns received cleaner conversion signals
  • Lower-priority campaigns stopped consuming unnecessary impressions

This allowed Performance Max to optimize within a more controlled environment.

Key learnings

Performance Max still needs guardrails

Automation does not remove the need for account structure.

Performance Max can optimize delivery, but it cannot resolve internal product ownership issues on its own.

Every product should have a clear owner

A product should usually belong to one primary campaign.

Controlled duplication may make sense in specific cases, but it should be intentional and measurable.

Feed structure is part of campaign strategy

Custom labels, product types, and campaign filters are not just operational settings.

They directly influence how budget and products are distributed across the account.

Cross-team visibility is essential

In multi-team or multi-agency environments, one team may not know which products another team is promoting.

A shared product ownership framework helps prevent overlap and improves accountability.

Regular audits prevent silent inefficiency

Product overlap can return when new campaigns, categories, or feed updates are introduced.

Scheduled audits and automated duplicate checks make the structure easier to maintain.

Tools used

The audit and implementation used:

  • Google Ads
  • Performance Max campaign reporting
  • Google Merchant Center
  • Google Sheets
  • Google Apps Script
  • Product listing group reports
  • Looker Studio
  • Slack
  • Asana

Final takeaway

Performance Max works best when automation is supported by clear structure.

For Shoporia, the biggest opportunity was not additional budget or more campaigns. It was removing duplicate product ownership and giving each campaign a defined role.

By resolving SKU overlap, improving feed segmentation, and introducing campaign-level guardrails, the account increased return on ad spend by 42.1% and reduced cost per conversion by 37.37% within 30 days, without increasing media spend.