The diagnosis: competition was the story
A brand that owned its Amazon niche kept failing everywhere else, on Google, on Meta, and on its own site. Twenty-eight million rows across sixteen sources finally showed why: the market had moved, and nobody could see it from inside Seller Central.
The setup
On Amazon, this brand was genuinely healthy: consistent top-3 positioning across dozens of category terms, a 60%+ branded click share competitors never dented, and strong pricing power on a single hero product. Off Amazon, nothing worked. Google Ads tests died quietly, Meta campaigns found clicks but not customers, and the DTC site's traffic turned out to be mostly bots.
The question was not what was wrong with the listings. It was why a brand this strong on Amazon fails everywhere else, and what is happening in the market around it. Amazon's own data is notoriously painful to compile: a dozen disconnected reports, inconsistent grains, no join keys. Until everything was consolidated into BigQuery, covering orders, search terms, ads, demographics, GA4, SEO rankings, and competitor intelligence, there was no way to even ask the question properly.
The build behind this page: 16 raw sources flowing through 33 staging tables into 45 production tables, comprising Kimball facts, dimensions, bridges, and aggregates, plus three BQML models, over 566K order records and 28.6M rows in total. Every chart below is a query against that warehouse.
Amazon held: branded vs category click share, 25 months
Branded click share (red) held a 40 to 77% band the entire window while category share stayed steady. Whatever was going wrong, it was not the Amazon flywheel.
Paid acquisition, indexed
Spend index, heaviest channel = 100. Amazon Ads absorbed nearly all of the budget because it could scale profitably. Google and Meta ran at small exploratory budgets that failed repeated test iterations before they could scale.
A category getting crowded, fast
The consolidated data put numbers on what the team could only feel: 127+ competing products on Amazon, ad costs inflating 37% year over year, and a social-first challenger with 800M+ organic video views showing up on the brand's own search terms. Low barriers to entry kept new sellers arriving, and substitute categories such as chemical exfoliation were growing at twice the rate of the physical category.
Competitor presence on the brand's own terms
Share of the brand's top search terms where each rival now appears. The social-first challenger leads, driven by short-form video more than search.
Five-forces read on the category
Structured competitive scoring from the consolidated data. Substitute pressure and rivalry max out; supplier power is the only quiet force.
Like-for-like pricing: mitt/glove price vs organic reach
Comparable mitt and glove pricing shown. Price on the x axis, monthly organic traffic on a log scale. The brand sits at the value end with the smallest organic footprint, priced to compete but nearly invisible off-platform.
The demand map, one word at a time
12,511 ad search terms were decomposed into component words and aggregated into 249 1-grams covering 99%+ of spend. Everything is indexed: bubble size is a volume index (heaviest word = 100) and color is a performance index around the profit line, where 0 is break-even, positive is profitable, and negative is losing money.
1-gram performance map: indexed volume × indexed return
All 249 word fragments. Hover any bubble for its indexed volume and indexed return. Rival brand terms anonymized.
One hero, one sleeper
The portfolio view added texture the team did not have: 89% of revenue rides on two versions of one product, a concentration that makes the competitive pressure above an existential problem. Buried at 1.4% revenue share sits a sleeper: facial razors converting at 43.7%, nearly half again the hero's rate, with almost no traffic pointed at them. Diversification was already in the catalog, waiting for spend.
Revenue share by product, with conversion rate
Bars show revenue share (hero in red). Dots show conversion rate, and the yellow dot is the sleeper SKU converting at 43.7% on scraps of traffic.
Where revenue sits vs. where ads convert
First-party Amazon demographics against Meta's tracked purchases exposed a quiet mismatch: Amazon purchases concentrate at 25 to 44, while Meta's conversions skewed toward 55 and older. The ads that did convert reached a different population than the one buying the product, one more reason exploratory off-Amazon budgets kept reading as failure.
Amazon purchase index vs. Meta purchase index, by age
Both indexed to their peak bracket = 100. Amazon purchases (bars) concentrate at 25 to 44; Meta purchases (dots) peak at 55 to 64. Two different populations on one axis.
The bridge nobody had mapped
Cross-referencing Amazon search terms against Google rankings surfaced 82 bridge keywords, terms where the brand converts on Amazon but has zero Google presence. Its content footprint was thin, with 49 of 69 indexed pages drawing no organic traffic, and its backlink profile trailed every comparable competitor.
The diagnosis reframed the strategy conversation. The problem was not the campaigns. The market had crowded in around the brand, and the next customer was standing somewhere it had never shown up.