NEXSUM_LABS
  1. Home
  2. Work
  3. A pet-supplies retailer's Shopping feed went from rejected SKUs to its cheapest revenue
Book a call

[ Case study ]

Pet retailGoogle ShoppingFeed transformation rulesCategory-tiered campaignsMerchant Center diagnostics

A pet-supplies retailer's Shopping feed went from rejected SKUs to its cheapest revenue

A third of the catalog was disapproved in Shopping — missing GTINs, mismatched titles, broken landing pages. The remaining listings bid blind into one ad group, so premium dog food competed with a $3 chew toy for the same auction logic.

CLIENT an online pet-supplies retailer — FOCUS Fix the feed at the source

Google AdsPaid MediaGoogle AdsPet retailRepresentative example
Client
an online pet-supplies retailer
Industry
Pet retail
Engagement
5 weeks — growth pod — paid media specialist
Service
Paid Media / Google Ads
Headline outcome
Disapproved items in the Shopping feed, sustained across 3 months: 34% → 2%, read from Merchant Center diagnostics

Representative examplesEvery case study in this library is an illustrative composite of the kind of engagement we deliver — written to show our method and standards, not to name clients.

Where they started

Online-only from a single warehouse, the pet-supplies retailer carries thousands of SKUs across food, toys, and accessories, with margins that swing widely between categories. The catalog lives on an e-commerce platform whose product export feeds Google Merchant Center directly; nobody on the team had ever opened a diagnostics report. A part-time contractor maintains the site, the founder buys the inventory, and Shopping had quietly become the largest paid line — and the largest source of wasted-click complaints.

What it was costing

A third of the catalog was disapproved in Shopping — missing GTINs, mismatched titles, broken landing pages. The remaining listings bid blind into one ad group, so premium dog food competed with a $3 chew toy for the same auction logic.

What they could see

  • Merchant Center flagged a large share of the catalog as disapproved — missing identifiers, mismatched titles, dead links — with the list regrowing after every fix.
  • Shopping spend concentrated on cheap, high-click items while premium food listings rarely surfaced despite the margin difference.
  • The founder's attempts to fix disapprovals by hand evaporated each time the feed regenerated from the platform export.
  • Shopping had become the biggest paid line while remaining the least understood — nobody could say which SKUs earned their impressions.

The constraints we worked inside

  • The feed source was the platform's product export — feed hygiene had to be fixed at the source or in middleware, not by hand.
  • Margins varied hugely by category; bids had to respect the difference.
  • The client's developer was a part-time contractor — the fix had to survive without ongoing engineering.

What had been tried before

Disapproved items were resubmitted by hand whenever the Merchant Center flagged them again.
Whack-a-mole against a broken export — the fixes evaporated the next time the feed regenerated, and a part-time contractor couldn't sustain a daily chore.
A single high-bid campaign was raised repeatedly to compensate for the disapproval-lost visibility.
One blind bid meant premium food subsidized chew-toy clicks; spend rose faster than revenue did, and the founder noticed before the reports did.
Product titles were edited in bulk using a spreadsheet find-and-replace pass.
The spreadsheet edits never reached the source export, so the next feed refresh overwrote them — the hygiene lived in the wrong place.

What we proposed

We proposed fixing the feed at the source and restructuring the auctions around economics. GTIN gaps, title templates, and landing URLs got repaired inside the export transformation, so disapprovals stopped regenerating with each feed run. Campaigns then split by category margin tier with separate bids, ending the chew-toy-versus-premium-food auction. Item-level performance review became a monthly routine — winning SKUs get bid support, dead SKUs get excluded — with Merchant Center diagnostics as the standing health check.

Just as important is what we ruled out, and why:

  • Middleware feed-management SaaSThe part-time contractor constraint cuts against a subscription and another system to maintain; transformation rules in the existing export keep the fix in one place they already touch.
  • Smart Shopping automation immediatelyAutomation on a third-disapproved feed and one blind bid multiplies the blindness; tier structure had to exist before the algorithm had anything honest to optimize.
  • Suppressing disapproved SKUs from the catalogThe items were sellable — the feed representation was broken; pulling products from sale would have paid for the feed's failure twice.

