Technical audit · 25.09.2026

ellex.legal

Website of the Ellex law firms in Estonia, Latvia and Lithuania

Website of the Baltic Ellex law firms — one recording, five pages, 360 requests, eleven nodes. A CookieYes banner with three equal-weight buttons, analytics and advertising off, the decision recorded twice, and Google's consent status remaining 'denied' throughout. But Google Analytics 4 in Consent Mode's advanced mode sends page_view and scroll on every page, and the Google tag appends a _gl parameter with an encoded client identifier to internal links. As a result, although no cookies are stored, all requests to Google over four and a half minutes are linked by one visitor identifier: refusing cookies does not break the tracking. The policy says data is passed to third parties only when required by law, and its cookie section describes a banner replaced long ago. The browser did not send a DNT header.

Request timeline

+0 ms · navigation
Opening of a lawyer's page ellex.legal/expert/…. Apache server, WordPress (WPML). Security headers: HSTS (max-age=63072000), Content-Security-Policy upgrade-insecure-requests, X-Frame-Options SAMEORIGIN, Referrer-Policy strict-origin-when-cross-origin, X-Content-Type-Options nosniff, Permissions-Policy. The browser did not send a DNT header.
+88…+238 ms · loading from the markup
Google fonts (+88 ms), the CookieYes script (+90 ms), reCAPTCHA (+116 ms), the Google tag gtag/js GT-WRDDK49 (+117 ms); CookieYes sends an impression log (+238 ms).
+77094…+270220 ms · the identifier in link addresses
Every navigation goes to an address with the parameter _gl=…*_ga*NTI0MjkxMjY2LjE3OTAyODc4MTQ.* — the encoded 524291266.1790287814. On the home page, the careers page and the privacy-policy page, page_view and scroll go to Google with the same client identifier and without the first-visit flag.

Declared versus actual

