You gave an AI permission to move your ad budget.
By default it optimizes on the numbers the platform reports, not on your P&L. It reweights them so the channels agree with each other. That is not the same as checking them against the cash that actually landed.
Budget then moves at machine speed toward the cleanest reported number, which is often the least reliable one.
Before you widen the mandate: what is it reconciling against?
In the EU, Google models the conversions you lose to consent refusal and drops them in the same Conversions column as the real ones.
Then it feeds that column into Smart Bidding.
No native filter separates modeled from observed. So the optimizer can scale an EU segment on conversions it estimated, and you can't see the split.
Ask what's real before you scale.
#PPC
Google AI Max reports a keyword as your top converter.
But AI Max treats every keyword as broad match internally, so conversions from AI-expanded and keywordless matches get credited back to your existing exact keywords.
You scale the row. You may be paying more for traffic you already had.
Still no native way in Google Ads to split earned from redistributed credit. Ask what actually triggered the ad before you move budget.
#PPC
Google changed its ad data controls on Monday. Most media buyers didn't notice.
As of June 15, Consent Mode inside Google Ads is the single control for ad data from the Analytics tag. Signals no longer governs it.
Whether it hits you depends on your setup. Advanced CM: pings still fire under denial, you're fine. No CM, leaning on Signals: you might see a shift, but not automatically to zero.
If conversions look off this week, ask first: is it fewer sales, or less that Google can now observe?
Cut budget on an observation drop and you pause a channel that's still selling.
Meta ROAS slips, Google holds, so you move budget to Google.
But under consent denial the two numbers aren't built the same way. Google sends cookieless pings on Advanced Consent Mode. Meta leans on your CAPI and EMQ.
One channel can look weaker because it's observed worse, not because it sells less.
Move spend on that gap and the dashboard improves while the backend doesn't move. You optimized the measurement, not the business.
Before reallocating: same attribution rule and window on both. Does the gap hold, or narrow?
Your cost per conversion dropped and you're about to scale.
Check what event you're optimising on first. The platform chases the signal you give it. Point it at Add to Cart and it finds people who add to cart, cheap. Not people who buy.
On Google this is documented: primary conversion drives the bid, secondary is just observed. Set the proxy as primary and the algorithm maximises the proxy. CPA falls, revenue doesn't move.
The algorithm isn't broken. It learned exactly what you taught it.
Your ad platforms see the sale. They almost never see the return.
So they keep the full conversion value, the channel looks profitable, and it pulls more budget. If that channel's customers return more than the others, your dashboard is rewarding the channel destroying the most margin.
And the kicker: Google lets you correct it (retract/restate, if you sent the transaction_id, inside ~54 days). Meta's standard CAPI is append-only, no native way to walk back a Purchase.
So you clean one side, not the other. The two dashboards diverge more than before.
Reported ROAS isn't retained revenue. Reconcile returns by channel before you scale.
Server-side tracking doesn't fix your signal. It transports it.
Turn on CAPI: the dashboard gets cleaner, ROAS looks tighter. Then the CRM revenue line doesn't move.
You didn't recover signal. You made a dirty one more stable, and harder to see broken.
More conversions after CAPI isn't better attribution. The backend tells you which one it is. Not Events Manager.
Before you scale on the cleaner number: did the data improve, or did the breakage just get harder to see?
Your highest-ROAS channel might be the riskiest place to add budget.
A dashboard doesn't show you where you make money. It shows you where the signal arrives cleanest. If the signal's dirty before it lands, the "winner" is just the channel that counts better, attributes wider, or double-counts more.
Scale it and you put budget where the data is most broken.
The dashboard doesn't lie. It reflects the signal it receives.
"My ROAS looks too good to be true since I added CAPI."
I hear this every week on Shopify stores.
Three CAPI sources, three independent event_id logics, same purchase counted 2-3 times. Meta can't dedup what doesn't match.
Two-minute check: Events Manager → Diagnostics → Purchase → event_id coverage. If it's 0%, you're not deduplicating.
One pixel. One CAPI. One shared event_id. That's it.
#TrackingFix
Your consent banner blocks the pixel. Meta's one-click CAPI? No documented consent gate. It runs on Meta's infrastructure.
No confirmed mechanism to read your CMP state or Shopify's Customer Privacy API. The pixel stops. The server-side events may not. One question for your team: show me the consent path server-side after a user clicks Reject All.
If nobody can answer that, you have a problem you haven't verified yet. #ConsentMode
Meta changed what a "click-through conversion" means in March. Only link clicks count now. Saves, shares, likes moved to a 1-day engage-through window. Conversions from non-link interactions on days 2-7 disappeared from both buckets.
ROAS looks halved. But check your backend revenue and link clicks. If they're stable, it's a reporting change, not a performance drop.
Brands already cut budgets on this number. The metric changed. The ads didn't.
#MetaAds
Between January and June 2026, four things changed the signal feeding ad platforms at the same time. Meta redefined what a click means.
AI Pixel Enrichment auto-activated. Google moved the ad data gate from Signals to ad_storage. TCF 2.3 started silently routing EEA traffic to limited ads.
The AI automation everyone celebrates is optimising on this new, shifted mix. One practitioner found a client's conversions had collapsed 90%, the team blamed seasonality for weeks.
The dashboard didn't break. It just stopped meaning what it meant before.
#ConsentMode
Meta made CAPI a one-click setup. It's designed for advertisers without server-side tracking.
The risk: someone on your team enables it without knowing you already have one. Two systems report the same lead. CPA drops on paper. Pipeline doesn't convert.
Same update: AI Pixel enrichment gets a 30-day review window before default activation.
Three questions for your tracking team before the next budget review.
#CAPI
The open web disadvantage in Europe is also operational, not just structural. Retail media closes the loop inside a first-party environment. Open web has to coordinate identity, consent, publisher signals, DSP logic and conversion feedback across multiple parties. Even EUID improves the identity layer, but it doesn’t remove the consent bottleneck. That’s the hard part.
When I’ve seen this, the issue usually wasn’t spend or creative. It was the conversion signal feeding the algorithm: weak EMQ, Pixel/CAPI dedup issues, consent gaps blocking events before they reach Meta. The algo optimizes on what it sees. If what it sees is incomplete, cutting budget just hides the real problem.
Server-side tracking can fix signal loss. It can also quietly corrupt your data.
Three failure modes vendors don't mention:
Dedup failure — same purchase counted twice, teams keep scaling campaigns that only look profitable
Event inflation — one purchase can fire 4-8 events, bidding optimizes on noise
Signal loss — fix consent gating and conversions can drop sharply overnight. The data was never yours.
Three checks: compare Meta vs CRM, verify event_id matching, deny consent and watch what fires.
#AdTech
Most "my ads stopped working" problems are signal problems, not creative problems. Broken pixels, CRM gaps, consent misconfiguration.
The algorithm optimizes confidently on data you can't legally rely on. Before touching creatives, check your consent flow. #AdTech
"Server-side tracking bypasses GDPR because data never touches the browser."
Wrong. If the data originates from the user's device, consent still applies. Server-side doesn't change that.
It's also in your contracts. Meta requires the same consent for CAPI as Pixel. Google requires Consent Mode v2. Send without it and you're in breach.
With client-side, exposure was shared. With server-side, data hits your infrastructure first. If something's wrong, it's on you.
On a GDPR-compliant banner, 40-60% of users deny consent. If your sGTM still fires for them, you have a problem.
#GDPR