Home / Blog / TCF v2.4 Is Past Its Deadline. Check What Your CMP Actually Sends

A/B Testing a Consent Banner Without Breaking Your Consent Records

Published 2026-11-07

Your consent banner looks the same as it did in September. The string it sends downstream is not supposed to be. TCF v2.4 specifications were published July 23, 2026, with a web implementation deadline of October 23, 2026, and legacy TCF v2.2 consent strings stopped working after February 1, 2026. If your CMP has not moved, vendors downstream may be rejecting valid consent, or accepting strings that no longer mean what they meant.

The version numbers are the boring part. The part that costs money is what happens when a vendor receives a string it cannot parse: it treats the user as unconsented, or it falls back to a default. Either way your ad revenue and your measurement change without anyone touching the banner. This post is the check that finds out which one is happening on your site.

A banner A/B test is safe when each variant is versioned like a legal document and every consent record names the variant the visitor saw. The test fails when the records just say accept and nobody can reconstruct which banner text, which button layout, and which vendor list produced that yes.

Why a banner test is a records problem before it is a design problem

A consent record is evidence, and evidence has to say what the person agreed to. A banner with a bright accept button and a grey reject link does not collect the same consent as a banner with two equal buttons, even if both say accept in the log. If your test changes the layout, the wording, or the vendor list, it changes the thing being consented to. A log that does not record which variant ran is a log that cannot prove anything about half your visitors.

This is the part teams skip. They set up the test in the CMP, watch the accept rate move, pick a winner, and only later discover the consent records are a single undifferentiated pile. The test was a success and the audit trail is mush. Version the variants first, then run the test.

The three things each variant needs

First, a version number and a frozen copy of the banner: the exact text, the button labels and order, the colours, and the vendor list shown. Screenshot it and store it with the version. Second, a consent record that carries the variant ID alongside the timestamp and the string. Third, a rule for what happens to the loser. When a variant is retired, its records stay, because they describe real consent collected while it ran. What stops is new consent being collected under it.

Keep the test narrow. Change one thing at a time: the button wording, or the reject placement, or the vendor list order. A test that changes three things at once tells you the winner moved the number and nothing about which change did it. And a variant that hides the reject option behind a second layer is not a test, it is a dark pattern, and the CNIL fines for exactly that design run into nine figures.

Reading the results like a compliance lead

The accept rate is the second number to read. The first is the consent quality: did the winning variant produce consent that matches what the site actually does. A variant that lifts acceptances by ten points while hiding the reject path has bought you a higher number and a weaker record. Regulators read the banner, not the dashboard.

When the test ends, write down the decision: which variant won, what the numbers were, and the date the losing variant stopped serving. File it with the consent records. Six months from now, when someone asks why the accept rate jumped in November, that note is the only thing standing between a story and a shrug.

Keep reading: Consent Mode v2: Basic or Advanced, and What the Choice Costs You, TCF v2.4 Is Past Its Deadline. Check What Your CMP Actually Sends, and The GPC Signal Is Not a Banner Setting. Test It Like a Request. cover the nearby cases in this series.

Frequently asked questions

Does an A/B test need fresh consent from existing visitors?

Not automatically. Visitors who already consented do not need to answer again just because you are testing a new banner on new visitors. Re-prompt only if the test changes what is being asked, for example a new vendor or a new purpose.

What should a consent record include during a test?

The timestamp, the consent string, and the variant ID or version of the banner the visitor saw. Without the variant, you cannot show what text and layout produced that yes.

Can I test a banner with the reject button on a second layer?

You should not. Refusing has to be as easy as accepting, and burying reject behind settings is the exact asymmetry the CNIL fined Google 150 million euros for in 2022. Test wording and layout, not whether refusal is findable.

How long should a banner test run?

Long enough to cover a full week of traffic, so weekday and weekend visitors both appear, and long enough that the result is not noise. A test that ends after a few hundred visitors has measured chance, not preference.