Growth · Paid Search & Ops
Performance Marketing & Growth Ops
Took a 14,000-product textbook store from guesswork to a measured growth engine — Google Ads built around edition and ISBN intent, a Python repricing engine, and a catalogue-wide SEO clean-up. In the first month paid search ran at a 1.48% CTR and $0.46 CPC, and the store did 195 orders and $17k+ gross.
- Role
- Growth & Operations Lead (COO) · Google Ads · Pricing Automation · SEO
- Client
- US academic-textbook e-commerce business
- Platform
- Shopify · Google Ads · Python (Keepa / ISBNdb / Shopify APIs)
- 1.48%
- Search CTR
- $0.46
- Average CPC
- 195
- Orders in one month
- $17k+
- Gross sales in one month
- 81/100
- SEO health score
- 10k+
- Meta descriptions rewritten

Overview
An academic-textbook e-commerce business with a 14,000-product catalogue was competing against Amazon on price with manual pricing, no real paid-search structure, and a catalogue whose SEO was quietly broken. I took on growth and operations end to end: the paid-search programme, a pricing-automation engine, and the catalogue clean-up — and ran it on real numbers.
The challenge
Margins on textbooks are thin (15–25%), which puts a hard ceiling on what a customer can cost to acquire — roughly $12. Pricing had to track Amazon continuously across thousands of ISBNs without giving margin away. Conversion tracking was over-counting (184 conversions recorded against about 12 real orders), so nothing could be optimised honestly until that was fixed. And 98% of product pages carried meta descriptions far past the length Google shows, burying the store in search results.
Approach
- Built the paid-search structure around buyer intent — ISBN and edition-number queries first, category terms second — across Search, Shopping and Performance Max, with a small brand-defence budget.
- Wrote a Python repricing engine against the Keepa, ISBNdb and Shopify APIs to reprice against Amazon inside margin guardrails, instead of by hand.
- Audited the full catalogue: rewrote 10,000+ over-length meta descriptions (median 277 → 147 characters, zero over 160, zero failures), fixed empty product descriptions and sitemap coverage, and shipped a WebP cover set to cut layout shift.
- Found and fixed the conversion-counting defect so every decision ran on true orders, not inflated events.
- Cut wasted spend by excluding queries for out-of-stock inventory and tightening to US-only delivery.
Outcome
A measurable engine instead of guesswork. In the first month paid search delivered 289k impressions and 4,286 clicks at a 1.48% CTR and $0.46 CPC — and edition-number queries alone returned roughly the full period's spend in tracked conversion value. The store did 195 orders and $17k+ gross in a month across 39 states, and catalogue SEO health reached 81/100.