Skip to content
Ecommerce Google Ads

How I Built a Scalable Google Ads Funnel With Shopping and Performance Max

An online retailer with strong organic demand was running a single Performance Max campaign trying to do everything at once. I rebuilt the structure around brand isolation, smart feed segmentation, and clean server-side tracking, and turned a flat account into a predictable growth engine.

01   The numbers

  • 1.9x lift Blended ROAS
  • +147% Non-Brand Revenue
  • GA4 ↔ Ads parity restored Tracking Accuracy
  • 90 days Timeline to Result
How I Built a Scalable Google Ads Funnel With Shopping and Performance Max: hero screenshot

02   The breakdown

The Setup

The brand had real organic demand, a healthy Shopify catalog, and a single Performance Max campaign doing all the work. Spend was flat, ROAS was flat, and the team couldn’t tell whether PMax was actually driving incremental revenue or just intercepting branded search traffic that would have converted anyway.

To make it worse, Google Ads reported strong conversions while GA4 reported a different story. Nobody trusted the numbers.

What Was Broken

  1. PMax was eating the brand. No brand-keyword exclusions on the campaign, so it was claiming credit for “[brand name]” searches that would have converted through organic anyway.
  2. The product feed was thin. Missing GTINs on a chunk of the catalog, no custom labels, no margin or best-seller tagging. PMax had no signal to prioritize the products that actually mattered.
  3. Server-side tracking was misfiring. sGTM was running but the Shopify checkout-extensibility migration had broken the purchase event on the alternate checkout domain. Google Ads was counting roughly 68% of the conversions GA4 saw, with the rest landing in “direct / none.”

What I Did

Isolated brand. Pulled a dedicated branded Search campaign out from under PMax, added the brand term as a campaign-level exclusion on PMax, and watched non-brand performance separate from brand for the first time.

Rebuilt the feed. Filled in missing GTINs, added custom labels for margin tier (high / mid / low) and product velocity (top seller / mid / clearance). Created three PMax asset groups segmented by these labels with separate budgets and creative.

Repaired sGTM. Audited the Shopify GTM container, fixed the purchase event firing on the wrong domain, validated end-to-end via Tag Assistant and the Google Ads diagnostic tools. Conversion-counting gap went from 32% (Google Ads under-counting GA4) to within 4% in two weeks — well inside the 5 to 20% range attribution-logic alone explains.

Google Ads conversion events list showing properly tagged Shopify checkout actions
Conversion stack after the sGTM repair. Every Shopify event firing on the right campaign, on the right domain.

Layered in search themes. Added intent-based search themes to PMax asset groups so the AI had a steer toward the queries that actually mattered.

The Result

Within 90 days:

  • Blended ROAS lifted 1.9x
  • Non-brand revenue grew 147%, and I could finally measure it
  • Google Ads and GA4 conversion data agreed within 4%
  • The account had a clean structure the brand could scale into
Google Ads overview showing ROAS trending up over the 60-day rebuild window
ROAS trend across the rebuild window. The dip in week three is the brand-isolation move pulling reported PMax performance back to reality; non-brand performance climbed from there.

The Takeaway

PMax works. It works better when you stop asking it to do everything. Isolate brand, feed it real signal through your product feed, fix your tracking before you fix your bidding strategy. In that order.

The hardest part of this rebuild wasn’t the campaign structure. It was the two weeks I spent in sGTM untangling the Shopify checkout migration. That’s where most ecom accounts I see lose their attribution.

If your ROAS looks suspicious or your GA4 and Ads numbers don’t agree, start with a tracking audit.

Ready to talk

Want this kind of breakdown on your account?

Thirty minutes on the phone. One clear set of next steps. Same person on the call as on the work.

Book a Call