...
Google Ads Tutorials

Real Client Google Ads Audit Part 3: The 5 Issues I Found in a Live Ecommerce Account

Dan Kabakov, Google Ads Certified Partner Last Updated: May 27, 2026 12 min read
What This Audit Found

Five issues. All in the same account. None of them catastrophic on their own, but together they meant the account was spending real money while optimizing toward the wrong outcomes. Broken conversion tracking. Uncleared policy violations. PMAX stealing branded traffic. A Search campaign at $205 CPA while PMAX ran at $47. And no enhanced conversions in place. Here is exactly what I found and what I fixed first.

This is Part 3 of an ongoing series where I open a real client account on camera and audit it live. No scripted scenarios, no sanitized examples. Just what I actually find when I look at a real ecommerce Google Ads account that has been running for over a year.

If you missed the earlier parts, start with Part 1 here for context on how I structure an account audit from the top down. The checklist format from Part 2 also applies to everything I cover here.

In this video I found five issues in a Shopify ecommerce account. Some are common. Some are subtle. All of them were costing this client money in ways they could not see without digging into the right places.

01The Account at a Glance

Before getting into the issues, here is the setup. Ecommerce brand on Shopify. Google Ads account with three active campaigns: a non-brand Search campaign, a Performance Max campaign, and a brand Search campaign. Monthly spend sitting between $2,000 and $3,000. The account had been running for over a year, managed previously by a different agency.

Performance had been declining for four consecutive months. The client reported dropping revenue from Google Ads despite roughly stable spend. When I looked at the account at a high level, it appeared to be running. Campaigns enabled. Ads approved (mostly). Budget not capping. On the surface, nothing screamed broken.

That is exactly the scenario where an audit matters most. The damage happens quietly, in settings nobody checks after the initial setup.

The first thing I always do before looking at performance data is verify conversion tracking. There is no point analyzing campaign metrics if the conversion signal feeding Smart Bidding is corrupted. That check uncovered Issue 1 immediately.

Audit Rule

Always check conversion tracking before looking at campaign performance. A healthy-looking ROAS or CPA built on bad conversion data is worse than no data at all because it creates false confidence.

02Issue 1: Broken Conversion Tracking

The conversion setup was tracking Begin Checkout as the primary conversion action. Not purchases. Begin Checkout fires when a user reaches the checkout page. Purchase fires only when payment completes. These are not interchangeable signals.

When Smart Bidding optimizes toward Begin Checkout, it targets users who are likely to initiate a checkout. That sounds reasonable until you realize checkout initiation and purchase completion are very different behaviors. Someone who adds to cart and starts checkout but abandons is counted as a conversion. Someone who actually pays and buys is also counted as a conversion. From the algorithm's perspective they look identical.

The account was essentially paying Google to find more cart abandoners, not more buyers. The volume looked fine in the conversion column. The actual revenue from Google Ads was detached from what was being reported.

⚠ Shopify Specific

On Shopify stores that migrated to the extensible checkout format (URLs using /checkouts/cn/), traditional Google Tag Manager implementations often fail to catch purchase events. GTM fires on the old thank-you page URL pattern, which the new checkout bypasses entirely. If your account is running on a newer Shopify checkout and your purchase conversion volume looks unexpectedly low, this is the first place to check. I covered the exact fix with verified code in the Shopify conversion tracking breakdown.

The fix for this account was straightforward in concept: demote Begin Checkout to a secondary conversion action (not included in the conversion column), promote Purchase to primary, and wait. The difficult part is the waiting. Smart Bidding needs two to three weeks of clean purchase data before making reliable bidding decisions. During that window, resist the urge to cut budgets or restructure campaigns based on short-term fluctuations.

One important note: do not delete the old Begin Checkout conversion action. Demote it. Deleting conversion actions wipes the historical data, which affects Quality Score signals and audience building. Just remove it from the primary column and mark it as secondary.

Why This Happens

Most initial Google Ads setups use a tag template that fires on the checkout URL. That captures checkout initiation, which is fast and visible to verify. Purchase events require firing on a specific thank-you page or a successful transaction callback, which is more fragile to implement. Many agencies take the shortcut and never go back to fix it. The account runs, the conversion column fills up, and nobody questions whether the conversions represent actual revenue.

03Issue 2: Policy Violations Sitting Uncleared

