Skip to content

Tracking scripts

Which Tracking Scripts Appear Most in Website Privacy Lawsuits

The pixels, session-replay and chat tools named most often in CIPA complaints, what each one records, and how to check whether yours fire before consent.
Photo of Adi Leviim

By Adi Leviim, founder of Suitcast. 9 min read. Updated .

California Invasion of Privacy Act, CIPA, complaints name session-replay tools, chat widgets and ad pixels, because each records something a visitor typed, said or clicked and sends it to a third party before the visitor answers a consent banner. The live counts by script are on Suitcast's trackers page, built from complaint text and updated daily.

The four categories complaints name, and why

CIPA complaints about websites rest on two theories, and the script categories follow from them. The section 631(a) wiretap theory needs the contents of a communication: something the visitor typed or said. The section 638.51 pen register theory needs routing information: an IP address, a device identifier, a referrer. Scripts that capture both are named most; scripts that capture only the second are named less. The CIPA demand letter guide explains both theories in detail.

Session replay records mouse movement, scrolling, clicks and keystrokes, and reassembles them into a video-like replay of the visit. That is the strongest fit for the wiretap theory because the recording includes what the visitor typed into a form before they submitted it. Complaints describe this as recording the visitor's session without permission, and the Suitcast tracker catalog marks every tool in this category critical.

Chat widgets store the conversation and usually track the visitor's page views as well. Complaints say the vendor, not only the business, receives and stores the messages, and that the visitor was not told. The section 632.7 claim about cellular communications appears here, for chats opened on a phone.

Ad pixels send page views, add-to-cart and purchase events, and sometimes typed form values such as an email address, to an advertising platform for measurement and targeting. Meta Pixel and TikTok Pixel are marked critical in the catalog; the pixels from Google Ads, Microsoft, LinkedIn, Pinterest, Snap, X, Reddit, Criteo and AdRoll are marked high.

Analytics sends less: pages viewed, source, device, an identifier. Google Analytics 4, HubSpot, Heap, Mixpanel, Segment and Amplitude appear in complaints as part of a list rather than as the lead allegation, and the catalog marks them medium. Segment deserves a separate look because one script forwards data to many destinations, so it can feed dozens of trackers at once.

The scripts by name, and what each records

The descriptions below are the ones Suitcast shows next to each finding, drawn from the tracker catalog that also feeds the trackers page.

Meta Pixel reports what visitors do on your site so you can run and measure Facebook and Instagram ads. Complaints describe it sending page views, clicks and sometimes form entries to Meta before the visitor agreed.

TikTok Pixel reports visits, add-to-carts and purchases back to TikTok. Complaints describe it collecting page views and typed information such as email addresses before consent.

Microsoft Clarity records a video-like replay of mouse movements, scrolling, clicks and typing, and builds heatmaps. Clarity is free, which puts it on many small business sites where nobody looks at the recordings.

Hotjar records sessions including mouse movement, scrolling and keystrokes, and turns them into replays and heatmaps. Complaints treat tools like this as the central example of wiretapping a visitor's interaction with the page.

FullStory captures a full replay including what visitors type into forms. Mouseflow, Lucky Orange and Crazy Egg do the same job with heatmaps, and Lucky Orange also bundles a live chat window in the same script.

Intercom Messenger, Drift and LiveChat are chat widgets that store conversations and track page views. Complaints say chat tools like these record and share conversations with the vendor without telling the visitor first. Tidio, Zendesk Chat and Gorgias Chat are in the same group and common on Shopify stores.

Google Analytics 4 counts visits and shows which pages people look at and where they came from. Complaints cite it for sending browsing activity and device details to Google before the visitor was asked.

Google Tag Manager is not a tracker itself. It is the container that loads the others, and complaints name it because it fires those tags the moment a page opens, before any banner is answered. On most sites it is where the real trackers are switched on, and it is where gating happens.

How to gate each category

Gating means the script does not load until the visitor clicks accept, and stays off if they click reject or ignore the banner. The setting lives in a different place on each platform. These paragraphs follow the plain fixes Suitcast shows next to each finding.

