Keyvin AbillonAutomation · SEO · CRO ← Back to portfolio
Case studies

Real accounts. Real before and after.

Three engagements from my live Google Ads and Merchant Center portfolio. Every number below comes straight from the Google Ads API and account screenshots — nothing modeled, nothing projected.

Client names anonymized. Screenshots blurred only where they would identify the client.

01

US Fragrance E-Commerce Store

16x ad spend scale in one month — while ROAS improved — on an account that started with counterfeit-policy disapprovals.

The problem

  • 8 products disapproved under Google's counterfeit policy, risky title patterns across the catalog
  • Product titles disconnected from what shoppers actually search
  • Brand-new ads account that had to scale without tripping more policy flags

What I did

  • Rewrote all 8 flagged listings policy-safe, plus title rules so new products can't repeat the violation
  • 5,718-keyword study filtered through honesty gates → 450-row keyword-led shopping feed covering 1.2M+ monthly searches
  • Negative-keyword banks and a branded/generic split so budget scaled into the right queries

Results — Google Ads, Jun vs Jul 2026

JuneJuly 1–24
Ad spend$483$8,036
Conversions12380
Conv. value$723$15,942
ROAS1.50x1.98x

Best July performers: generic PMax at 3.63x, branded Shopping at 2.84x, discovery PMax at 2.41x.

Google Ads campaigns screenshot, June 2026: $482.73 spend, 12 conversions
BEFORE — June 2026: $483 spend · 12 conversions
Google Ads campaigns screenshot, July 2026: $8,036 spend, 380 conversions
AFTER — July 1–24, 2026: $8,036 spend · 380 conversions
Google Ads growth chart June to July 2026: $8,326 total spend, 392 conversions
FULL WINDOW — Jun 1–Jul 22, 2026: $8,326 spend · 392 conversions · $16,650 conv. value

Source: Google Ads account (screenshots) + Google Ads API pulls, Jun 1 – Jul 24, 2026.

02

Supplements Brand — 5 English-Speaking Markets

From a $0 cold start to a 2x ROAS month — after rescuing the bestseller from a drug-policy flag that made it invisible in Shopping.

The problem

  • Bestselling product line kept getting flagged under Google's drug-class policies — effectively invisible in Shopping
  • Cold-start ads account: no history, five markets at once (AU, CA, UK, IE, NZ)

What I did

  • Root-caused the flag: a drug-class term in copy, not the brand name — rebuilt listings brand-led and policy-clean
  • 1,539-row supplemental feed in two languages with search-grounded titles
  • Full API account diagnostic: zero-converting products, starved budgets, compliance timebombs → prioritized fix plan + negatives pack

Results — launch through Jul 24, 2026

Launch weekLatest week
Ad spend$113$2,025
Conversions285
ROAS0.57x2.83x

July overall: $6,574 at ~2x blended ROAS while still scaling. Brand search at 7.86x. Merchant Center at 94.4% eligible products after the policy cleanup.

Google Ads screenshot June 2026 showing zero spend — account not yet launched
BEFORE — June 2026: $0 — account cold start
Google Ads screenshot July 2026: $6,574 spend, $13,290 conversion value, 199 conversions
AFTER — July 1–24, 2026: $6,574 spend · $13,290 conv. value

Source: Google Ads account (screenshots) + Google Ads API weekly pulls + Merchant Center product-status scan, Jul 24, 2026.

03

Canadian Fashion Boutique — 4,547-Variant Feed Rebuild

Every one of 4,547 product variants retitled around real search demand — 99.8% Merchant Center eligibility at launch.

The problem

  • 4,547-variant catalog running on template titles — zero connection to search demand
  • A niche where Google watches misrepresentation closely — sloppy titles get accounts suspended

What I did

  • Pulled 21,526 keywords with real volumes from the Google Ads API (Canada geo) — demand data, not guesswork
  • Exclusive-assignment system: 1,827 keyword heads, each owned by exactly one product — listings never compete for the same query
  • Every title through honesty gates: claims verified against the live site, competitor brands stripped, ungrounded copy killed

Results — Merchant Center scan, Jul 24, 2026

BeforeAfter
Keyword-grounded titles0 / 4,5474,547 / 4,547
Unique titlesTemplate repeats4,547 unique
Eligible in Merchant Center—4,538 / 4,547 (99.8%)

Campaigns are in early launch phase — this feed infrastructure is the same system behind case study 01.

Source: Google Ads API product-status scan + keyword-ideas API pull, Jul 24, 2026.

04

20-Account Shopping Portfolio — Price-Integrity Monitoring

Found live price errors on four client feeds that had never once been checked — including one feed running 60% of its rows below the price the store actually charged.

The problem

  • A 20-account Google Shopping portfolio running $299,640 in 14 days — feeds built up over months, prices moving underneath them
  • The weekly price check reported “0 mismatch” for several accounts. They were not clean — nothing had been compared. The id pattern silently skipped them
  • Localised feeds (CA / AU / NZ / UK / IE) were invisible to any check — a store’s public product feed only serves its base currency
  • A feed priced below the real checkout price is the exact condition Google penalises — and nobody was seeing it

What I did

  • Audited coverage across every feed file ever built — 92 files. Only 15 were being price-checked
  • Made blind spots impossible to misread: the checker now prints an explicit ZERO COVERAGE warning instead of a clean-looking zero
  • Built a second checker for localised feeds, validating them against the market price books captured at build time — the only source that holds per-country pricing
  • Root-caused every finding before escalating — separating errors in my own feeds from errors in the client’s store feed, so each went to the person who could actually fix it

Results — coverage rebuild, Aug 7, 2026

BeforeAfter
Feed files price-checked15 / 92All current builds
Accounts with price coverage16 / 2019 / 20
Localised feeds validated013 feeds · 2,562 rows
Silent blind spotsReported as “clean”Flagged explicitly
Live price errors surfaced0 known4 accounts

What the first run caught

  • EU accessories brand — 32 of 53 rows priced €5 under the live store. The feed had been built in July; the store raised prices after. Caught the same day it went live
  • Swiss footwear retailer — 89 rows advertising below checkout price
  • US workwear brand — the store’s own feed was sending the was-price as the selling price. Same number, wrong column. Nothing to rebuild, one mapping to fix
  • US motorcycle apparel — 19 rows at exactly half the live price, on the store’s primary feed. The matching Shopping campaigns were running at 0.50x while the same products earned 3.72x elsewhere
Operations dashboard showing severity-ranked feed issues, ROAS scoreboard and Merchant Center eligibility sparklines across a 20-account portfolio
Ops dashboard — fires by severity, ROAS against a 1.0x break-even line, eligibility trend worst-first. Client names anonymised.

The dashboard ships with an anonymised mode so the interface can be shown without exposing an account roster — verified by scanning the rendered page for every real client name before publishing.

Source: Google Ads API product-status and spend pulls, live store price capture, and feed-file audit — Aug 7, 2026. Client names withheld; niches only.

Want your feed and ads account looked at the same way?

Book a project