Switch from Termly to Cookiequiet
Move a site from Termly to Cookiequiet in about 30 minutes: remove the resource blocker, re-mark data-categories scripts and data-src embeds, rewire the link.Switching from Termly to Cookiequiet takes about half an hour on a typical site. You remove Termly's resource blocker script, add one Cookiequiet script tag in its place, change the data-categories attribute on any scripts you blocked by hand to data-cq-category, rename data-src to data-cq-src on blocked embeds, and point the "Cookie preferences" link at the new preferences centre. Returning visitors see the banner once more because their choice was stored by Termly. Do the markup changes first and swap the scripts in one release, so visitors never see two banners.
Why people switch
Termly limits banner views. On its pricing page (checked on 20 October 2026), the free plan includes one policy, 10,000 banner views a month and quarterly scans; Starter costs $14 per website per month, or $10 billed yearly, for 50,000 banner views; Pro+ costs $20 per website per month, or $15 yearly, for unlimited views, and Consent Mode v2, logo removal and regional rules are only on Pro+. Cookiequiet has no pageview or banner-view limit on any plan: free for one website with geo-targeting and Consent Mode v2 included, Cookiequiet's Starter at €3 per website per month or €29 a year. The comparison page has the feature table, and the cost calculator works out the difference for your number of sites.
How is Termly installed?
Termly's documentation says its consent banner embed must be loaded before all other scripts, so that its Auto Blocker can intercept them. The embed loads a resource blocker from app.termly.io/resource-blocker/ followed by your website's ID, with ?autoBlock=on when automatic blocking is enabled. On WordPress it is often installed through Termly's plugin; with Google Tag Manager, Termly recommends placing the script on the page before the container. That is the tag (or plugin) you remove.
How do categories map?
Termly's manual blocking uses six categories: essential, performance, analytics, advertising, social networking and unclassified. Cookiequiet has four:
| Termly category | Cookiequiet category |
|---|---|
| essential | necessary (leave the script unmarked) |
| performance | functional |
| analytics | analytics |
| advertising | marketing |
| social networking | marketing |
| unclassified | classify it, or marketing to be safe |
Termly describes its "performance and functionality" cookies as improving the site without being essential, which is Cookiequiet's functional category; its "analytics and customization" category maps to analytics. Social media embeds and share widgets that track visitors belong in marketing.
What changes in the markup?
Termly's manual blocking sets type="text/plain" and adds a data-categories attribute. Cookiequiet does not read data-categories, so add its own attribute:
A script blocked for Termly:
html<script type="text/plain" data-categories="analytics"src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
The same script for Cookiequiet:
html<script type="text/plain" data-cq-category="analytics"src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
The type stays text/plain, so only the attribute changes. For embeds, Termly renames src to data-src; Cookiequiet uses data-cq-src:
html<iframe data-cq-src="https://www.youtube-nocookie.com/embed/VIDEO_ID"data-cq-category="marketing" title="Product video"></iframe>
Scripts that Termly's Auto Blocker held without any markup are covered by Cookiequiet's auto-blocker when the host is among the about 80 trackers in its provider database; mark anything else by hand. The script blocking guide covers all four methods.
What else needs rewiring?
- The preferences link. Termly opens its preference modal from elements with the
termly-display-preferencesclass or a call todisplayPreferenceModal(). Replace them with an element carryingdata-cq-show-preferences, or a link to#cq-preferences. - Google Consent Mode. Add
data-consent-mode="1"to the Cookiequiet snippet (the dashboard's snippet includes it) and keep the Google tag after it. See the Consent Mode guide. - Tag Manager triggers. Triggers that waited for Termly's consent should wait for the
cq_consentdataLayer event with the matching flag (cq_analytics,cq_marketing,cq_functional). - Policies. If Termly hosted your privacy or cookie policy, generate new ones from the Cookiequiet scan and update the footer links, or keep the Termly policy until the new ones are reviewed.
The migration, step by step
The numbered steps below are the whole job. Keep the Termly account open for a week in case you need to roll back, and export what Termly offers of your consent records before closing it: choices made under the old banner are proven by the old records.
After the switch
Open the site in a private window: no analytics or advertising request before a choice, nothing new after Reject all, everything after Accept all. Run a scan to confirm Cookiequiet is the only consent tool detected and that Consent Mode is present. Setup itself is one script tag before your other scripts, with Reject all on by default and the cookie table filled from the scan; the pricing page lists what each plan adds.
Questions
Sources
- Termly pricing page (checked 20 October 2026)
- Termly Help Center, Auto Blocker implementation guide
- Termly Help Center, Blocking JavaScript third-party cookies manually
- Termly Help Center, How can I let my users manage their cookie preferences?
- Termly Help Center, How to use Termly with Google Tag Manager
- Termly Help Center, Understanding the different types of cookies (the six categories)