Two ads were disapproved. Both had been in that state for more than six weeks. The client had received the notification emails. The previous agency had received them too. Nobody acted.

This is more common than it should be. When an account has multiple active ad variations, a disapproved ad simply stops serving while the other variants continue. The campaign does not pause. Budget keeps spending. Impression share takes a quiet hit that does not show up as a dramatic alert anywhere in the interface.

In this case, both disapprovals were in the Search campaign. One ad triggered Google's sensitive categories policy due to specific phrasing in the headline that Google flagged as potentially misleading, even though the actual product had nothing to do with the flagged category. This is a known issue with broad automated policy enforcement. The fix is to rephrase, not to appeal. Appeals take weeks and often fail even on legitimate cases.

The second disapproval was a capitalization violation. A headline used ALL CAPS formatting, which Google's policy prohibits. Fixed in under two minutes.

Both ads were back in rotation within 24 hours of resubmission. Small issue in isolation. But the six weeks of reduced impression share in an already-declining account compounded the overall performance drop the client was experiencing.

Monthly Audit Step

Add a policy status check to your monthly review. Filter ads by "Approval status: Disapproved" across all campaigns. Takes 30 seconds. Uncleared violations compound silently and are often invisible unless you specifically filter for them. A thorough Google Merchant Center audit should include the same check for product feed disapprovals.

04Issue 3: PMAX Stealing Branded Traffic

The Performance Max campaign was capturing branded queries. I confirmed this by pulling the search terms report from the brand Search campaign and cross-referencing with the asset group and product data coming through PMAX. The overlap was significant.

Here is why this matters. When PMAX and brand Search compete for the same branded queries, Google's routing logic often sends those impressions to PMAX. The result is that PMAX gets credit for converting users who searched the brand name directly. These are the easiest, cheapest, highest-intent users in the entire funnel. They were going to buy anyway. Attributing their conversions to PMAX makes the PMAX campaign look more efficient than it actually is.

Simultaneously, the brand Search campaign sees fewer impressions and fewer conversions. Its performance data starts to look worse. If you make budget or structure decisions based on this distorted picture, you end up starving the campaign that should be running cheaply while rewarding a campaign for work it did not actually do.

What Happens Without Brand Exclusions
  • PMAX captures branded queries, inflating its ROAS artificially
  • Brand Search sees lower volume and appears less efficient
  • Budget allocation decisions are based on distorted data
  • Actual new customer acquisition cost is understated in PMAX
After Adding Brand Exclusions
  • PMAX ROAS drops to reflect true non-brand performance
  • Brand Search volume recovers at significantly lower CPA
  • You can now read actual incremental acquisition from PMAX
  • Budget decisions are based on real performance signals

The fix: navigate to the PMAX campaign settings, open the brand exclusions section, and add your branded terms. This forces PMAX to compete exclusively on non-brand queries. After applying exclusions in this account, expect PMAX ROAS to decrease. That decrease is not a performance problem. It is data accuracy. You are now reading what PMAX is actually doing for acquisition rather than what it is taking credit for.

If you want to understand what PMAX is actually spending budget on across Search, Shopping, Display, and YouTube, the PMAX channel performance breakdown shows how to pull that data and what to do with it.

05Issue 4: Search at $205 CPA vs PMAX at $47

On the surface this looks like an easy decision: kill Search, scale PMAX. The $158 CPA gap is massive. But that conclusion would be wrong, and acting on it would have made this account worse.

The $47 PMAX CPA was partly driven by the branded traffic captured before we applied exclusions (Issue 3). Once brand exclusions were in place, PMAX's CPA moved up materially. Not to $205, but the gap narrowed considerably. The comparison had been distorted from the start.

The Search campaign had a structural problem separate from bidding. It was running all non-brand queries through a single ad group: one set of ads, one bid strategy, covering everything from high-commercial-intent product queries to broad informational queries that rarely convert. High-intent keywords were sharing budget and bidding headroom with informational queries that were attracting clicks but generating almost no purchases.

Query TypeIntent LevelCVR (typical)Sharing Ad Group?
"buy [product] online"High commercial3 to 6%Yes, mixed
"[product] review"Research0.5 to 1.5%Yes, mixed
"how to use [product]"Informational<0.3%Yes, mixed

When you mix these query types into a single ad group, the bidding algorithm averages performance across all of them. The CPA looks high because it includes all the low-converting informational clicks alongside the high-converting purchase intent clicks. The fix is segmentation: separate ad groups for commercial intent, research intent, and informational intent, each with appropriate bids and budget allocation.