How the work ran

01Fix the feed at the source

GTIN gaps, title templates, and broken landing URLs were repaired in the export transformation — disapprovals fell to near zero and stayed there.

02Structure Shopping by margin tier

Campaigns split by category economics with separate bids, so the cheap-chew-toy auction stopped draining the premium-food budget.

03Let the data nominate the winners

Item-level performance review became a monthly routine — best-visibility SKUs get bid support, dead SKUs get excluded rather than absorbing impressions.

Delivered by the growth pod — paid media specialist over 5 weeks, with working increments reviewed with the client every week.

The stack, and the reasoning

Google Shopping
Shopping captured the category's research-to-purchase behavior, and the disapproval problem was a feed representation issue — the channel was right, the plumbing was wrong.
Feed transformation rules
Rules inside the export meant fixes regenerated with the feed instead of evaporating — the only hygiene a part-time contractor could sustain.
Category-tiered campaigns
Separate bids per margin tier stopped low-margin traffic from draining premium-food budget, and made the monthly item-level review actionable.
Merchant Center diagnostics
Diagnostics stayed on as the standing health check — disapprovals surface there first, and the monthly routine starts with what it reports.

What went wrong

Obstacle

Missing GTINs required certificates from suppliers — several vendors took weeks to respond, and two items turned out to have no GTIN in existence at all.

Handled: We filed those items under the exemption path where policy allowed it, chased the slow vendors from the client's side, and tracked the queue in the weekly report until it emptied.

Obstacle

The platform's product export choked on a handful of SKUs — special characters in titles broke the feed file outright, and the failures were silent.

Handled: The transformation rules gained a sanitization step with a failure log, the contractor added a retry, and the export's nightly job was wired to alert on any malformed row.

Obstacle

Fixing the title templates briefly dented click-through — the old mismatched titles had trained the account's history, and the first week read as a regression.

Handled: We held the templates through the learning dip; within two weeks the matching titles pulled better-qualified clicks and the tier structure's numbers made the case for keeping them.

How we worked together

Cadence
A weekly call with the founder, the part-time contractor joining for the export segments; Merchant Center diagnostics walked live, screen-shared, every time.
Client side
The founder owned supplier chasing and decisions; the contractor implemented the transformation rules — deliberately small commitments, sized to a contractor's hours.
Decisions
Feed changes shipped with a before-and-after diagnostics read; anything needing site-level work waited for the contractor's next scheduled window rather than creating emergencies.
They provided
Supplier contacts and the patience to chase GTIN certificates, contractor hours for the export changes, and the founder's own wasted-click gripe list as the review agenda.

What changed

The headline: disapproved items in the shopping feed, sustained across 3 months34% → 2%, read from Merchant Center diagnostics. A second check: shopping-attributed revenue at flat spend, quarter over quarter at +47%.

The founder stopped forwarding Merchant Center warnings with complaint notes attached — the diagnostics walk-through is on the calendar and the feed is boring now, which took months of work to earn. The contractor's transformation rules hold without attention, and the monthly item review decides where money goes instead of where it leaked. Premium food lines finally get the visibility their margin earns, and the founder describes Shopping as the channel he stopped worrying about rather than the one that haunted the week.

The result was read from Merchant Center diagnostics against the pre-engagement baseline over the stated window, with a guardrail check on shopping-attributed revenue at flat spend, quarter over quarter. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.

What they own now

  • The feed transformation rules, with the sanitization and failure-log setup.
  • The category-tiered campaign structure with margin tiers mapped to catalog sections.
  • The monthly item-level review routine — winners supported, dead SKUs excluded.
  • The GTIN exemption queue and supplier-certificate tracker, with vendors contacted.
  • A diagnostics walkthrough recording for the contractor and the founder.

What we would do differently

We would have fixed the title templates before fighting disapprovals — half the 'disapprovals' were mismatches the template change resolved wholesale.

Paid MediaGoogle AdsPet retailGoogle Shopping

Next case study

A SaaS vendor measured its brand-search spend honestly and moved half the budget