Shopify. Turn on the customer privacy banner under Settings, Customer privacy, and keep every app tied to it. The Facebook & Instagram, TikTok, Google & YouTube and Pinterest apps installed from the app store follow the banner; a pixel pasted into theme code does not. Check that Klaviyo, Attentive, Yotpo, Lucky Orange and Gorgias follow it too, in each app's own settings.

WordPress. Place every script through a consent plugin such as Complianz or CookieYes rather than in the theme header or a code snippet plugin. The plugin holds the script until accept and offers a custom script slot for tags it does not know, such as the Microsoft Advertising UET tag or a chat widget.

Google Tag Manager. Open the container, turn on consent mode in the container settings, and give each tag a consent requirement: analytics_storage for analytics tags, ad_storage for ad pixels, and ad_user_data for the Google Ads tag. Without a per-tag requirement, consent mode changes nothing. Delete tags for services you no longer use while you are there.

Session replay tools. Most have their own consent switch. Clarity's is in the Clarity dashboard under Settings, Require cookie consent. Hotjar, Mouseflow, Lucky Orange, Smartlook and FullStory each have a setting that waits for consent, and FullStory, LogRocket and Quantum Metric also need form fields masked. Turn the switch on, then connect it to the banner or to consent mode.

Chat widgets. Load the widget only after accept, and add a line in the greeting that conversations are saved. If nobody staffs the chat, remove the script rather than gating it.

The removal rule. Almost every plain fix in the catalog ends the same way: if you are not running the ads, reviewing the recordings or staffing the chat, remove the script. A script nobody uses is exposure with no return.

Categories compared by what they record and risk level

The risk level is the one the Suitcast tracker catalog assigns to each script. It reflects how complaints describe the category, not a legal conclusion.

CategoryExamplesWhat it recordsCatalog risk
Session replayMicrosoft Clarity, Hotjar, FullStory, Mouseflow, Lucky Orange, Crazy EggMouse movement, scrolling, clicks, keystrokes, a replay of the visitCritical
Ad pixel, socialMeta Pixel, TikTok PixelPage views, cart and purchase events, sometimes typed form valuesCritical
Ad pixel, otherGoogle Ads, Microsoft UET, LinkedIn, Pinterest, Snap, X, Reddit, Criteo, AdRollPage views, conversion events, an advertising identifierHigh
ChatIntercom, Drift, LiveChat, Tidio, Zendesk Chat, GorgiasThe conversation, page views, sometimes typed pre-chat fieldsHigh
Call trackingCallRailThe page that led to the call, and the call itself when recording is onHigh
AnalyticsGoogle Analytics 4, HubSpot, Heap, Mixpanel, Segment, AmplitudePages viewed, source, device, an identifier; Heap also captures form changesMedium
Email and SMS marketingKlaviyo, Mailchimp, AttentiveProducts viewed, typed email addresses and phone numbers in pop-upsMedium
Tag containerGoogle Tag ManagerNothing itself; loads the others at page openMedium

Read the table as an order of operations. Gate or remove the critical rows first, since they carry the wiretap theory. Then the high rows. Then decide whether the medium rows earn their place, which for most small sites means keeping Google Analytics 4 behind consent mode and removing the rest.

Where the counts come from, and why they are floors

The per-script counts on the trackers page come from the text of filed complaints. Suitcast fetches complaint documents from CourtListener for the CIPA cases it tracks, searches the text for each tracker's name and known aliases, and counts the dockets that mention it. The methodology page describes the query and the matching, and the data page carries the coverage note.

That method produces floors, for three reasons. Demand letters are not filings, and most letters settle before a complaint exists, so the largest share of claims never enters the count. Complaint text is not available for every docket, and a docket without text cannot be matched. And complaints often describe a category, session replay software, without naming the vendor, which matches nothing.

So a script with a low count is not a low risk. It may be new, it may be named by category, or it may be the kind of tool a firm mentions in a letter and never in a complaint. The risk levels in the catalog are set from how complaints describe the category, not from the count.

I do not print the per-script counts in this guide because the table on the trackers page updates daily and a number written today would be wrong in a month. The window and scope are stated next to every count there. The firm counts for CIPA live on the firms page: in the last 12 months the top five by federal civil dockets were Bursor & Fisher with 55, Nathan & Associates with 26, Gutride Safier with 22, Tauler Smith with 21 and the Law Offices of Ross Cornell with 19. Of the 455 civil CIPA cases in that window, the Northern District of California holds 173 and the Central District of California 113, per the California page.