After restructuring, the Search campaign CPA came down significantly. Not to PMAX levels, but to a range where it was contributing profitable new customer acquisition. Before this audit the client was one reporting period away from shutting down a campaign that just needed better structure.

Before cutting any campaign based on CPA alone, check ecommerce benchmarks by category and verify that the comparison point (in this case PMAX) is using clean, attribution-accurate data.

The Lesson Here

Never make campaign cut or scale decisions while conversion tracking is broken, brand exclusions are missing, or campaigns are structurally mixed. Fix the data foundation first. The same account that looked like a Search failure was actually a structure and attribution problem wearing a CPA costume.

Free Audit
Is your account hiding the same issues?

Most ecommerce Google Ads accounts I audit have at least two of these five problems. I review every submission personally and send a written breakdown of what I find, at no cost.

Request Free Audit

06Issue 5: Enhanced Conversions Not Configured

Enhanced conversions were not enabled. This is one of the most consistently under-implemented features in ecommerce Google Ads accounts, and it has a measurable impact on reported conversion volume.

Here is how it works. When a user converts on your site, standard conversion tracking fires a tag and reads a cookie to identify who that Google user is. Enhanced conversions add a second layer: at the moment of conversion, hashed first-party data (email address, phone number) is sent alongside the conversion event. Google uses this hashed data to match conversions back to Google accounts even when the cookie was blocked, expired, or unavailable due to cross-device behavior.

In practice this means accounts without enhanced conversions are systematically undercounting conversions in a post-cookie environment. The actual sales happen. Google just cannot attribute them. Your reported CPA looks worse than reality, which can trigger bidding adjustments that reduce spend on campaigns that are actually performing well.

1
Open Google Ads and navigate to Goals

Under Measurement, open Conversion actions. Select your purchase conversion action and look for the Enhanced conversions section in the settings.

2
Check if Shopify native tracking already has it enabled

If you use the Google and YouTube app on Shopify or the Google Sales Channel, enhanced conversions may already be partially configured. Check the app settings before setting up a parallel GTM implementation.

Avoid duplicate signals
3
Implement via Google Tag Manager if not already active

In GTM, update your Google Ads conversion tag. Under Enhanced conversions, toggle it on and map the email field from your data layer (typically passed at checkout completion). For Shopify, the customer email is available in the checkout.customer.email object.

4
Validate in the Diagnostics tab

After publishing the tag update, go to the Diagnostics tab under your conversion action. Within 48 hours you should see enhanced conversion matching status. A green status with a match rate above 40% confirms the setup is working.

Expect 2 to 3 days to validate

For this account, enabling enhanced conversions through GTM using the purchase event brought in roughly 12% additional attributed conversions within two weeks. The actual purchase volume had not changed. The reporting just became more accurate. That 12% shift was enough to move the Smart Bidding algorithm's baseline assumption and improve bid efficiency across both campaigns.

This is permanent infrastructure. Set it up once and it runs. There is no good reason to be without it on any account that has been live for more than a few weeks.

Also Check

If you use Google Analytics 4 imported conversions alongside native Google Ads conversion tracking, verify that enhanced conversions in GA4 (via Consent Mode v2) are also active. The two systems are separate. Enabling it in one does not enable it in the other.

07Fix Order and Why Sequence Matters

Five issues. The temptation is to fix them all at once. That is a mistake. Simultaneous changes make it impossible to diagnose what worked when performance shifts. Here is the order I used and the reasoning behind it.

1
Conversion tracking first

Every downstream decision depends on accurate conversion data. Fixing campaign structure while the tracking is broken means optimizing against the wrong signal. Fix tracking, validate for two to three weeks, then make bidding and budget decisions. Do not rush this step. The patience here is what makes everything else reliable.

2
Policy violations second

Not because they are the most impactful, but because they are the fastest to resolve and they affect impression share in ways that pollute performance data. Clear them before you start analyzing campaign health.

3
Brand exclusions on PMAX third

Until you apply these, PMAX's reported numbers include easy branded conversions that do not reflect genuine acquisition performance. You cannot compare PMAX to Search campaigns fairly while PMAX is being credited with branded traffic. Fix attribution before judging efficiency.

4
Campaign structure fourth

