Segment, którego dotąd mogło brakować
Spis treści
Ciąg TC składa się z segmentów rozdzielonych kropkami. Pierwszy to segment rdzenia i niesie cele, podstawy prawne oraz dostawców, dla których istnieje zgoda. Trzeci jest nieobowiązkowy. Drugi – ujawnieni dostawcy – mógł do TCF 2.2 nie występować, a od 2.3 musi być obecny.
Różnica brzmi jak księgowość i nią jest. Właśnie dlatego działa: bez tego segmentu nie da się wykazać, że dostawca, który otrzymał zgodę, w ogóle został pokazany osobie jej udzielającej.

Co zawiera segment
Każdy segment po segmencie rdzenia zaczyna się od trzech bitów typu segmentu. Wartość 1 oznacza ujawnionych dostawców, wartość 3 segment wydawcy, wartość 0 stoi za segmentem rdzenia. Dalej idzie szesnaście bitów na najwyższy zawarty identyfikator dostawcy i jeden jedyny bit rozstrzygający o kodowaniu samego zbioru.
Budowa segmentu "ujawnieni dostawcy"
SegmentType 3 bity wartość 1
MaxVendorId 16 bitów najwyższy zawarty identyfikator dostawcy
IsRangeEncoding 1 bit 0 = pole bitowe, 1 = zakresy
przy 0 pole bitowe MaxVendorId bitów, po jednym na dostawcę,
1 = pokazany, 0 = niepokazany
przy 1 NumEntries 12 bitów
na wpis IsARange 1 bit
StartOrOnlyVendorId 16 bitów
EndVendorId 16 bitów, tylko przy IsARange = 1
typy segmentów 0 = rdzeń 1 = ujawnieni dostawcy 3 = publisher TC
Obie postacie opisują ten sam zbiór. Specyfikacja wymaga jedynie wybrania tej, która dla danego zbioru daje krótszy wynik. Wybór ciągły złożony z kilku bloków wypada znacznie lepiej w zakresach; wybór rozproszony po całej liście przechyla rachunek na stronę pola bitowego, bo każda pojedyncza wartość kosztuje tam siedemnaście bitów, a w polu tylko jeden.
Przeciw czemu wymierzony jest ten segment
Luka, którą zamyka, ma nazwę: dostawcy pojawiający się w sygnale, choć nigdy nie stali w interfejsie. Baner zgody mógł pokazać garść nazw, podczas gdy wytworzony ciąg wykazywał zgodę dla znacznie większej liczby dostawców. Dla odbiorcy ciągu oba przypadki były nie do odróżnienia, bo informacji o tym, co pokazano, po prostu w nim nie było.
Dokładnie taki zarzut podnoszono wobec tego rozwiązania w europejskich postępowaniach, a odpowiedź na niego jest niezwykle bezpośrednia. Zamiast reguły postępowania stoi teraz pole obowiązkowe w formacie danych. Kto nie ujawnia, nie może już tego twierdzić, bo pole pozostałoby puste, a walidacja to widzi.
Co dzieje się od końca lutego
TCF 2.3 ukazało się 19 czerwca 2025, a przejście trwało do końca lutego 2026. Google wymaga wersji 2.3 dla wszystkich nowo tworzonych ciągów TC od 28 lutego 2026; wiążący termin samego rozwiązania przypadał na 1 marca. Na początku marca walidacja została uruchomiona, a doniesienia zgodnie podają, że raport błędów niesie od tego czasu osobny kod dla żądań, w których segmentu brakuje, jest uszkodzony albo nie zawiera Google.
Następstwem nie jest ostrzeżenie w interfejsie, lecz rozstrzygnięcie przy wyświetlaniu reklam: żądanie dostaje reklamy ograniczone albo zostaje odrzucone. Uderza to w przychód witryny bezpośrednio i po cichu, bo odrzucone żądanie nie zostawia komunikatu w narzędziu zgód.
Gdzie faktycznie siedzi błąd
W tej zmianie uderza to, jak mało ma ona wspólnego z witryną, na którą oddziałuje. Ciąg zapisuje rozwiązanie zgód, a to, czy powstaje wersja 2.3, zależy od jego wersji i konfiguracji. Witryna może zostawić baner nietknięty, dotrzymać każdego terminu, ustawić poprawnie każdą opcję – i mimo to wysyłać nieważne ciągi, bo osadzone rozwiązanie nadal zapisuje 2.2.
Odwrotność też obowiązuje: aktualne rozwiązanie tworzy ten segment samo z siebie. Nakład leży w ustaleniu, który z dwóch przypadków zachodzi, a to daje się odczytać z jednego ciągu.
Jak odczytać to z ciągu
Najszybsza droga wiedzie przez kropki. Ciąg bez kropki składa się z samego segmentu rdzenia i tym samym nie może zawierać ujawnienia. Ciąg z co najmniej jedną kropką ma dalsze segmenty, a pierwsze trzy bity każdego z nich podają jego typ. Jeżeli wartość 1 nie pojawia się nigdzie, ujawnienia również brakuje – obecny segment dodatkowy jest wtedy segmentem wydawcy.
Tam, gdzie dekoder jest pod ręką, sprawa zajmuje minutę: wziąć ciąg z banera albo z panelu sieci, rozdzielić, odczytać typy segmentów. Tam, gdzie dekodera nie ma, do pierwszego podejrzenia wystarczy policzenie kropek. Gdy liczba zostaje na zerze, ustalenie jest jednoznaczne, a pytanie kieruje się nie do witryny, lecz do dostawcy rozwiązania zgód.