US Performance Diagnosis — Google Ads & Meta

April 1 – July 13, 2026 · Target CPA: $58

Overview
Channel performance
GA4: sessions & engagement
Checkout funnel by device
Path to purchase

Executive summary

The core issue: this is a checkout/conversion problem wearing a paid-media costume, and it's mobile-weighted. Clarity session-recording data confirms real, reproducible technical faults in the booking flow — 1,520 sessions hit a dead click during checkout over the full period (Apr 1–Jul 13), 53% of them on Mobile, carrying the most serious bugs (payment-session handling, JSON parsing, a Safari/iOS-specific WebKit fault); PC's 671 sessions are mostly generic script errors. A separate site-wide Clarity pull shows the same faults at much larger scale (51,039 sessions with a dead click site-wide), including errors specific to in-app/WebView browsers — the path most Meta ad clicks take. See the Checkout funnel tab for the full breakdown.

Why this shows up as a CPA problem: every US campaign runs Maximize Conversions bidding. When the checkout flow silently breaks for a meaningful slice of traffic, purchases dry up, which weakens the conversion signal the bidding algorithm relies on — so it bids less efficiently, pulls in less qualified traffic to compensate, and CPA rises further. That's a self-reinforcing loop: broken checkout → fewer purchases → weaker signal → worse bidding → less qualified traffic → still fewer purchases. This is consistent with what the Path to purchase tab shows: volume down across the board (sessions -32%, purchases -24% PoP) while on-site quality metrics (bounce rate, PDP rate) actually improved — the funnel isn't attracting worse traffic, it's losing real, qualified traffic at the payment step.

Timeline: CPA broke on June 1 (external targeting bug + a deliberate tCPA change), but performance genuinely worsened from June 30 onward — the same window Clarity's checkout error data covers. That's not a coincidence: the sale ending, new creative entering its learning phase, and the checkout faults compounding all landed in the same two-week stretch. Year-on-year, sessions are flat (+4.7%) but purchases are down 7.7% and conversion rate down 11.8% — confirming this isn't seasonal, it's a real degradation in the ability to convert traffic that didn't exist in the same window last year.