Only after conversion tracking is clean and attribution is accurate does it make sense to restructure. Restructuring based on distorted data locks in the wrong segments and bids. Wait for at least two to three weeks of clean data from steps 1 and 3 before reorganizing ad groups and changing bid strategies.

5
Enhanced conversions fifth

Set it up after the primary tracking is fixed. Enhanced conversions supplement accurate primary tracking. Layering them onto broken primary tracking adds complexity without solving the core problem. Once the foundation is solid, enhanced conversions improve the signal quality further and should stay enabled permanently.

5-Step Action Plan for Your Own Account
  • 1Filter ads by "Disapproved" status today and resolve any active policy violations before doing anything else
  • 2Open conversion actions and confirm Purchase (not Begin Checkout or Add to Cart) is set as the primary conversion action included in the conversion column
  • 3Check PMAX campaign settings for a brand exclusions list and add your branded terms if not already present
  • 4Pull the Search terms report from your brand Search campaign and verify that PMAX is not appearing for your branded queries
  • 5Check the Enhanced conversions setting in your purchase conversion action and implement via GTM if not already active
Free Google Ads Audit

Free Tool

Run the audit automatically instead

The Google Ads Audit Tool connects to your account via OAuth and runs 25 checks in under 3 minutes. Conversion tracking, smart bidding, ad assets, negative keywords, campaign structure -- all scored and flagged with plain-English recommendations.

Audit my account free
Get a real audit on your account

I personally review every submission and return a written breakdown of the top issues I find. No automated reports. No pitch deck. Just the actual problems and where to start.

Request Free Audit

Frequently Asked Questions

Begin Checkout fires when a user reaches the checkout page, not when they complete a purchase. For most ecommerce stores, checkout abandonment rates run between 60% and 80%. When Smart Bidding optimizes toward checkout initiation, it targets users who are likely to start the checkout flow, not users who are likely to complete it and pay. Your conversion column fills up with events that did not generate revenue. The algorithm gets rewarded for the wrong behavior and keeps doing more of it. Always use Purchase as the primary conversion action for ecommerce. Checkout initiation belongs in secondary conversions only, excluded from the conversion column.
Pull the search terms report from your brand Search campaign and look at impression volume over time. If brand Search impressions have been declining while your PMAX campaign has been running, that is a signal. You can also check the search insights report inside PMAX to see which search categories are generating conversions. If branded category terms appear there, PMAX is capturing them. The most direct fix is to add a brand exclusion list to your PMAX campaign settings, which tells Google to route branded queries to your dedicated brand Search campaign instead.
PMAX's reported ROAS and CPA will change after adding brand exclusions. This looks like a performance drop but is actually a data accuracy improvement. The branded conversions that PMAX was previously claiming will now be attributed to brand Search, where they belong. Brand Search typically shows a much lower CPA for branded queries, so total account efficiency often improves. The key metric to watch is total account revenue and ROAS, not individual campaign numbers in isolation.
Smart Bidding needs roughly two to three weeks of clean conversion data to recalibrate after a significant tracking change. During this period, performance may fluctuate as the algorithm adjusts its user targeting model. Do not make campaign cuts or bid strategy changes during this window. After three weeks, pull a 30-day look-back on the new clean data and use that as the baseline for future decisions. If you use a tROAS or tCPA bid strategy, consider temporarily switching to Maximize Conversions during the recalibration period to give the algorithm more flexibility.
Not at all. CPA is only meaningful in context. A $205 CPA on a product with $800 average order value and 40% margins is profitable. A $205 CPA on a $150 product is not. More importantly, a high CPA often reflects a structural problem (mixed query intent in one ad group, wrong bid strategy, broken attribution) rather than a fundamental performance problem. Before cutting any campaign based on CPA, verify that attribution is clean, segmentation is correct, and the comparison benchmark is using accurate data. In this audit, the $205 CPA dropped significantly after restructuring, with no budget change at all.
Enhanced conversions send hashed first-party data (email address) alongside your conversion events. Google uses this to match conversions back to Google accounts when cookie-based tracking is unavailable, for example when a user converts on mobile after clicking an ad on desktop, or when cookies were blocked or expired. Without enhanced conversions, those cross-device and cookieless conversions are simply not counted. They happened. You paid for the click. You just cannot see the result. On any account where mobile or repeat customers make up a meaningful portion of purchases, enhanced conversions recover a measurable share of attributed conversions and improve Smart Bidding accuracy.