GA4 & Google Ads: What Changed in 2026
GA4 and Google Ads have changed a lot in the first half of 2026. Between the Google Ads API reaching v24.1, new GA4 lead lifecycle stages, and the ongoing cookie deprecation saga, there is a lot to keep up with. Here's what matters for agencies and small businesses.
Google Ads API v24.1 | What Is New
The May 2026 release of the Google Ads API (v24.1) introduced several features that affect how tracking and conversion measurement work:
- GA4 Lead Lifecycle Stages: New conversion types |
GOOGLE_ANALYTICS_4_GENERATE_LEAD,GOOGLE_ANALYTICS_4_QUALIFY_LEAD, andGOOGLE_ANALYTICS_4_CLOSE_CONVERT_LEAD. This means you can now track leads through their full lifecycle inside Google Ads, from initial form fill to closed deal | all sourced from GA4 data. - Experiment Metrics: A/B test results now include p-values, point estimates, and margin of error across 7 core metric families. For agencies running Google Ads experiments, this is much more rigorous reporting.
- Asset Generation Service: Generative AI for ad text and images is now available via the API. Performance Max campaigns can auto-generate design variations and video.
What Cookie Deprecation Actually Means in 2026
Third-party cookies are not fully gone, but their effectiveness is severely diminished. Chrome's Tracking Protection now limits cross-site tracking by default for a growing percentage of users. What this means for your GA4 data:
- Consent Mode v2 is no longer optional | it is the only way Google can model conversions for users who decline cookies.
- Server-Side GTM becomes the primary way to set first-party cookies that survive browser restrictions.
- Enhanced Conversions (user-provided data matching) fills the gap where cookies fail.
What Agencies Should Do Right Now
If you manage tracking for clients, your 2026 priority list should be: (1) verify Consent Mode v2 is correctly implemented with all four signals, (2) move key conversion tracking to Server-Side GTM, and (3) configure enhanced conversions in Google Ads to fill the cookie gap.
Enhanced Conversions: Setup That Actually Works
Enhanced conversions sit between cookie-based tracking and server-side measurement. The idea is straightforward: when a user converts on your site (form submission, purchase, booking), you capture a piece of first-party data they provided voluntarily , typically an email address, phone number, or full name and address , and send it along with the conversion event. Google then hashes that data and matches it against signed-in Google accounts to attribute the conversion, even when cookies were blocked or expired.
The setup is not difficult, but agencies consistently trip over two things. First, the data you pass must be the same data the user entered on your site. If you pass a hashed email from your CRM but the user signed up with a different address on the form, the match fails silently. Second, enhanced conversions require ad_user_data to be granted in Consent Mode v2 , if your consent banner has that signal still set to 'denied', Google will not process the data and your enhanced conversions simply will not fire.
There are two implementation paths: Google Tag (gtag) or Google Tag Manager. For agencies managing multiple clients, GTM is the better route because you can deploy once and reuse. The process: in your Google Ads account, navigate to Goals > Conversions > Settings and enable enhanced conversions. Choose "Google Tag Manager" as the method. Then in GTM, edit your conversion linker tag and check "Enable enhanced conversions." You will need to create a user-provided data variable that maps your form fields to Google's expected format: email, phone number, name and address (street, city, region, postal code, country).
Here is what the data variable structure looks like in practice. If your form captures an email field with the ID #form-email, your GTM variable extracts that value and passes it through. Google handles the SHA-256 hashing on its end , you do not hash anything yourself. The most common failure point we see in audits: the variable fires on the page view event rather than the conversion event itself. If your enhanced conversions variable fires on DOM Ready or Page View, it runs before the user has submitted anything. Tie it to your conversion trigger , form submission, purchase confirmation page view, or custom event , not to general page loads.
A practical tip for testing: use Google Tag Assistant's "Enhanced Conversions" tab under the debug view. It shows you exactly what data is being captured and whether Google successfully matched it. If you see "No match" consistently, check that your form field selectors are still correct (clients love to rename form IDs mid-campaign without telling you) and verify that ad_user_data consent is actually being granted.
Consent Mode v2: The Direct Impact on Google Ads Performance
Consent Mode v2 is not just a compliance checkbox , it directly determines how much of your Google Ads conversion data survives. When a user lands on your site and declines marketing cookies, Consent Mode v2 tells Google: "do not set advertising cookies, but do send a cookieless ping." Google then uses that ping, combined with its behavioural modelling, to fill in the gaps. The modelled conversions appear in your Google Ads reports, and crucially, they are used for Smart Bidding optimisation.
What most agencies do not realise is that the modelling quality depends entirely on your baseline data volume. If your site gets fewer than 700 ad clicks per day per domain over a 7-day period, Google's modelling may not run at all , the data is simply too sparse. For small B2B clients driving 50 clicks a day, this means every consent rejection is a genuinely lost conversion in the system. There is no workaround within Google's framework for this threshold, which is why pairing Consent Mode v2 with Server-Side GTM and enhanced conversions is so important for lower-traffic clients. Server-side tracking captures data outside the browser's cookie restrictions, and enhanced conversions match it back to Google accounts, both of which operate independently of the modelling threshold.
Another under-discussed dynamic: ads_data_redaction and url_passthrough. These two settings, which accompany the consent defaults, determine whether Google strips ad click identifiers from URLs (ads_data_redaction: true) and whether it passes through the GCLID when ad cookies are denied (url_passthrough: true). If you set url_passthrough to false , and many older setups still do , denied users lose their ad click identifiers entirely, and Google cannot model those conversions at all. Check both settings in your consent defaults: they should both be true.
We have also seen a measurable difference in Smart Bidding performance when Consent Mode v2 is correctly implemented versus partially deployed. One client running a Performance Max campaign saw their cost per conversion drop by 18% within three weeks of fixing the ad_user_data signal , it had been stuck at 'denied' while the other three signals were correctly toggling. Because Smart Bidding uses the conversion data to adjust bids, partial consent signals create a distorted view of campaign performance. Audit all four signals on every client domain at least once per quarter. Conditions change: CMPs update, cookie banners get redesigned, and consent wiring breaks more often than anyone expects.
Practical Migration Steps: From Legacy to Modern Tracking
If your agency is still running Universal Analytics-style tracking with client-side GTM and basic Google Ads conversion tags, here is the migration sequence that works , drawn from about 20 client migrations we have done across e-commerce, SaaS, and B2B services.
Step 1: Audit what you have. Before touching anything, document every tag, trigger, and variable in your client's current GTM container. Pay special attention to custom HTML tags that fire conversion pixels , these are often undocumented and added years ago by someone who left the company. Export the container JSON and search for anything hitting third-party domains. You will almost certainly find tags you did not know existed.
Step 2: Implement Consent Mode v2 first. Start here. Before moving anything server-side, get the consent layer working correctly. Place the default consent script above the GTM container snippet. Configure all four signals. Test with Tag Assistant until you see clean denied-to-granted transitions for every signal. Do not skip this step and jump straight to server-side , without correct consent, your server-side container will be processing data it should not be touching.
Step 3: Set up enhanced conversions in Google Ads. This is quick , often under 30 minutes once you have mapped your form fields , and it starts filling the cookie gap immediately while you work on the longer server-side migration.
Step 4: Deploy a server-side GTM container. Create a Google Cloud project, provision a Cloud Run service, point a subdomain at it, and set up the GTM server container. Start with a single client to build the template, then replicate. The DNS step trips people up: you need a CNAME record pointing your subdomain (e.g. ssgtm.client.com) to gtag-ssl.google.com or your Cloud Run custom domain mapping. If you skip DNS custom domain mapping, your server-side cookies are still third-party in the browser's eyes, and you lose the first-party cookie advantage entirely.
Step 5: Migrate tags one channel at a time. Start with GA4 , it is the lowest risk, and you can compare client-side versus server-side data in real time. Once GA4 is stable, move Google Ads conversion tracking. Then Facebook CAPI, LinkedIn Insight Tag, and any other endpoints. Migrating everything at once makes debugging a nightmare; one channel per week is a sustainable pace.
Step 6: Validate and monitor. After migration, run both client-side and server-side tracking in parallel for at least two weeks. Compare the data. You should see server-side reporting 10-25% more conversions than client-side alone , that is the adblocker and cookie-blocker gap closing. If you see less, something is misconfigured. Set up a monthly health check: verify consent signals, check enhanced conversions match rates in Google Ads, and confirm your server-side container is not throwing errors. GTM's server-side container has a built-in error reporting dashboard , use it.
Need help auditing your setup? Book a tracking health check with North Digital.