On the tracking gaps flagged elsewhere in this dashboard (Meta's GA4 channel-grouping mismatch, the checkout-step tracking gap): these are known, pre-existing measurement quirks, not new discoveries requiring urgent action — deprioritised below in favour of the checkout fix.

Action plan for recovery

This has been building for a while and leadership is watching closely — sequencing matters here.

Immediate (this week)

Short-term (2–4 weeks)

Medium-term (4–8 weeks)

Blended US CPA vs target

Daily CPA against the $58 target, with major account changes and seasonal activity overlaid. Hover for exact values.

Actual CPA Target ($58) Change / seasonal event

Key events

CPA by channel: Google Ads vs Meta

Hover to see exact CPA for either channel on any day

Google Ads CPA Meta Ads CPA

Why CPA spiked — by channel and period

PeriodGoogle CPAMeta CPALikely driver

CPS by channel: Google Ads vs Meta

Cost per session, using real session counts filtered to amazingco.me/us pages by source/medium (google/cpc vs meta/facebook-pd) — corrected from the previous GA4 channel-grouping approach, which was undercounting Meta sessions by roughly 700×.

Google Ads CPS Meta Ads CPS

Core insight

Both channels are converting cheap, real traffic worse than they should — and the checkout technical faults (see Checkout funnel tab) are the more likely explanation than creative quality alone. With real session data, Meta is actually cheaper per session than Google (roughly $0.61 vs $0.96 CPS), and both channels are bringing in comparable session volumes. A higher Meta CPA than Google's isn't because Meta traffic is expensive or unqualified — it's that a meaningful share of sessions on both channels are hitting a broken checkout step downstream, which no amount of channel-level optimisation fixes. Every campaign here runs Maximize Conversions bidding, so as purchases dry up from checkout friction, the bidding signal weakens and both channels drift toward less efficient delivery — a feedback loop, not two independent channel problems.
The GA4 channel-grouping mismatch that under-counted Meta sessions in an earlier version of this dashboard is a known, pre-existing measurement quirk (Meta's UTM tagging isn't recognised by GA4's default rules) — not a new finding, and not the priority here. It's worth a low-effort fix at some point but shouldn't compete with the checkout issue for attention.

Recommendations

GA4 sessions (US)

Bounce rate & engagement rate

Insights & recommendations

The May 28–30 session spike is fully explained: it's the Advantage+ targeting setting issue across US/CA/UK, identified May 28 and fixed June 1. Sessions jumped from ~2-3k/day to 8-10k/day while bounce rate spiked to 80%+ and engagement rate collapsed to ~16-27% — classic signature of junk/misdirected traffic, not real demand. Already resolved; a known, closed issue and not a current priority.
Bounce rate trended down and engagement up through June (bounce ~55% in April/May down to ~40-45% by late June), even as CPA was rising — meaning the traffic quality on-site was fine through most of this window; the real break comes later, from June 30, and lines up with the checkout technical faults documented on the Checkout funnel tab rather than a traffic-quality problem.

Recommendations

Weekly view (Mon–Sun). The first week (30 Mar–5 Apr) and last week (13 Jul–19 Jul) are partial — only a few days of data — so treat their totals as directional only.

Clarity findings: what's actually breaking in checkout

Microsoft Clarity session recordings, checkout pages specifically, Apr 1 – Jul 13, 2026 (full period)

Sessions with a dead click in checkout
1,520

Top JavaScript errors in checkout

ErrorOccurrences
"Page already has an active payment session" (17 occurrences) is the clearest, most fixable checkout-specific bug here — a real fault in payment-session handling, not vague friction. The two "is not a function" errors ("z is not a function" on coupon logic, plus a second "I is not a function") look like the same class of bug recurring under different minified variable names, suggesting a broader pattern of broken function references in the checkout bundle rather than one isolated incident. The WebKit messageHandlers errors (3 + 2 = 5) confirm Safari/iOS in-app browsers hit a distinct fault on top of the general checkout bugs. The "Unexpected token" syntax error (12) is unusual — that's the kind of error that can block an entire script from parsing, potentially explaining a chunk of the 1,520 dead-click sessions on its own.

Dead click sessions by device (checkout pages)

DeviceDead click sessions

Top JavaScript errors by device (checkout pages)

DeviceErrorCount
This is a mobile-weighted problem. Mobile carries the most dead-click sessions in checkout (813, ~53% of the 1,520 total), ahead of PC (671, ~44%) and well ahead of Tablet (36, ~2%). The error breakdown makes it sharper still: the payment-session bug (17), the JSON parse error (23), and the WebKit messageHandlers fault (3) are all logged on Mobile specifically in this device-level pull — PC's errors are limited to generic script errors (48) and a largely benign ResizeObserver warning (7). That reframes the priority: mobile checkout carries both more sessions and the more serious, more fixable bugs, while PC's issues look comparatively minor and generic.

Site-wide Clarity findings (Apr 1 – Jul 13) — this isn't limited to checkout

A broader Clarity pull across the whole site, not just checkout, confirms the same fault is much bigger and much older than the checkout-only view above suggests.

Sessions with a quickback click
17,849
Sessions with a dead click
51,039

Top JavaScript errors site-wide

ErrorCount
The JSON Parse error is the real headline — 10,553 occurrences site-wide vs 23 on checkout pages specifically. It's overwhelmingly a site-wide problem that also reaches checkout, rather than something rooted in the checkout flow itself. "Script error." shows the same pattern (1,480 site-wide vs 153 on checkout) — both errors are pervasive across the site and simply show up wherever a user happens to be, including checkout.
Several of the next-biggest site-wide errors are specific to in-app / WebView browsers, not standard Chrome or Safari — "Can't find variable: _AutofillCallbackHandler" (607), "Error invoking postMessage: Java object is gone" (41, Android WebView), and two more WebKit messageHandlers errors (471 + 19, iOS WebView). This is the pattern you get when a user taps a link inside the Facebook or Instagram app and it opens in that app's built-in browser instead of full Safari or Chrome — exactly the path most Meta ad clicks take. This gives the Meta bounce-rate gap (55–56% vs Google's 17%, Channel performance tab) a much more concrete explanation than creative or audience quality: a meaningful share of Meta's traffic may be landing in a broken WebView environment before it ever gets a fair chance to convert.

Quickback click spikes

DateSessions
Spike dates (Apr 23–24, May 3, May 10, Jun 3–4, Jun 15–16, Jul 4) don't cluster around any single campaign change, sale, or creative launch in the change log — another signal this is a standing technical issue that flares up periodically rather than something triggered by a specific paid-media decision.

Sessions by device (weekly)

Purchases by device (weekly)

Purchase conversion rate by device (weekly)

Begin checkout — weekly volume & % change

Using the "CheckoutStepCompleted" event as the begin-checkout equivalent (this site doesn't fire a standard-named begin_checkout event). Bars = weekly count, line = week-on-week % change.

Checkout abandonment rate (weekly)

1 − (purchases ÷ begin checkout), by week

Consolidated insights & recommendations

One root cause, multiple data sources pointing at it. Checkout abandonment sits flat at a very high 83–85% every week regardless of the sale, the Advantage+ issue, or any bidding change. Clarity explains why at two scales: 1,520 sessions with a dead click on checkout pages specifically (Apr 1–Jul 13), driven by payment-session bugs, a recurring class of broken function references, and a Safari/iOS WebKit fault; and a much bigger, chronic JSON parsing error running at scale across the entire site (10,553 occurrences site-wide vs 23 on checkout pages) that reaches checkout without being rooted there. Both show up as the same symptom — dead clicks, quickback navigation, and abandoned carts — with WebView-specific errors adding a distinct, additional fault disproportionately affecting in-app browser traffic (likely Meta's).
Mobile carries both more checkout dead clicks and the more serious bugs. Of the 1,520 sessions with a dead click in checkout, 813 (53%) are on Mobile, 671 (44%) on PC, and only 36 (2%) on Tablet. The device-level error breakdown sharpens this further: the payment-session conflict, the JSON parse error, and the WebKit messageHandlers fault are all logged specifically on Mobile, while PC's errors are limited to generic script errors and a largely benign ResizeObserver warning. This lines up with, and now explains in more detail, the Jul 9–12 mobile Safari zero-purchase streak flagged on the Overview tab — it wasn't an isolated event, it's the visible tip of an ongoing, mobile-weighted checkout fault.
Desktop converts better than mobile in the weekly charts — and the device data now explains why. Mobile carries 813 of the 1,520 checkout dead-click sessions (53%) plus the most serious bugs (payment session, JSON parse, WebKit messageHandlers), while PC's 671 sessions are tied mostly to generic script errors and a largely benign warning. Desktop isn't unaffected, but it's genuinely less broken than mobile right now, not just perceived that way.
Mobile conversion rate dipped visibly from late June into July, the same window the checkout-specific Clarity error data covers — and the WebKit-specific error (Jul 9–12 mobile Safari zero-purchase streak, see Overview) is very likely the same underlying fault showing up in a third data source.

Recommendations

Path to purchase: period comparison

Jun 1 – Jul 13, 2026 (current) vs Apr 19 – May 31, 2026 (previous, same 43-day length) vs Jun 1 – Jul 13, 2025 (year-on-year). US only. Channel bounce-rate rows shaded grey.

PoP % chg = (Current − Previous) ÷ Previous. YoY % chg = (Current − same period last year) ÷ last year. Colour reflects whether that direction is actually good or bad for each metric — not just the sign.

Metric PoP comparison YoY comparison
Jun–Jul 2026 (curr) Apr–May 2026 (prev) % chg Jun–Jul 2025 (YoY) % chg

Insights & recommendations

Top-of-funnel got more efficient; bottom-of-funnel got worse — and that split is the whole story. Impressions (-29%), clicks (-46%), and sessions (-32%) all declined, but purchase conversion rate (sessions → purchase) actually improved (2.01% → 2.24%) and sessions-to-PDP rate improved (57% → 65%) — the pruning work in the change log (pausing underperforming keywords, adding negatives, narrowing targeting) is doing exactly what it should, bringing in fewer but better-qualified visitors. But cart abandonment rose over the same window (41.7% → 44.3%) — so of the people who make it to cart, more are failing to complete the purchase now than before. That's the checkout technical fault (see Checkout funnel tab) showing up numerically: the funnel is doing a better job attracting the right people and a worse job letting them finish buying.
This also explains the CPA mechanism, not just the symptom. Every campaign runs Maximize Conversions bidding. Fewer completed purchases (down 24% PoP) means a weaker, noisier signal for the algorithm to bid against — which pushes it toward less efficient delivery and can pull in less qualified traffic to compensate, further suppressing purchases. The volume drop isn't purely a deliberate pruning outcome; some of it is this feedback loop responding to checkout friction that started around June 30.
Google and Meta bounce rates are essentially unchanged period-over-period (Google ~17.4% both periods, Meta ~55.6-56.1% both periods) — the Meta creative/audience quality gap is a persistent, separate characteristic of that channel, not something that shifted recently, and not the current priority given the checkout finding.
This isn't a seasonal issue — sessions are flat-to-up year-on-year (+4.7%), but purchases are down 7.7%, purchase conversion rate is down 11.8%, and cart abandonment is up (39.6% → 44.3% YoY). If this were seasonal, traffic and conversion rate would move together. Instead, a similar volume of traffic is converting meaningfully worse than it did last year, with abandonment climbing steadily both YoY and PoP — pointing to a checkout/conversion problem that has been building for longer than this quarter's specific events (Advantage+ bug, sale timing, creative refresh), consistent with the CEO-level concern about sustained growth decline.

Recommendations