Have you checked whether this is actually a traffic quality collapse, or something deeper like a hidden site/domain trust or rendering issue?
Honestly, if both Meta and Google traffic tanked simultaneously, and top‑funnel behaviour also fell off a cliff, I wouldn't jump straight to "bad creatives" - especially on an account with close to two million in historical spend. The biggest giveaway is what you said about nearly zero email pop‑up signups and weak add‑to‑cart behaviour. That usually means users either aren't real humans, are bouncing before any meaningful interaction, or something is breaking trust/usability the second they land. normal creative fatigue still yields a trickle of micro‑conversions. When pop‑up opt‑ins and ATCs vanish almost entirely, I'd personally audit the domain and site environment very aggressively before touching a single ad. Think slow rendering, broken scripts, Shopify app conflicts, server‑side event duplication, Cloudflare gremlins, browser console errors, cookie consent failures, redirect loops, checkout latency, or silent mobile rendering bugs. All of that can destroy conversion behaviour while traffic volume still looks "normal".
Worked with a smaller e‑commerce brand spending around four to five thousand a month where performance suddenly collapsed across both Meta and Google within about five days. CTR stayed near 2.8%, CPM crept up from about $18 to $22, but pop‑up signup rate dropped from 4.1% to 0.4%, ATC rate fell from roughly 7% to under 1%, and purchases nearly vanished. They were sure Meta was sending bots - the real culprit was a broken mobile rendering script plus a checkout delay that hit Safari traffic after a Shopify app update. once we cleaned up the scripts and fixed checkout latency, pop‑up signups recovered above 3.9%, ATC rate climbed back to around 6.4%, and CPA dropped from roughly $96 to about $34 within nine days - no creative or targeting changes.
When you personally test the site from different devices, browsers, VPN locations, and mobile networks, does the entire landing‑to‑checkout flow work perfectly every single time?