✓ Controllers — the Ellex Circle law firms, each in its own country: Ellex Raidla (Ahtri 4, 10117 Tallinn), Ellex Kļaviņš (Riga), Ellex Valiūnas (Vilnius); contact privacy.estonia@ellex.legal — declared
✓ Newsletter — with consent; candidates — consent and legitimate interest, retention up to 6 months after selection — declared
✓ Cookies: necessary — gotoandplay_cookie_agreement (value 'accepted' after the former banner's button is pressed); statistics — Google Analytics _gat, _gid, _ga — declared
✓ Data is passed to processors (database, cloud, direct-marketing services) and to Ellex Circle firms; to third parties — only when required by law — declared
✓ Supervisory authorities: Andmekaitse Inspektsioon (Estonia), Datu valsts inspekcija (Latvia), Valstybinė duomenų apsaugos inspekcija (Lithuania) — declared
✓ CookieYes declaration: third-party analytics and advertising cookies are stored only with prior consent; _ga stores information 'anonymously'; necessary — reCAPTCHA, cookieyes-*; advertising — _fbp and others — declared
+ Transmission of browsing information to Google Analytics in the 'denied' state — not declared
+ Carrying the client identifier between pages through the _gl parameter in link addresses — not declared
+ CookieYes and Google reCAPTCHA — not named in the policy — not declared
+ The policy's cookie section describes a replaced banner and does not reflect the current consent mechanism — not declared

Transfer timings

+90 ms cdn-cookieyes.com

CookieYes, advertising and analytics off by default.

+117 ms www.googletagmanager.com

gtag/js GT-WRDDK49, Consent Mode advanced mode, _gl link decoration.

+1204 ms region1.google-analytics.com

page_view, gcs=G100, cid 524291266.1790287814.

+68093 ms log.cookieyes.com

api/v1/consent; Google's status afterwards — G100.

+83199 ms region1.google-analytics.com

page_view on the home page at an address with _gl; then scroll, careers, policy, home page — the same cid.

Detected trackers

Indicators of GDPR non-compliance


Context

ellex.legal is the website of the Ellex Circle law firms: Ellex Raidla in Estonia (Ahtri 4, 10117 Tallinn), Ellex Kļaviņš in Latvia and Ellex Valiūnas in Lithuania; each firm is the data controller in its own country. The data-protection contact for Estonia is privacy.estonia@ellex.legal. The site is built on WordPress (WPML), Apache server.

Processing is described by the Ellex Circle privacy policy and the CookieYes cookie declaration. Attached to the material are two screenshots: the consent banner and the settings window.

The measurement consists of one recording of about four and a half minutes: a lawyer’s page, the home page, careers, the privacy policy and the home page twice. Three hundred and sixty requests, eleven nodes. The recording was made on 25 September 2026.

Who data goes to directly

Google (Analytics 4, Google tag, reCAPTCHA, Fonts), CookieYes (the consent platform). There is no advertising, Facebook or RTB in the recording.

Declared versus actual

The policy states that personal data is passed to processors and to Ellex Circle firms, and to third parties only when required under applicable law. Its cookie section describes the gotoandplay_cookie_agreement cookie of a former banner and the Google Analytics cookies _ga, _gid, _gat. The CookieYes declaration promises that third-party analytics and advertising cookies are stored only with prior consent, and that _ga stores information ‘anonymously’.

The measurement shows the following.

The consent platform is correctly configured. The CookieYes banner, as seen in the screenshots, offers three equal-weight buttons — ‘Customise’, ‘Reject All’, ‘Accept All’; advertising and uncategorised cookies are off. A decision is recorded twice (+68093 and +257081 ms). Google’s consent status in every request is gcs=G100, analytics and advertising denied; it does not change after either record, which is consistent with a refusal.

Google Analytics sends data in the ‘denied’ state. The Google tag GT-WRDDK49 runs in Consent Mode’s advanced mode. The first page_view of property G-F79LTMTJ9P goes out at +1204 ms, before any choice; then page_view and scroll go out on every page — the home page, careers, the privacy policy — up to +270220 ms. Each request carries the page address and device information. Under EDPB Guidelines 2/2023 on the technical scope of Art. 5(3), such reading requires consent even without the use of cookies.

The visitor identifier is carried in link addresses. This is the main difference from sites where Consent Mode’s advanced mode merely sends unconnected requests. Here the Google tag appends a _gl parameter to all internal links, in which the client identifier is encoded: the fragment _ga*NTI0MjkxMjY2LjE3OTAyODc4MTQ decodes to 524291266.1790287814. The next page reads the identifier from the address — which is why all eight Google Analytics requests over 270 seconds, across five pages and after both decisions in the banner, carry one and the same identifier, and the first-visit flag is set only on the first page. No cookies are stored, but the linking of one visitor’s page views continues: refusing cookies does not break it. The identifier ends up in the address bar, the browser history, the site’s server logs and — as part of the page address — in Google Analytics. It does not go to third-party nodes via the Referer header: the strict-origin-when-cross-origin referrer policy passes them only the origin.

The documents do not reflect this. The policy’s cookie section describes a banner replaced long ago and mentions neither CookieYes, nor the consent mode, nor the _gl parameter; reCAPTCHA is not named. The statement that data goes to third parties only when required by law diverges from the transmission of browsing information to Google without consent.

Functional nodes: Google reCAPTCHA loads on every page (together with csp.withgoogle.com report collection), and the Inter and Arsenal fonts load from Google Fonts.

Proven: a banner with an equal-weight refusal, decisions recorded. By the screenshots and two log.cookieyes.com/api/v1/consent requests.

Proven: Google’s consent status throughout is ‘denied’. By the value gcs=G100 in all eight requests.

Proven: page_view and scroll nonetheless go to Google on every page. Eight /g/collect requests.

Proven: the client identifier is the same on all pages and is carried via _gl. By the cid value in the requests and the decoding of the _gl parameter in the navigation addresses.

Not proven and not asserted: the content of the consent records. The bodies of the api/v1/consent requests are redacted in the published file; the conclusion about a refusal rests on the unchanged gcs=G100 status after both records.

Separately: the browser did not send a DNT header in this recording.

Bounds of observation

The measurement covers five pages of the site; no forms were submitted. Observation captures the browser’s behaviour, not the internal side of the services: how Google processes the received requests is not verified by a browser measurement. The legal assessment is made by the competent authority — in Estonia, Andmekaitse Inspektsioon, named in the policy alongside the authorities of Latvia and Lithuania.

The file is published redacted under a “lean” profile: cookie values in requests have been removed, the Cookie and Set-Cookie headers stripped; the redaction registry records 280 redactions and a checksum. The consent-mode parameters, the client identifier and the addresses with the _gl parameter are fully legible from the recording.

The identification of services relies on domains and address patterns: analytics — by google-analytics.com and property G-F79LTMTJ9P; the tag — by googletagmanager.com and GT-WRDDK49; the consent platform — by cookieyes.com; reCAPTCHA — by google.com/recaptcha. The _gl parameter was decoded as the base64 value of the _ga field.

Conclusion

A correctly configured CookieYes banner with an equal-weight refusal operates on the Ellex law firms’ website, the decision is recorded, and Google’s consent status remains ‘denied’ throughout. However, Google Analytics 4 in Consent Mode’s advanced mode sends page_view and scroll on every page, and the Google tag carries the client identifier between pages through the _gl parameter in link addresses. As a result, although no cookies are stored, all of a visitor’s page views in the session are linked in Google by one identifier — the refusal stops the writing of cookies, but not the tracking. The policy promises transfer to third parties only when required by law, and its cookie section describes a banner replaced long ago and reflects neither the current consent platform nor Google’s consent mode.

Remediation: switch Google Analytics to Consent Mode’s basic mode, in which the tag neither loads nor sends requests before consent; disable _gl link decoration for the site’s own domain (the linker is intended for navigation between different domains) or apply it only after consent; update the policy’s cookie section — describe CookieYes, the consent mode, Google Analytics with its legal basis, and reCAPTCHA; bring the wording on transfers to third parties into line with the actual transmission to Google.

Evidence

How to verify: download the file and compute its checksum — sha256sum file.har (Linux, macOS) or certutil -hashfile file.har SHA256 (Windows); it must match the one shown. The conclusions apply to the scope of this measurement — see the limitations of the method.

Original (audit)
HAR file: ee/ellex-legal-2026-09-25.har
SHA-256: fc9827dc1ce2fa361b11e13491a3edc7e118082362329d5fb8dca3772bf22f5a
Screenshot
Скриншот интерфейса
CookieYes banner on a lawyer's page: 'Customise', 'Reject All' and 'Accept All' — three equal-weight buttons · 25.09.2026
Скриншот интерфейса
CookieYes settings window: advertising and uncategorised cookies off · 25.09.2026
Re-check snapshot
Awaiting changes
HAR files are stored on EU infrastructure (Proton Drive). SHA-256 is published for integrity verification.