What happens when a shopper says no.

Airlock ran its five-state consent protocol against 22 live Shopify storefronts. These are the results, with the method published and the failures counted.

11storefronts where every consent state enforced and read back correctly
11of those 11 kept sending after the visitor explicitly refused
4where accepting changed nothing at all — the banner gated nothing
399tracking requests observed under an active refusal
Read the denominator first. 22 stores were attempted and 11 produced a usable measurement. The other 11 are not counted in any figure on this page — in those, at least one consent state failed to read back, which means the numbers would have looked like findings without being evidence. Excluding them lowers every headline number here. That is the correct direction for an exclusion to move a result.

Which vendors continued after an explicit refusal

Counted as the number of measured storefronts where that vendor sent at least one request while a refusal was in force and verified.

Google Analytics 4
9
Google Ads
8
Elevar
6
Klaviyo
6
Attentive
5
Meta Pixel
4
TikTok Pixel
4
Yotpo
4
Bazaarvoice
3
Pinterest
3

The names at the top are not rogue operators. They are the default marketing stack of a mid-market Shopify store, installed deliberately, doing what they were configured to do. That is the finding: this is not an outlier problem, it is the normal configuration.

Store by store

Every store below is a public storefront, measured from a US vantage point. Requests were counted only in states the storefront confirmed by readback.

StorefrontRequests under refusalVendorsPost-withdrawal
trueclassictees.com759
drsquatch.com5714the banner gated nothing
rothys.com578the banner gated nothing
magicspoon.com5192
brooklinen.com3383
liquiddeath.com322the banner gated nothing
peakdesign.com3151
outdoorvoices.com296
allbirds.com204
untuckit.com125
chubbiesshorts.com212the banner gated nothing

Three things this does not say

A second measurement: what leaves before anyone is asked

The figures above are about what happens after a shopper answers. This one is about what happens before they can. In August 2026 Airlock loaded 40 live Shopify storefronts in a real browser as a first-time visitor — nothing clicked, no banner answered — and recorded every tracking request with the millisecond it left.

26storefronts that produced a live measurement
17sent tracking data before the visitor could answer anything
10carried at least one tracker no consent app can reach
899tracking requests before consent, in total
Again, read the denominator. 40 storefronts were attempted; 8 could not be read at all — bot protection, redirects, or a response we declined to interpret — and they are excluded from every figure here rather than counted as clean. 9 of the 26 measured sent nothing before consent, and they deserve to be counted properly: this is not a claim that every store leaks.

The timing is the finding

The median first tracking request left at 1.60 seconds. The fastest left at 0.28 seconds — before most pages have finished painting, and long before a human could read a banner, let alone answer one. And on 23 of 26 storefronts no consent banner rendered for this visitor at all, so there was never a moment at which answering was possible. That last figure is a statement about a US vantage point and would very likely differ from Europe.

Which vendors were present before consent

Klaviyo
10
Google Ads
10
Google Analytics 4
6
Okendo
4
Gorgias
3
Attentive
3
Yotpo
2
Pinterest
2

And the subset that matters most — vendors whose tags were emitted by a Shopify app block, which the platform renders server-side before any JavaScript exists to gate them: Klaviyo (5), Okendo (3), Attentive (2), Yotpo (2), Recart (1), Ordergroove (1). For those, installing a different consent app changes nothing.

The heaviest twelve

StorefrontRequests before consentFirst sentUnreachableBanner at
trueclassictees.com1621.64s3none
purple.com1021.62snone
nomadgoods.com883.33s2.37s
greatjonesgoods.com781.36s1none
drsquatch.com721.65snone
rothys.com710.95s2none
deathwishcoffee.com621.37s1none
partakefoods.com541.60s1none
outdoorvoices.com420.28s2none
peakdesign.com382.25snone
brooklinen.com360.70s16.18s
untuckit.com342.78s18.03s

The full board is public → Every row links to its own report, with the millisecond timeline behind it. You can re-run it yourself and get different numbers, because a storefront changes daily — but the same shape.

Reproduce it

Every figure here comes from the same protocol the public scanner runs. Put any of these domains into the scanner, run the consent protocol, and you should see the same shape of result — different numbers, because a storefront changes daily and your vantage is not ours, but the same verdicts.

← RUN IT YOURSELF