If Google Ads conversions drop after a consent banner change, test the banner and tag sequence, then compare accepted leads and qualified outcomes in your CRM. The change can affect what the tag sends, what Google attributes, and what bidding sees. Start with the exact release time and affected action before adjusting targets.
Run four clean-session tests before changing bids
In Tag Assistant, connect to the affected page and inspect the first consent event, then the update from your consent management platform. Record ad_storage, analytics_storage, ad_user_data and ad_personalization separately. Repeat for the relevant region, page template and form route.
- Before any choice: verify that the intended default is in place before dependent tags run. For Google Tag Manager, use a consent template with the Consent Initialization trigger. For direct Google tag implementations, place the default command before measurement commands that rely on it.
- Decline: submit one test enquiry that reaches the server. In basic mode the covered Google tags remain blocked until consent. In advanced mode, a loaded Google tag can send limited signals without cookies for denied storage. Verify the actual requests against the intended implementation.
- Accept: use a separate clean session. Check the update occurs on the same page before navigation, then confirm the intended conversion fires once after the accepted test enquiry.
- Revoke: reopen preferences, change the choice and navigate. Verify that the updated state persists and that both browser and server delivery follow the intended rules.
If the business event never reaches the CRM, trace server acceptance first. If the event reaches the CRM but a tag fires twice, isolate the browser and server senders. A server container still needs the correct consent state for the configured path.
Google’s basic and advanced consent behavior, Tag Assistant debugging and server-side Tag Manager consent setup.
Compare the same business event and date basis
Export the same Google Ads conversion action and campaign scope before and after the change. Record the timezone, date range and report cutoff. Use the appropriate by conversion time column when comparing with the CRM’s event date. Allow recent outcomes time to arrive, and check for changes in campaign mix, selected goals, the form or the qualification process.
Count unique server-accepted and qualified business records separately. Track the cases with verified ad-source evidence and keep unknown sources separate. The landing-page CRM total can include other sources, and the Ads column assigns credit under its own rules. If you already found a real fall in qualified volume, investigate that alongside the measurement change.
Google Ads conversion columns and date basis.
Read consent modeling impact for its domain and country
Eligible Google Ads reports can include modeled conversions in the Conversions column. Google uses modeling to estimate missing attribution. Review the action’s Diagnostics tab for consent mode impact where available. The uplift is modeled credit divided by observed credit for an eligible domain and country. Google documents a four-week display window from the modeling start date and eligibility thresholds for showing the result.
A missing impact value leaves the modeled amount unknown. Keep the diagnostic scope and dates next to the Ads export. An uplift percentage for one eligible slice cannot be applied to the whole account or attached to a particular CRM lead.
How Google Ads models conversion attribution and consent mode impact calculations and availability.
Run an example with independent totals
Download the SQLite example. In this synthetic landing-page cohort, Ads conversions fall by 28% while accepted and qualified CRM counts move by two and one. That difference gives you a reason to check reporting and tag behavior. It cannot quantify the banner’s effect on real demand.
sqlite3 -header -column :memory: < consent-mode-report-comparison.sqlInspect the comparison SQL
-- Synthetic reporting and CRM aggregates for one landing-page cohort.
-- Run with: sqlite3 -header -column :memory: < consent-mode-report-comparison.sql
-- These figures are supplied independently. No CRM row is joined to ad credit.
WITH comparison(period, sort_order, accepted, qualified, ads_conversions) AS (
VALUES ('Before banner change', 1, 100, 64, 100.0),
('After banner change', 2, 98, 63, 72.0)
),
baseline AS (
SELECT accepted, qualified, ads_conversions
FROM comparison
WHERE sort_order = 1
)
SELECT comparison.period,
comparison.accepted, comparison.qualified, comparison.ads_conversions,
ROUND(100.0 * (comparison.ads_conversions - baseline.ads_conversions)
/ NULLIF(baseline.ads_conversions, 0), 2) AS ads_change_pct
FROM comparison CROSS JOIN baseline
ORDER BY comparison.sort_order;
-- Separately supplied counts for a synthetic eligible domain-country slice.
-- This is an arithmetic example, not a model or a way to extract hidden counts.
WITH eligible_slice(observed, modeled) AS (VALUES (60.0, 12.0))
SELECT observed, modeled, observed + modeled AS combined,
ROUND(100.0 * modeled / NULLIF(observed, 0), 2) AS uplift_pct,
ROUND(100.0 * modeled / NULLIF(observed + modeled, 0), 2) AS share_of_combined_pct
FROM eligible_slice;| Period | Accepted CRM leads | Qualified CRM leads | Ads conversions | Ads change |
|---|---|---|---|---|
| Before banner change | 100 | 64 | 100 | Baseline |
| After banner change | 98 | 63 | 72 | −28% |
The second query uses a separate synthetic slice with 60 observed and 12 modeled conversions. The uplift is 20% of observed credit. Modeled credit is 16.67% of the combined 72. The two percentages answer different questions, even when the underlying counts are the same.
Verify which conversion action your campaign uses
Paste action settings from the read-only Google Ads script into the local conversion-action audit. Check campaign goal membership in the account. If it includes both a raw form action and a later qualified-lead action, review the actual goal before interpreting a change in the combined total.
Runs in this browser. Your action names and settings stay here.
Check campaign goals to confirm bidding eligibility. Custom goals can include secondary actions. Match transaction or lead IDs to verify repeated events.
Download the consent change worksheet to keep the browser observations, server events, Ads report and modeling panel together. Use the reconciliation guide for a broader platform mismatch and the form acceptance diagnostic for rejected or fake submissions.
Preview the consent change worksheet
GOOGLE ADS CONVERSION REVIEW AFTER A CONSENT CHANGE
Change timestamp, site release and consent platform revision:
Expected policy per test region and page:
Implementation under test (basic or advanced):
Destination and conversion action, primary status and campaign goal:
CRM event definition and stable business reference:
Fresh session before any choice:
Decline and submit a test lead:
Accept and submit a separate test lead:
Reopen preferences, revoke, then navigate:
Record defaults, updates, cookies, tag status and actual delivery:
Check the browser and server paths independently:
Before/after date windows, timezone and report cutoff:
Conversion-time column and selected action or channel scope:
Accepted and qualified CRM totals for the same business interval:
Google Ads aggregate for the selected report scope:
Diagnostics scope, modeling start date and impact where shown:
Differences supported by direct evidence:
Open questions that need a separate test:
One next change, owner and review date:Use ConversionOS to inspect supported event delivery. If the CRM review also points to fraudulent visits or forms, start an AdProtektor trial to investigate visitor evidence and configure site protection.