Unadhi Guides

AI chat widget and website tracker consent sheet: cookies, local storage and pixels under ePrivacy Article 5(3) (EDPB Guidelines 2/2023, Planet49) for accountants and their small business clients

Updated 28 Oct 2026 · Disclosure: the EURO AI Register mentioned below is an Unadhi product with a free edition. This guide is for information only, not legal advice.

What you get: a finished website tracker and AI chat widget consent sheet in three tabs: a tracker tab (one row per cookie, local-storage item, pixel, tracking link or chat widget script) with a formula that says CONSENT FIRST or which narrow exemption may apply, plus a fix column that flags anything firing before the visitor chooses; a banner check tab with seven yes/no tests taken from EU law and the Court of Justice; and a consent record tab so the client can show who agreed to what and when. Five made-up rows show how it fills in.

Short answer: Article 5(3) of the ePrivacy Directive (Directive 2002/58/EC, as amended by Directive 2009/136/EC) allows storing information on, or reading information from, a visitor's device only with consent after clear and comprehensive information about the purposes, unless it is for the sole purpose of transmitting a communication or strictly necessary for a service the visitor explicitly requested. The European Data Protection Board says this is not only about cookies: local storage, tracking pixels, tracking links, unique identifiers and some IP-based tracking can be covered too (Guidelines 2/2023, version 2.0, adopted 7 October 2024). An AI chat widget, analytics script or ad pixel added to a client site is therefore a consent question before it is a GDPR question.

Why accountants and bookkeepers should look at this now

Step 1: tab 1, trackers (one row per item)

Open the client's site in a private browser window, open the browser's developer tools and look at cookies, local storage and network requests before clicking anything on the banner. Add one row per item you see, and one row per script you know the site uses (from the site builder's settings or the client's web agency).

