1 free tools on this site · Cookie audit

Start Pro

Cookie consent example: one ordinary small company site worked through from the tag list to the stored record

By , Founder, Ellul SolutionsUpdated

Examples of consent are usually screenshots of banners, which is the least useful part to copy. What is worth working through is everything the screenshot does not show: how the tag list became categories, what the page does before and after a click, and what ends up stored. This is one ordinary small company site, of the kind this hub is written for, taken through in that order.

The site and what it was running

A twenty person software company with a marketing site, a documentation subdomain and a help centre. On the rendered home page: an analytics suite, an advertising pixel, a second pixel from a retargeting platform added for a campaign the previous year, a live chat widget, a video embed on two pages, and a tag manager loading all of it. Nobody currently at the company had installed three of those. The first useful output was not a banner, it was the list. Producing that list took longer than everything that followed, because three of the tags were loaded by other tags rather than declared anywhere, and one of them only appeared on pages carrying the video embed. The lesson worth taking is that you cannot enumerate a tag stack from the tag manager's own list. You have to load the rendered pages and watch what they fetch, on more than one page type, because the home page is frequently the cleanest page on the site.

Turning the list into categories

Strictly necessary got three entries: the session, the load balancer value and the consent record itself. Functional got the chat widget, because the visitor initiates it but it stores before they do. Analytics got the analytics suite. Advertising got both pixels and the video embed, because the embed in its default mode sets advertising identifiers. That last one is the finding that repeats on almost every site: a video is treated as content and behaves as an ad tag. Writing the reasoning beside each assignment took about twenty minutes and paid for itself twice: once when a new campaign pixel arrived two months later and the question of where it belonged answered itself, and once when the company was asked by an enterprise customer's procurement team to explain the categories and could send the table rather than compose a reply.

What the page did before the fix

On a fresh visit, eleven values were written and four outbound requests were made, all before the banner had rendered. The banner itself stored a single flag on accept and nothing at all on reject. Clicking reject changed nothing about what fired. This is the ordinary condition of an inherited banner and it is not anybody's fault in particular; it is what happens when the box and the tags are configured by different people at different times. It is worth recording that the banner had been installed by a well-regarded plugin and configured by somebody competent. Nothing about the failure required anyone to be careless. The plugin gates the tags it loads itself, the site loaded its tags through a separate tag manager, and no part of either tool is responsible for noticing that the other exists.

What changed in the tag manager

Every non-necessary tag moved from a page load trigger to a consent-conditional one, with the consent signal set to denied by default before the tag manager initialises. The video embed was switched to its privacy-preserving mode, which removed it from the advertising category entirely and was the single cheapest improvement in the whole exercise. The chat widget was moved to load on click rather than on page load. The chat widget move had a side effect nobody predicted: the page got noticeably faster, because the widget was the heaviest thing on it and almost nobody opens a chat widget on a first visit. Several of the changes a consent project forces are performance improvements that had never been prioritised on their own, and it is worth measuring before and after so the work has a second number to show for it.

What the record looks like now

Each decision is stored with the categories chosen, the moment, and the version identifier of the banner text that was on screen. That last field is what makes the record answerable later: when the categories were renamed three months on, old records still meant what they said because they point at the text that produced them. A store keeping only the current state per visitor could not have survived that rename.

What it cost and what it changed

About a day of work, most of it spent finding out what was actually running rather than changing anything. Reported analytics traffic fell, attribution in one advertising platform fell further, and the number of pages the company could honestly describe in its cookie notice went from an estimate to a list. The point worth taking from it is the order: audit, categorise, gate, record, and only then write the words on the banner.

Questions people ask about cookie consent example

Can I copy another site's banner text?

You can copy the structure. The content has to describe your tags, and a borrowed category description is usually wrong in a way that is easy to demonstrate.

How long does this take on a small site?

Most of a day, dominated by discovering what is running. The changes themselves are usually an afternoon in the tag manager.

What if I cannot change the tag manager?

Then the person who can is the person who has to do this part. A banner installed by someone without that access cannot gate anything, and that is worth saying out loud early.

Which finding was the most common?

The embedded video setting advertising identifiers in its default mode. It appears on a large share of the sites we look at and it is a one-setting fix.

Sources

Related answers

Open the free cookie auditCount what your site sets, free