Summarize this article with:
Most PPC for ecommerce content treats the work as a setup-and-optimize problem. Choose campaign types, set bids, write ads, watch ROAS. That framing skips the more useful question, which is what specifically you got wrong in your first 12 months running these accounts. Across roughly 30 ecommerce accounts the agency built up between 2023 and 2025, with monthly spends ranging from $20K to $80K, six concrete mistakes show up in the year-one history of almost every account. We stopped making them in year two. The fixes saved an average of 22% of monthly spend per account and lifted blended ROAS from 3.4x to 4.6x across the book. This is the ledger of those six mistakes, the fixes we shipped, and the two changes we expected to lift performance and didn’t.
What is PPC for ecommerce, in operator terms?
Most write-ups define ecommerce PPC as “running Google Ads or Meta on an online store.” That definition is technically correct and operationally useless. The real work is coordinated paid acquisition across Search, Shopping, Performance Max, and Meta, with the product feed acting as the central asset every other channel reads from.
In our book, the channel mix runs roughly 60% Shopping plus Performance Max, 25% Search (mostly brand and head non-brand terms), 10% Meta prospecting, and 5% retargeting and Display. The mix shifts by AOV. Stores at $40 AOV lean heavier into Meta prospecting because Search auctions don’t pencil. Stores at $250 AOV lean heavier into Shopping and Search because intent matters more than discovery.
The product feed is the spine. Titles, attributes, GTINs, image quality, availability signals. A clean feed makes Smart Bidding learnable. A messy feed makes every other optimization a guess. We figured this out in month 9 of year one, after rebuilding feeds for three accounts and watching ROAS climb 30 to 50% in 60 days with no other changes.
That’s the framing the SERP largely misses. PPC for ecommerce is feed-led, channel-coordinated, and only secondarily about bid math.
Why most ecommerce PPC accounts under-perform by default
Three structural defaults cause the underperformance, and all three show up across the accounts we inherited.
The first is treating the product feed as a one-time setup. Most agencies build the feed during onboarding, push it to Google Merchant Center, and never touch it again unless something breaks. After 9 months, feed quality drift takes over. Titles that worked in launch quarter no longer match the queries shoppers actually use. We’ve seen accounts where 40% of search queries serving the products had no token overlap with the product titles. Smart Bidding adapted by buying weaker traffic.
The branded ROAS illusion
The second is reporting blended ROAS as the primary success metric. Headline ROAS of 5x looks great until you split branded retargeting from prospecting. Across the accounts we inherited, branded retargeting accounted for 60 to 70% of attributed revenue but only 30 to 35% of spend. The prospecting half of the account was running at 1.8x to 2.2x ROAS while the headline number sat at 5x. Owners thought the account was healthy. The acquisition engine was bleeding.
The third is trusting Smart Bidding before conversion tracking is clean. Many of the accounts we onboarded had three to five duplicate conversion actions firing across add-to-cart, email opt-in, checkout-start, and order-confirm. The bidder learned from a noisy signal and bought clicks that looked like conversions but weren’t. The fix is unsexy. Strip conversion actions to one or two primary, validate every action through GTM debug mode, then wait 14 days before any tROAS target is set. The same algorithm-trust principle plays out in a different domain in the essay on Meta’s Advantage+ eating creative teams. Platform algorithms reward good inputs and punish noise.
The six mistakes we stopped making in year two
Each of the six below shows up in the year-one history of most accounts we now run. The list is ordered by impact on the bottom line, biggest first. Every fix produced a measurable lift inside 60 to 90 days. Together, they pulled blended ROAS from 3.4x to 4.6x across the book and reclaimed an average of 22% of monthly spend per account. That reclaimed budget either funded prospecting expansion or got returned to the brand as efficiency, depending on the account’s growth stage.
1. We let Performance Max eat branded queries. PMax was running without brand exclusions, capturing roughly 30% of budget on queries Search would have won at a quarter of the CPC. The fix lives inside the campaign settings, under Account-level brand exclusions. Stripping brand from PMax across all accounts in month 14 reclaimed about 18% of total spend without lowering volume.
2. We let the product feed sit static. Titles updated once at launch, never refreshed against the search query data. After analyzing 6 months of SQR for one $60K/month Shopify account, we found 40% of the queries our products served for had zero token overlap with the product titles. Now we run a 90-day feed refresh cycle through Feedonomics. Title CTR climbed an average of 14% across refreshed accounts. Product-page receipts matter at the listing layer too, a point covered in the essay on E-E-A-T on nopCommerce product pages.
3. We optimized for blended ROAS instead of new-customer ROAS. Reporting 5x blended ROAS while branded retargeting carried 65% of attributed revenue masked a prospecting engine running at 2x. After we instrumented new-customer ROAS as the primary KPI in Looker Studio, account decisions shifted. Some accounts that looked “fine” at headline level were actually losing $4K a month on prospecting. Calling it out moved budget toward Meta and toward the right Search keywords.
4. We ran Search and Shopping on overlapping head terms without negatives. Both campaign types were bidding into the same auctions on terms like “running shoes” and “leather backpack.” The auction internal-competition cost us roughly 22% of paid Search spend across the book before we built shared negative keyword lists. Negatives went into a campaign-type-aware shared list, applied to Search only, that excluded any term where Shopping had ranked first organically in the previous 30 days.
5. We trusted Smart Bidding before conversion tracking was clean. On accounts with duplicate or inflated conversion actions, the bidder optimized for the wrong outcomes for 8 to 10 weeks. Now we run a 14-day signal stabilization period before any tROAS or tCPA target is set. The cleanup happens in Google Tag Manager and the Google Ads conversions panel together so definitions match across both. First conversion volume drops 25 to 40% during cleanup, then climbs cleanly.
6. We bid for traffic that hit slow landing pages. Some product pages were taking 4.5+ seconds on mobile. CTR was fine, conversion rate was terrible. Now every account audit includes a Lighthouse plus WebPageTest pass on the top 20 PDPs by intended traffic. Pages scoring under 70 on mobile get pulled from active campaigns until fixed. Mobile conversion rate climbed an average of 18% across the eight accounts where we ran the page-speed gate first.
The hard sub-problem, reading ROAS when most revenue comes from existing customers
The trickiest measurement edge case in PPC for ecommerce is reading ROAS on accounts where 60% or more of revenue comes from returning customers. Branded search and dynamic remarketing capture the buyer who was already going to convert. Headline ROAS reflects that reality, but the number tells you nothing about whether your acquisition engine works.
The split we run on every account: branded ROAS, returning-customer ROAS, and new-customer ROAS, reported separately every month. Branded ROAS sitting between 8x and 15x is normal and tells you the brand is healthy. Returning-customer ROAS of 6x to 10x is a sign the email and lifecycle program is doing its job. New-customer ROAS is the one that matters for paid acquisition decisions.
Most ecommerce accounts we audit don’t measure new-customer ROAS at all. The instrumentation isn’t hard. New vs. returning is available natively in GA4, and Shopify exposes it through the customer-history field. The reason most accounts don’t track it is that the number is uncomfortable. Across our book, average new-customer ROAS sits at 1.6x to 2.4x, while blended ROAS sits at 4x to 5x. The gap between those two numbers is where decisions live.
The tooling we settled on for ecommerce PPC
Google Ads Editor for bulk changes. Looker Studio for client reporting, with one template per channel mix (Shopping-heavy, Meta-heavy, mixed). Feedonomics for product feed management on accounts with more than 200 SKUs, native Google Sheets for accounts with under 200. Triple Whale for new-customer ROAS attribution on Shopify accounts where the budget supports it, native GA4 plus Shopify customer-history for accounts that don’t.
The cost of this stack averaged $340 per account per month, mostly Triple Whale and Feedonomics. We tried building a custom feed manager in Year One. After 90 hours of dev time and an unstable cron job, we killed it and bought Feedonomics. Self-built tooling in this category is almost always a false economy.
What actually moved revenue
Measured across the book at month 24 against the year-one baseline. Each lift is the average across accounts where we shipped the specific change.
The biggest single lift came from new-customer ROAS instrumentation. Not because it created revenue directly, but because it forced budget reallocation away from accounts that looked fine on blended ROAS but were starving prospecting. After the metric was live, four accounts shifted 15 to 25% of their monthly budget from retargeting and brand-defense Search into Meta prospecting and high-intent non-brand Search. Those four accounts grew new-customer revenue 32 to 48% in the next 90 days.
The second biggest came from product feed refresh on stale accounts. Accounts where we ran a 90-day refresh cycle saw an average 14% lift in title CTR and a 9% lift in Shopping ROAS within 60 days. The lift was largest on accounts with more than 500 SKUs because the long-tail title coverage compounded.
What changed from cleaning Performance Max
Stripping branded queries out of PMax reclaimed an average of 18% of total spend across the book. The reclaimed budget didn’t all go back to PMax. About 60% of it moved to Search prospecting, 30% to Meta, and 10% to incremental Shopping bidding on long-tail products. New-customer revenue from the reclaimed budget tracked at roughly 2.1x ROAS, which sounds low until you remember branded retargeting at 12x ROAS doesn’t grow the customer base.
Conversion tracking cleanup produced no direct revenue lift but corrected the signal Smart Bidding was learning from. Accounts that went through the cleanup saw their tROAS targets become reliable for the first time, which downstream meant fewer mid-cycle bid panics from owners reading dashboards in week three of a 90-day learning window.
Page-speed gates on PDPs lifted mobile conversion rate by 18% on average across eight accounts. Smaller absolute number, but the kind of fix that compounds because every channel’s traffic benefits, not just Google’s.
What we thought would work but didn’t
Two changes we shipped with confidence in year two and pulled within six months.
Dynamic remarketing on every product page
We rolled out dynamic remarketing campaigns covering every product the store sold, on the assumption that long-tail product retargeting would sweep up additional conversions. Across six accounts, the campaigns ran for four months. Incremental revenue measured against a holdout cohort was effectively zero. The retargeting was capturing buyers who were already coming back through email, organic, or direct. We pulled the long-tail dynamic remarketing in month five and concentrated retargeting budget on cart-abandoners and recent viewers of high-intent product categories. ROAS on the concentrated retargeting climbed from 6x to 11x.
Brand-defense broad match keywords
We tested broad match on competitor brand terms across three accounts, with negative keyword fences around our own brand. The premise was capturing comparison shoppers in mid-funnel. The execution killed it. Quality Scores on broad-match competitor terms sat at 2 to 3, CPCs ran 4x our normal head term rates, and conversion rate was a third of what non-brand prospecting produced. After 8 weeks and roughly $14K of test spend across the three accounts, we shut it off. Competitor-brand defense works as exact match in narrow scenarios, almost never as broad.
What this work actually costs to run
A 30-account ecommerce PPC book at our scale runs on a small operations layer. We currently staff this practice with three senior strategists, two analysts, one feed specialist, and one ops manager. Total team cost runs about $42,000 a month in fully loaded compensation across the seven roles.
Per account, the senior strategist averages 9 to 12 hours a month, the analyst contributes 3 hours, the feed specialist contributes 2 hours on Feedonomics accounts, and the ops manager logs about 30 minutes. So roughly 15 hours of total team time per account per month. That’s the operating floor any pricing model has to respect.
Tooling stayed under control. Google Ads Editor is free, Looker Studio is free for the templates we use, Feedonomics runs $400 to $800 a month per account depending on SKU count, Triple Whale runs $129 to $299 a month per account on the accounts that use it. Per-account tooling cost averages $260 a month across the book.
Net margin on the practice runs about 41%. Healthy for an agency book at this size, but only because the 6-mistake fixes above stopped a meaningful percentage of accounts from churning at month 9.
How our shop runs PPC for ecommerce accounts
The agency runs ecommerce paid acquisition for Shopify, BigCommerce, and WooCommerce brands, mostly in the US, UK, and Australia. Account size sits between $20K and $80K monthly ad spend. Engagements start with an audit that runs the six checks above against the account’s first 90 days of data, plus a feed quality grade and a conversion tracking validation. Most engagements need 4 to 6 weeks of cleanup before the optimization phase begins. We default to spend-tier pricing, MCC-level access on day one, and new-customer ROAS reporting from week one. The model isn’t aspirational. It’s what 24 months of running PPC for ecommerce accounts taught us was needed for the math to work past year one. A related read on the agency-build side, growing a PPC agency from 3 to 30 clients without a sales team, covers how the demand for this kind of practice gets built.
What to take from this
If you’re inheriting an ecommerce PPC account that looks “fine” on headline ROAS, the question worth interrogating is which of these six mistakes is currently masked by branded retargeting carrying the report. Most of the time, at least four are present. Most of the time, owners haven’t noticed because the dashboard reads green.
The fix order matters. Conversion tracking first, because every other change is unmeasurable without it. Then PMax brand exclusions and Search-Shopping negatives, because those reclaim spend without changing strategy. Then the feed refresh, then the page-speed gate, then new-customer ROAS as the primary metric. Skip the order, lose the math.
PPC for ecommerce accounts that survive year two are the ones where someone finally treated the feed and the measurement layer as more important than the bid math. Most don’t, which is why most accounts plateau at month nine. The six fixes above are what got our book past it.
About the author
Ishant Sharma is the founder of Hustle Marketers, a Google Partner and Meta Business Partner agency working with e-commerce and lead-gen brands across the US, UK, UAE, and Australia. Twelve years in performance marketing. Trackable client revenue across the agency’s work has crossed $780 million. Writes from inside a live agency running 30+ client accounts.