ColumnWhat to writeSource
A. ItemCookie or storage key name, or script name (for example the chat widget's script)
B. TypeCookie, local storage, tracking pixel, tracking link, unique identifier, IP-only tracking, chat widget storage, otherEDPB Guidelines 2/2023, sections 2 and 3
C. Set byThe client's own domain (first party) or another company's domain (third party), with the domainWP29 Opinion 04/2012, section 2.3
D. PurposeWhat it does, in plain words (login, basket, language choice, chat history, statistics, ads, AI training by the supplier)Art. 5(3) ePD ("purposes")
E. Function the visitor explicitly asked forYes/No: is it tied to something the visitor actively asked for (adding to basket, logging in, opening the chat, choosing a language)?Art. 5(3) ePD; WP29 Opinion 04/2012, criterion B
F. Strictly necessary for that functionYes/No: would that function fail without it?Art. 5(3) ePD; WP29 Opinion 04/2012, criterion B
G. Only to carry the transmissionYes/No: sole purpose is carrying the communication over the network (for example a load-balancing session cookie)Art. 5(3) ePD; WP29 Opinion 04/2012, criterion A and section 3.5
H. Any other purposeYes/No: also used for analytics, ads, profiling, cross-site tracking or the supplier's own product improvement or AI trainingWP29 Opinion 04/2012, sections 4.1 to 4.3
I. LifetimeSession, or the expiry shown (for example 13 months)Planet49, ruling point 3
J. Third parties with accessNames of other companies that can read it, or "none"Planet49, ruling point 3
K. Fires before the visitor choosesYes/No: present before any click on the bannerArt. 5(3) ePD ("only allowed on condition that ... has given his or her consent")
L. ResultFormula belowOur working rule
M. Banner names purpose, lifetime and third partiesYes/NoArt. 5(3) ePD; Planet49, ruling point 3
N. FixFormula belowOur working rule

Result formula for L2 (Google Sheets or Excel), then fill down:

=IF(A2="","",IF(H2="Yes","CONSENT FIRST",IF(G2="Yes","MAY BE EXEMPT: TRANSMISSION ONLY",IF(AND(E2="Yes",F2="Yes"),"MAY BE EXEMPT: STRICTLY NECESSARY","CONSENT FIRST"))))

Fix formula for N2:

=IF(A2="","",IF(AND(L2="CONSENT FIRST",K2="Yes"),"FIX: BLOCK UNTIL CONSENT",IF(M2<>"Yes","FIX: ADD PURPOSE, LIFETIME, THIRD PARTIES TO BANNER","OK")))

The order of tests and the result words are our working rule, not the law's wording. "MAY BE EXEMPT" means only that the item could fit one of the two exemptions in Article 5(3). The EDPB guidelines say whether an exemption applies must be assessed case by case, with the national transposition and national authority guidance (Guidelines 2/2023, paragraph 4). Write the reason in column D and check your country's guidance.

Made-up example rows (not a real website)

ABCEFGHIKL (result)N (fix)
basket_idCookieFirst partyYesYesNoNoSessionNoMAY BE EXEMPT: STRICTLY NECESSARYOK (banner lists it)
chat_visitor_id (AI chat widget)Local storageThird party (widget supplier)NoNoNoYes (supplier's analytics)12 monthsYesCONSENT FIRSTFIX: BLOCK UNTIL CONSENT
chat_session (set only after "Start chat")Local storageFirst partyYesYesNoNoSessionNoMAY BE EXEMPT: STRICTLY NECESSARYFIX: ADD PURPOSE, LIFETIME, THIRD PARTIES TO BANNER
_stats_id (analytics)CookieFirst party, analysed by a supplierNoNoNoYes13 monthsYesCONSENT FIRSTFIX: BLOCK UNTIL CONSENT
Ad pixel in newsletterTracking pixelThird partyNoNoNoYesn/aYesCONSENT FIRSTFIX: BLOCK UNTIL CONSENT

Why these results: WP29 Opinion 04/2012 lists user-input session cookies (such as a basket), authentication session cookies, user-centric security cookies, multimedia player session cookies, load-balancing session cookies and short-term interface customisation cookies as items that can be exempt if not used for other purposes. It says analytics cookies are not strictly necessary for a function the user asked for (section 4.3), and third-party advertising cookies are not exempt (section 4.2). The EDPB says tracking pixels and tracking links, including in emails, fall under Article 5(3) (Guidelines 2/2023, paragraphs 47 to 51).

Step 2: tab 2, banner checks (seven yes/no tests)

#TestSource
1Nothing in tab 1 marked CONSENT FIRST fires before the visitor choosesArt. 5(3) ePD
2No pre-ticked boxes or switches already set to "on"; consent is a clear affirmative actionPlanet49 ruling point 1; GDPR Art. 4(11)
3The banner or linked notice states each purpose, how long each item lasts and whether third parties can access itArt. 5(3) ePD; Planet49 ruling point 3
4The consent request is clearly distinguishable from other text, in clear and plain languageGDPR Art. 7(2)
5The visitor is told before agreeing that consent can be withdrawn at any timeGDPR Art. 7(3)
6Withdrawing is as easy as giving consent (for example a link or button on every page that reopens the choices)GDPR Art. 7(3)
7The client can show that consent was given (tab 3 is kept)GDPR Art. 7(1)

Score cell: =COUNTIF(C2:C8,"Yes")&" of 7" with Yes/No answers in column C. Anything below 7 goes in the client letter.

Step 3: tab 3, consent record

ColumnWhat to keep
A. Date and timeWhen the choice was made
B. Banner versionVersion or date of the banner text shown
C. Choice IDThe random ID the consent tool stores (not a name)
D-F. CategoriesStatistics, marketing, chat widget extras: Yes/No each
G. Withdrawn onDate, if the visitor later changed their mind

Most consent tools keep this log for you; the tab is where the client notes which tool keeps it and where to export it. Keeping it supports GDPR Article 7(1) where the processing relies on consent.

AI chat widgets: four questions to ask the supplier

The answers also feed the client's privacy notice and processor agreement. Our free sheets: privacy notice AI section · GDPR Article 7 consent record · transfer check for US suppliers · ePrivacy email marketing permission sheet.

Paragraph for the client letter (template)

We checked [website] on [date] before accepting any cookie choice. [number] items set or read information on visitors' devices without consent although they are not needed for anything the visitor asked for: [items]. Under Article 5(3) of the ePrivacy Directive as transposed in [country], these need consent first. Please ask your web developer to block them until the visitor agrees, and to add purpose, lifetime and third-party access for each item to the banner. Withdrawing consent must be as easy as giving it.

The template wording is ours. Replace the brackets.

Keep the AI tools list in one place

List the client's AI chat widget and other AI tools in the EURO AI Register free edition. It runs in your browser with no account and no upload, covers your first 10 AI systems and 10 evidence records, the screening questions, duties by role with dates, and a printable Article 4 AI-literacy record. Attach this consent sheet as the evidence record for the widget.

When you need more than 10 systems, the EURO AI Register membership starts at $19 a month and adds unlimited systems, rule updates and email help. Neither tool is legal advice or proof of compliance.

Partner programme opening soon

Partner programme opening soon: join the free waitlist. Planned terms are 50% of each referred sale (75% once you have 5+ paying customers), single level, paid through Gumroad only from revenue received.

National law

Article 5(3) is in a directive, so each country applies it through its own law, and the national data protection or telecoms authority enforces it and sets the penalties. Rules on first-party statistics, consent lifetimes and banner design differ between countries. Check your national law and your authority's cookie guidance. This page covers the EU texts in force as we read them today.

Frequently asked questions

Does the cookie rule cover local storage and pixels, not only cookies?

Yes, according to the EDPB. Its Guidelines 2/2023 on the technical scope of Article 5(3) cover tracking pixels and tracking links (including in emails), information processed locally and then sent to a server, unique identifiers, IP-based tracking where the IP address comes from the user's device, and IoT reporting.

Does it matter whether the information is personal data?

No. In Planet49 (C-673/17) the Court of Justice ruled that Article 5(3) is not interpreted differently according to whether the stored or accessed information is personal data.

Can analytics run without consent as "strictly necessary"?

WP29 Opinion 04/2012 says analytics cookies are not strictly necessary to provide a function explicitly requested by the user, so they do not fall under the exemption. It noted that first-party aggregated statistics carry less privacy risk. Some national authorities have since issued their own guidance on audience measurement, so check your country.

Not legal advice. The sheet helps a person check a website; it does not decide whether an exemption applies, what your national law says or which penalties apply. When in doubt, ask your data protection authority or a lawyer. Spotted an error? Write to mininglife7@gmail.com and we correct it.

Sources

← All guides

Unadhi Guides are free, independent explainers. We correct errors as soon as we find them: write to mininglife7@gmail.com.