How to check your own site

By hand: open the site in a fresh private window with the browser's network panel recording before the page loads. Do not touch the banner. Every request to a host that is not yours is a script that fired before consent, and the panel shows the time each one fired. Then click reject and reload, and note what still fires. Repeat on a product page and a page with a form, because tags are often scoped to templates.

The free Suitcast scan does the same thing and writes it down. It loads your public pages in a real browser, checks every request against the tracker catalog and records each match with its timing before any click, then clicks reject when the banner offers it, and records again. The report lists what fired before consent and what kept firing after reject, by script name, with the plain fix and where the setting lives.

Two things the scan does that a manual check misses. It records the timing, so the report shows a pixel that fired a fraction of a second after load, before any banner could have rendered. And it is dated, so after you gate or remove scripts, a second scan shows the change with a timestamp, which is the record you want if a letter ever arrives. The scanner policy describes what the scan loads and how to block it.

Limitations

The catalog is 43 trackers. A script not in the catalog is not named in a scan result or a count, and new tools arrive faster than any list. If your site uses a recording or chat tool that is not listed here, treat it by its category, not by its absence.

Counts are floors for the reasons above, and they are federal. CIPA cases filed in California state court are covered only through curated sources, so the picture on the California page and the New York page is partial, and the data page says so next to every number.

The risk levels are descriptive. Critical means complaints describe the category as recording content; it is not a prediction that a given script will draw a letter. A site with only analytics can receive one, and a site with session replay may never hear anything. The scan shows what a complaint would cite; it does not stop anyone from filing, and it does not determine whether any script violates any statute. The not legal advice page says this in full.

Gating changes what fires from now on; it does not change what already fired. If you have already received a letter, read the CIPA demand letter guide first, and if the letter is about accessibility rather than tracking, the ADA website lawsuit letter guide covers that. Owners who want a weekly dated record of what fires can compare plans on the pricing page.

Suitcast identifies risk indicators. It is not legal advice and does not determine compliance.

Last updated September 13, 2026.

Questions owners ask

Short answers to what owners ask after reading this guide.
Which single script appears most often in CIPA complaints?
The live answer is on the trackers page, which counts the scripts named in complaint text and updates daily. This guide does not rank scripts by name, because the count changes as complaint text arrives. What the guide explains is which kinds of script complaints describe, and why each one draws the claim.
Is Google Analytics 4 named in these lawsuits?
Yes, though less often than pixels and replay tools, and usually as one item in a list rather than the lead allegation. Complaints describe it as sending browsing activity and device details to Google before the visitor was asked. Turning on Google consent mode so the tag waits for accept addresses the pre-consent part.
If I gate Google Tag Manager, are all my tags gated?
Only if each tag inside the container carries a consent requirement. Gating the container script alone breaks tags that should run, such as a consent banner loaded through it, and misses tags added outside the container. Turn on consent mode in the container settings and give each tag its own consent signal.
Does a cookie banner that only informs, with no reject button, count as consent?
In the complaints I read, no. The allegation is that the script fired before the visitor agreed, and a banner that fires everything at load while showing a notice is what the screenshots in the complaint show. A banner that blocks scripts until accept and offers reject is the pattern that gating means.
Do the tracker counts on Suitcast include demand letters?
No. The counts come from the text of filed complaints that Suitcast can read from CourtListener, so they exclude letters that never became a filing and complaints whose text was not available. They are floors. A script's true share of claims is higher than its count, and a low count is not a low risk.
What does the free scan actually do to check timing?
It loads your public pages in a real browser and checks every request against 43 known tracking scripts, recording the time each one fired before any click, then clicks reject when the banner offers it, and records again. The report lists what fired before consent and what kept firing after reject, by script name.

See what a complaint would cite on your site

The free scan loads five public pages, lists the trackers that fire before consent and the accessibility failures complaints cite, and gives you a dated report to keep.

Free, about a minute, no signup for your score.

Suitcast identifies risk indicators. It is not legal advice and does not determine compliance.