Borlabs Cookie - WordPress Plugin
Borlabs Cookie is an easy-to-use gdpr cookie consent plugin for WordPress that allows you to integrate cookies such as retargeting cookies like Google AdSense via opt-in. JavaScript is activated and the cookie is sent only after your visitor gives their consent by confirming a cookie notice.

Plugin Features
With the GDPR or at the latest with the ePrivacy Regulation, cookies may no longer be set without the visitor’s consent. The previously used opt-out procedure is no longer permitted. Borlabs Cookie allows you to send cookies via opt-in, meaning that the visitor has to actively opt-in for the activation of cookies.
Manage your Cookies in Cookie Groups and provide a clear list in your Privacy Policy with all information such as name, duration, purpose, origin, etc. You can create as many Cookie Groups and Cookies as you like and give your visitors the choice to which they consent.
Borlabs Cookie already contains all the necessary tracking codes for Google Analytics and Facebook Pixel - all you have to do is enter your tracking IDs. With an opt-in of your visitors, the necessary code reloads without the website having to reload and an integrated opt-out solution required by the GDPR is available.
With the help of the WordPress plugins WPML or Polylang, you can configure Borlabs Cookie individually for each language. Borlabs Cookie is available in Dutch, English, French, German, Italian, Polish and Spanish and all texts that are displayed to the visitor can be customized by you in Borlabs Cookie.
Borlabs Cookie is designed to work with any WordPress theme. The following themes and PageBuilders were used for the tests: Avada, Beaver Builder, Divi, Elementor Pro, The7, WPBakery Visual Composer.
Borlabs Cookie has been designed and developed to be compatible with all WordPress caching plugins. Just activate it and get started.
A Practical Guide to Configuring Borlabs Cookie for a WordPress Site
Borlabs Cookie is not just there to show visitors yet another popup with an "Accept" button. When configured properly, it becomes a full consent management layer: it helps you identify which external services load on the site, decide which ones must be blocked until consent is given, present a clear dialog, and verify that analytics, maps, videos, and ad tags do not fire too early.
This guide walks through the full path from site preparation to final verification: installation, initial activation, dialog setup, working with the scanner and package library, using Content Blocker for external media, Google Consent Mode, IAB TCF, troubleshooting cache conflicts, and a practical setup for a site that uses analytics and YouTube videos. This is not legal advice, but it will help you implement Borlabs Cookie cleanly from a technical standpoint and avoid getting lost in the settings.
The plugin is especially useful on sites that use Google Analytics, Google Tag Manager, Google Ads, YouTube, Vimeo, Google Maps, forms, marketing widgets, ad networks, or other external resources. The biggest implementation mistake is assuming that turning on a banner is enough. In practice, you need to verify the whole chain: the service is identified, the package is installed, consent is requested, the code is blocked until a choice is made, and the result is verified in the browser and diagnostic tools.
Below, I will use Borlabs Cookie interface labels in English where they appear in the documentation or screenshots. These elements are marked with code so they are easier to distinguish from the regular text. If your build uses a translated interface or some labels changed slightly after an update, rely not only on the item name but also on the meaning of the section.
What Problem the Plugin Solves on a Real Site
Borlabs Cookie is a WordPress consent management plugin. Its purpose is not to "make a site compliant" with a single button, but to give the site owner a technical tool for handling external scripts, services, and embedded content. It displays a consent dialog, stores the visitor's choice, groups services, blocks code until permission is granted, can gate external content with Content Blocker, and helps verify the setup through the scanner, Debug Console, and system checks.
On a typical business website, the plugin is usually needed for three things. First, analytics and advertising: Google Analytics, Google Ads, Google Tag Manager, Meta Pixel, and similar services should run only under the selected consent mode. Second, embedded content: YouTube, Vimeo, Google Maps, calendar widgets, and external forms should not immediately contact third parties if that conflicts with your consent policy. Third, documented verification: after setup, you need to understand why a service belongs to a specific group and what happens when consent is declined, partially granted, or fully accepted.
That is why Borlabs Cookie works well not only for a small site owner, but also for an agency that maintains multiple WordPress projects. Repeatability and predictability matter: one site may use only Google Analytics, another may use WooCommerce, ads, YouTube, and maps, and a third may be multilingual through WPML or Polylang. In every case, what you need is not a decorative banner, but a working system: services, groups, text, blocking, verification, and ongoing support after updates.
The plugin may be unnecessary if the site does not use external services, does not load embedded content, does not run analytics, and relies only on strictly necessary cookies. Even then, you might still need Content Blocker for videos or maps, but a full consent dialog could be excessive. Before installing anything, answer one question honestly: which data and external resources does the site actually use, where can you see them, and who will maintain the setup after theme, cache, and marketing tag updates?
Who Borlabs Cookie Is a Good Fit For, and When Another Approach May Be Better
Borlabs Cookie's strength is its WordPress-focused setup. It does not feel like an external service that lives outside the site: it works inside the admin panel, uses a package library, includes compatibility options for popular plugins, and provides its own verification tools. That is convenient when the site is already maintained by a WordPress specialist and it is easier to keep everything close to the theme, plugins, cache, and page settings.
The plugin is a strong choice for sites that use several types of external resources. For example, a blog may use YouTube videos, a corporate website may connect Google Maps and Google Analytics, an online store may add ad tags and events, and an agency project may require a standardized setup across dozens of domains. In cases like these, the package library, Scanner, Content Blocker, service groups, and dialog settings help you avoid building everything manually from scratch.
There are also cases where you should evaluate it more carefully. If you need a cloud-based CMP with centralized domain management, legal templates for different countries, and automated cookie policies outside WordPress, it makes sense to compare Borlabs Cookie with platforms such as Cookiebot or Usercentrics. If you just need a basic free banner for a simple site without complex analytics, a lighter plugin may be enough. If the site is maintained by a team without a technical specialist, complex Google Tag Manager, Consent Mode, and IAB TCF settings are better handled by someone who understands which tags are actually firing.
Practical rule of thumb: Borlabs Cookie shows its value when you need more than just a dialog. It is designed for managing services, Content Blocker, packages, scanning, and result verification. If your needs stop at a simple notice bar, compare the maintenance burden with the benefit of the advanced features.
What to Check Before Installation and First Activation
Preparation is not just a formality. A consent management plugin changes how scripts and external content load, so it should not be configured blindly on a live site during peak traffic. It is better to understand in advance which services are already in place, where they are injected, and which plugins may be altering JavaScript behavior.
Inventory of Services and Injection Points
Start with an inventory. Review your active plugins, theme code, page blocks, widgets, page builder, SEO and analytics settings, ad inserts, and marketing integrations. The goal is not to list "every cookie in the world," but to find the actual sources of external requests. In most cases, those include Google Tag Manager, Google Analytics, Google Ads, Meta Pixel, YouTube, Vimeo, Google Maps, reCAPTCHA, fonts, newsletter forms, chat tools, booking widgets, and analytics services.
If the same service is loaded in two different ways, for example through a separate analytics plugin and through GTM, decide first which path will remain. Borlabs Cookie can manage code that is added through its own services, packages, or blockers, but it should not compete with another plugin that continues to output the same tag independently.
Cache, Optimization, and Minification
Before configuration, temporarily disable aggressive JavaScript optimization or add exclusions ahead of time. The official Borlabs documentation specifically warns that files with /borlabs-cookie/ in the path must not be combined, minified, or reordered. Pay especially close attention to WP Rocket, Autoptimize, LiteSpeed Cache, W3 Total Cache, WP Fastest Cache, Asset CleanUp, SiteGround Speed Optimizer, and similar tools.
That does not mean Borlabs Cookie is incompatible with caching. The issue appears when a cache or optimization layer modifies files that consent and unblocking logic depend on. The right approach is this: configure the plugin, clear the site cache, server cache, and CDN cache, then verify the result in a private browser window.
Staging Environment and Backup
If the site is already receiving leads or sales, it is better to repeat the setup on a copy first. At a minimum, create a backup and choose a time when you can verify the public site carefully. This matters even more when migrating from an older Borlabs Cookie version or another CMP: old shortcodes, blockers, and tags may behave differently, and data import requires separate validation.
Installation and Initial Verification After Activation
Installing Borlabs Cookie as a commercial WordPress plugin usually means uploading the ZIP archive in the admin panel: Plugins -> Add New Plugin -> Upload Plugin. There is no need to extract the archive manually or replace files over FTP. After installation, activate the plugin, open its admin menu, and move on to the basic setup.
In newer versions, the Setup Assistant plays an important role. It helps you choose a setup style: a quick path for a standard launch, a more detailed custom setup, or a guided mode with explanations. For a small site without complex GTM usage, the quick path is often enough to get started, but do not skip the follow-up verification of services and public behavior. For a site with advertising, multiple service groups, or multilingual support, it is better to go through the more detailed flow.
Initial Settings You Should Not Skip
After activation, check the Borlabs Cookie status, the site language, and links to the privacy policy and imprint page if that is required in your jurisdiction. Make sure the dialog is not shown on pages where users need to read legal information without interruption. In the current plugin logic, some exclusions may be handled automatically, but a manual check is still necessary.
Then open the plugin's own admin settings. Borlabs Cookie includes different menu and settings display modes: a simplified mode is helpful for a site owner who should not see dozens of technical options, while the standard or advanced mode is better for a specialist. If you configure the site once and then hand it over to a client, keep full access for yourself and choose a calmer interface mode for the client.
Browser Check Right After Installation
Before adding complex services, open the site in a private window. If the dialog is supposed to be shown, it should appear without console errors. If the dialog is hidden until services are configured, that can also be normal depending on the chosen logic. The important thing is not to guess, but to verify: clear cookies for the domain, reload the page, check the browser console, and review the Application or Storage tab where cookies are visible.
The quick summary for this stage is simple: the plugin is installed, the admin area is accessible, the dialog or its absence is explained by the settings, caching is not breaking file delivery, and the site has not lost critical functionality. Only then does it make sense to move on to services.
Scanner and the Package Library: How to Avoid Missing External Services
The scanner and Library are one of the reasons Borlabs Cookie should not be configured like a basic banner. Scanner analyzes the site and helps detect external resources, while Library offers packages for popular services and compatibility layers. That does not remove the need for verification, but it reduces manual work: instead of starting from an empty code field, you get a prepared structure for a service, provider, blocker, or compatibility setup.
When to Run Scanner
Run the scanner after the initial installation, after adding a new marketing plugin, after switching themes, after enabling a page builder, and after implementing a new external widget. For the first run, it helps to use a mode that checks the site's typical page types. If you have a store, a blog, and landing pages built on different templates, add specific URLs manually: one product page, the cart, checkout, an article, a page with a video, and a page with a map.
Read scanner results as guidance, not as a legal verdict. If it detects external resources, verify where they come from. Sometimes the source is the theme, sometimes a form plugin, and sometimes code inserted directly into a page block. After that, either choose a package from Library or decide that the resource should be removed.
How to Work With Packages
Borlabs Cookie packages usually cover standard services such as Google Analytics, Google Tag Manager, Google Ads, YouTube, Google Maps, and many other integrations. The important thing is not to install everything indiscriminately. Install only what is actually used on the site. This matters especially because new services in packages may be disabled by default so the site does not request consent for something that is not really there.
After installing a package, review its group, provider information, text, service ID, opt-in and opt-out settings, and whether Content Blocker is needed. If a service runs through GTM, do not duplicate it with a separate package unless there is a clear reason. For more complex setups, keep a short reference table: the service, where it is loaded, which consent group it uses, and how the result is verified.
| What Was Found | What to Check | Typical Action |
|---|---|---|
| External analytics script | Whether it is already loaded through GTM or a separate plugin. | Keep a single loading path and configure the matching package. |
| Embedded video or map | Whether a ready-made Content Blocker and a proper placeholder are available. | Enable the blocker and verify unblocking after consent. |
| Theme or page builder resource | Whether it is required for the page to render correctly. | Check compatibility and do not block critical code without testing. |
| Unknown domain | Which plugin or block is adding it. | Find the source, then remove it, replace it, or configure it manually. |
Dialog, Services, and Consent Groups Without Unnecessary Risk
The consent dialog is the visible part of the system, but inside Borlabs Cookie it is tied to services, groups, providers, text, buttons, the reopen widget, and choice expiration settings. A good configuration should not force visitors to understand your site's internal architecture, but it should clearly explain which categories they are enabling.
Group Structure
Groups are usually divided into essential, statistics, marketing, and external media, but the exact names depend on the site and language. Do not create five nearly identical groups if a visitor will not understand the difference. Each group should contain only services with a similar purpose. Analytics should be separate, advertising should be separate, external content should be separate, and technically necessary elements should be separate.
For each service, review the provider information: name, address, privacy URL, cookie information, purpose, and possible hosts. If that information is missing or overly generic, visitors get an unclear dialog and it becomes harder for you to explain why the service was enabled. Be especially careful with services that set multiple cookies or use different domains.
Buttons and Text
In the dialog settings, do not hide the decline option or make the path to granular choices harder than the path to full consent. Technically, Borlabs Cookie gives you many options for layout and button order, but the goal of configuration is a clear choice, not squeezing out the maximum number of consents at any cost. Compare the dialog text with your privacy policy and make sure the group names match.
If the site is multilingual, verify not only the headings but also the service names, descriptions, button labels, Content Blocker messages, and the link used to reopen settings. Borlabs Cookie supports dialog language and multilingual scenarios, but domain settings, Plugin URL, and display behavior across language versions still need to be checked manually.
Widget and Reopening Settings
Visitors should be able to change their choice. You can do that through a widget or through a link on the privacy page. The Borlabs Cookie documentation describes the CSS class borlabs-cookie-open-dialog-preferences for opening the settings dialog, which you can add to a link or button. That is safer than writing custom JavaScript to open the dialog.
Example for a privacy page or a footer block:
<a href="#" class="borlabs-cookie-open-dialog-preferences" data-borlabs-cookie-title="Cookie Preferences">Change cookie preferences</a>
After adding the link, clear the cache, open the site in a private window, make a choice in the dialog, then click the link and confirm that the settings window actually opens. If the link does not work, check whether Borlabs Cookie resources are loading and whether caching has disabled any required files.
Content Blocker: YouTube, Maps, and External Widgets
Content Blocker handles the situation where a page contains external content that should not load until consent is granted. Typical examples include YouTube videos, Vimeo, Google Maps, Instagram, booking widgets, external forms, and other iframes. For the user, this appears as a placeholder with an explanation and an unlock button. For the site owner, it is a way to avoid sending requests to an external service too early.
Borlabs Cookie can work with ready-made Content Blocker templates and packages. If a ready-made blocker exists for the service, start there. If the blocker does not trigger automatically, check which iframe or script the page outputs, whether the page builder alters it, and whether another plugin wraps it. Sometimes the problem is not in Borlabs Cookie at all, but in the fact that the external video was added through a nonstandard block, a lazy-load plugin, or a custom shortcode.
How to Verify Blocking for External Content
Verification should cover two states. First, clear cookies and open the page with the video or map without consent. The external content should not load immediately. Then click the button in the placeholder, accept the required service or group, and make sure the content appears. After reloading the page, the behavior should match the saved choice.
Do not treat a placeholder appearing as an error. On the contrary, that is the expected result if the service requires consent. The error is when the placeholder appears but the video still does not open after consent, or when the video loads before consent. In the first case, inspect the Content Blocker settings and the console. In the second, look for another loading path for the video that Borlabs Cookie did not intercept.
When a Manual Shortcode or Exception Is Needed
If an external iframe should not be blocked, older documentation refers to the data-borlabs-cookie-iframe-spared attribute. Use exclusions like this carefully: they are appropriate for technical elements that truly do not require blocking in your scenario. For user-facing video, maps, or marketing widgets, it is better to configure the correct blocker first.
If a blocker is needed on only one page, do not create a global rule that unexpectedly affects the entire site. Check the exact URL, the exact block, and the exact service. This is where it helps to keep a simple list: page, external service, blocker, expected behavior, and verification result.
Google Consent Mode and Google Tag Manager in Borlabs Cookie
The combination of Borlabs Cookie, Google Consent Mode, and Google Tag Manager requires extra care. It is easy to end up in a situation where the banner is visible, but tags still fire too early, or the opposite happens and analytics stops receiving events even after consent. The official Borlabs documentation describes two main paths: using the ready-made Google Analytics and Google Ads packages, or working through Google Tag Manager.
When GTM Is Not Necessary
If the site uses only Google Analytics or Google Ads without complex events, it is often simpler to install the appropriate package from Library and enable Consent Mode in the service settings. The Borlabs documentation explicitly states that if GTM is not needed, the matching package is enough. This lowers risk: fewer intermediate settings, fewer triggers, and fewer places to make a mistake.
This path works well for a smaller site that wants to measure visits, conversions, or advertising actions without a complex marketing architecture. Verify that the old Google Analytics code has been removed from the theme, SEO plugin, separate analytics plugin, and any manual insertions. If you leave two loading paths in place, consent verification becomes meaningless.
When GTM Is Necessary
Google Tag Manager is needed when the site has many tags, events, advertising audiences, button clicks, WooCommerce events, or third-party integrations. In that case, Borlabs Cookie should pass the consent state, and GTM should fire tags only under the correct conditions. In the basic Consent Mode setup, tags fire after consent. Advanced mode can send limited signals before consent for supported tags, but that mode requires separate legal review and careful configuration.
In the Borlabs documentation, the service ID and an event of the form borlabs-cookie-opt-in- + service ID are important for GTM. For example, if Google Analytics has the ID google-analytics, the event will be borlabs-cookie-opt-in-google-analytics. You can use that event as a trigger, and the consent variable can help block additional conditions. Do not copy the example mechanically: first find the real ID of your service inside Borlabs Cookie.
How to verify the result: in Google Tag Assistant, the consent state before a choice is made should differ from the state after the required group is accepted. If everything immediately shows up as
Granted, look for old code or an incorrect trigger. If nothing changes after consent, check the service ID, the opt-in event, and whether the GTM container was published.
IAB TCF, Advertising, and Modes You Should Not Enable Without a Reason
IAB TCF is not needed on every site. It is a technical standard for the advertising chain, especially when a site works with ad networks and vendors that need a consent signal passed through TCF. If you have a regular blog with analytics and a few videos, enabling TCF may add unnecessary complexity. If the site earns revenue from programmatic advertising, TCF becomes its own implementation project.
In Borlabs Cookie, TCF is enabled under Consent Management -> IAB TCF -> Settings. After activation, it is important to check the Global Vendor List status and then move on to vendor configuration. The documentation includes a separate setup flow for Google AdSense, where purposes, features, and special purposes are selected based on Google's recommendations. But that is not a universal configuration for every advertising partner. If ads are sold through an external provider, request the list of purposes and vendor IDs directly from that provider.
It is especially important not to alter or delay the loading of TCF files that Borlabs Cookie needs to add to <head>. A JavaScript optimizer that changes the order, combines, or delays that file can break the advertising integration. That is why TCF setup is always tied to the earlier section on cache and optimization.
Also evaluate GeoIP restriction separately. If the site serves only EU audiences, hiding the dialog for other countries may not be necessary. For an international project, geo-based logic may improve usability, but it still needs to align with your data processing policy. Do not enable it just because the option exists in the interface.
Practical Example: Analytics and YouTube on a Business Website
Let's walk through a realistic scenario. You have a company WordPress site: a homepage, services pages, a blog, contact pages, several YouTube videos embedded in articles, and Google Analytics running through GTM. The goal is to show a clear dialog, prevent videos and analytics from loading before consent, and then receive correct events in Tag Assistant after consent.
Goal and Preparation
We need three results: the visitor sees the dialog and can accept or reject groups, the YouTube video appears as a placeholder until it is unlocked, and Google Analytics fires through GTM only when the appropriate consent is present. Before starting, remove the old GA code from the theme and verify that GTM is not also being inserted through another plugin.
Setup Steps
- Install and activate Borlabs Cookie, then go through the Setup Assistant in a mode that gives access to explanations and the key settings.
- In the dialog settings, specify the privacy policy and imprint pages, then review the button text and consent groups.
- Run Scanner for the homepage, an article with a YouTube video, the contact page, and several representative blog posts.
- In Library, install the Google Tag Manager package or the GTM4WP package if the site uses that WordPress plugin.
- In the GTM package settings, enter the container ID, decide whether local GTM mode is needed, and enable Consent Mode only after you understand the chosen setup.
- Install the Google Analytics package if analytics should be managed as a service, and disable direct code execution anywhere the code will instead run through GTM.
- Verify Content Blocker for YouTube: without consent there should be a placeholder, and after a click or consent the video should load.
- Clear the WordPress cache, server cache, and CDN cache, then verify the site in a private window.
Verification and One Important Detail
Open the video page without saved consent. The video player should not load immediately. In Tag Assistant, check the Google consent state before any choice is made. Then accept the analytics group and external media, reload the page, and confirm that the video opens and the Borlabs Cookie event is recorded in GTM. If analytics does not fire after accepting the group, check the service ID and the trigger in GTM. If it fires before any choice is made, look for duplicate code.
The key nuance is that GTM Preview may behave differently when the container is loaded locally. The Borlabs documentation warns that testing through Google Tag Assistant may use the regular code path, and container changes must also be saved again in the Borlabs Cookie service so the local copy can pull the published version. So after changing GTM, do not stop at publishing the container: return to the service settings and save them again.
How to Verify the Result After Configuration
Verification should not happen only once after installation. It should also happen after every meaningful change: a new marketing tag, a cache plugin update, a theme switch, a new video, a service group change, or a Borlabs Cookie update. Good verification is built around user states, not around the site owner's impressions.
State Without Consent
Clear the site's cookies or open a private window. Before any consent choice is made, verify that external analytics and advertising scripts that should be blocked are not loading. Embedded videos and maps should show placeholders. The console should not show errors related to a missing Borlabs Cookie configuration file or a broken load order.
State With Partial Consent
Accept only essential and, for example, external media. In this state, the video may open, but analytics should not run if the statistics group has not been accepted. This test matters because many people verify only two edge states: "nothing accepted" and "everything accepted." Errors often hide in the partial-consent state.
State With Full Consent
Accept all groups and verify that the services actually start. If a service still does not start after full consent, the problem may be a disabled package, an incorrect ID, the wrong group, a conflict with GTM, or cache-based blocking. If a service starts under the wrong group, go back to the service and provider structure.
On a cached site, always repeat the verification after clearing the cache. If everything works in a private window but not for a regular user, an old cache may be serving an outdated configuration. If everything works for the administrator but not for a guest, check every cache layer: the WordPress plugin, the server, the CDN, object cache, and JavaScript optimization.
Compatibility With Cache, Themes, and Page Builders
The most frustrating Borlabs Cookie issues rarely look like "the plugin turned off." More often they show up as small symptoms: the dialog does not appear, styles do not update, Content Blocker will not unlock a video, the console shows a JavaScript error, Tag Assistant reports a strange state, and everything temporarily starts working again after clearing the cache. That is why compatibility needs to be checked proactively.
What to Exclude From Optimization
The official Borlabs Cookie recommendation is simple: files with /borlabs-cookie/ in the URL must not be altered by the optimizer. Do not combine them, minify them, delay them, or move them without testing. You should not rely on specific file names because they may change. Use a path-based exclusion instead.
If the cache plugin supports JavaScript exclusions, add a rule for borlabs-cookie. If it supports delayed loading, exclude these files from delay and defer. If a CDN is used, verify that it is not performing its own JavaScript optimization. After changing the rules, clear every cache layer.
Page Builders and Live View
Page builders sometimes redraw blocks, remove and reinsert iframes, change script order, or use live preview behavior. The Borlabs Cookie changelog includes improvements for cases like these, including handling repeated click handlers and compatibility patches. That means if you run into issues with Elementor, Divi, Bricks, Avada, or similar systems, the first thing to check is whether there is an appropriate package or compatibility patch available in Library.
If the issue appears only in editing mode while the public site works correctly, do not rush to disable Borlabs Cookie globally. Check Safe Mode, compatibility patches, and the documentation. Safe Mode can help recover the site if a third-party update or compatibility patch made the admin area inaccessible, but it is a recovery mode, not a permanent setup for normal operation.
Common Borlabs Cookie Problems and How to Diagnose Them
Troubleshooting should move from symptom to cause. Do not change ten settings at once, because then it becomes hard to tell what actually helped. Below are the issues most commonly tied to this kind of product: consent, blocking, cache, GTM, Content Blocker, domain behavior, and migration.
The Dialog Does Not Appear on the Site
Symptom: the plugin is active, but the visitor does not see the dialog. Possible causes: Borlabs Cookie is disabled in the general settings, dialog hiding is enabled for that page, no active services exist, the visitor still has an old saved choice, geo restrictions hide the dialog, or cache is serving an older page version.
Check the plugin status, the list of active services, the Hide Dialog on Pages settings, GeoIP, a private window, and cookie clearing. If Debug Console shows that the URL is in the dialog hide list, the setting needs to be changed. If the dialog should always be visible, verify the corresponding display mode.
Design or Text Changes Are Not Visible
Symptom: you saved new colors or text in the admin panel, but the old version still appears on the site. In most cases, the cause is WordPress cache, server cache, CDN cache, or optimizer cache. Clear all cache layers and verify in a private window.
If the issue keeps coming back, check whether two caching systems are enabled at the same time. For WP Rocket, installing the matching package from Library may require an additional step to clear used CSS, as described in the Borlabs documentation.
JavaScript Error in the Console or Config Fails to Load
Symptom: Debug Console or the browser console shows that the configuration file was not found, loaded in the wrong place, or that Borlabs Cookie scripts were altered. Check your optimizer exclusions: files with /borlabs-cookie/ must not be combined, minified, or moved. After updating the rules, clear the cache.
If IAB TCF is enabled, also verify that borlabs-cookie-tcf-stub.min.js is not delayed or modified. Load order is especially critical for advertising integrations.
Video or Map Does Not Unlock After Consent
Symptom: the placeholder is visible, the user clicks the button, but the content does not appear. Verify that the corresponding Content Blocker is active, that it is tied to the correct service, that another plugin is not altering the iframe, that there are no console errors, and that the browser is not blocking the third-party resource for some other reason.
If the content is embedded through a page builder, try a simple test page with a normal embed. If it works on the simple page, the problem is in the specific builder block or lazy-load behavior.
Analytics Fires Before Consent
Symptom: Tag Assistant or the Network tab shows analytics requests before the visitor has made a choice. Look for a duplicate implementation path: the theme, SEO plugin, a separate analytics plugin, a manual header or footer insertion, or a GTM container that fires the tag without consent conditions.
The fix is usually not to "make the banner stronger," but to remove the extra loading path and keep a single controlled setup through Borlabs Cookie and GTM or through the service package.
Older Blockers Disappear After an Update or Migration
Symptom: after moving from an older version, some services or old shortcodes behave differently. Check the Legacy Importer instructions, the import report, and whether the old IDs match the new ones. In some cases, an old shortcode with a Legacy ID must be replaced; otherwise, the default blocker will be used.
Before migration, create a backup and do not mix manual file replacement with the recommended update process. If the import has already been completed, review the report, the packages list, and the enabled backward-compatibility library. After the old code has been adapted, disable it only after testing.
Safe Improvements Without Editing the Plugin Core
In most Borlabs Cookie setups, aggressive code customization is not necessary. In most cases, it is better to use dialog settings, Library, Content Blocker, documented CSS classes, and official hooks. You should never edit plugin files directly: updates will overwrite your changes and may break the site.
Link for Reopening Settings
The most useful improvement is to add a clear consent settings link in the site footer or on the privacy page. An example using the borlabs-cookie-open-dialog-preferences class appeared earlier. This is a documented approach that does not require custom JavaScript.
Light CSS Styling for the Link
If you need to make the cookie settings link fit the site's style a little better, use the theme's additional CSS or a custom CSS section, not the plugin file itself. The example below does not change consent behavior. It only makes the link more visible:
.borlabs-cookie-open-dialog-preferences {
text-decoration: underline;
text-underline-offset: 0.18em;
cursor: pointer;
}
The verification is straightforward: the link should look different from regular text, open the Borlabs Cookie settings, not overlap other elements, and still be there after clearing the cache. Rollback is simple too: remove the CSS from the theme or custom CSS area.
When Hooks Actually Make Sense
The Borlabs Cookie documentation includes hooks for Script Blocker, Style Blocker, Third-Party Cache Clearer, frontend resources, and other technical tasks. But they should be used only for a specific reason: for example, to change how a third-party cache is cleared, disable Debug Console on the public site, or adjust the behavior of a specific script blocker. If you cannot name the service ID, blocker key, and expected result, it is better not to write the snippet.
For most sites, it is safer to solve the issue through package settings, a cache exclusion, the correct consent group, or a link for reopening settings. Leave code-level customizations to a developer and document where they were added: a child theme, Code Snippets, or a small custom plugin.
Questions That Usually Come Up After the Initial Setup
Can I assume the site is fully compliant just because Borlabs Cookie is installed?
No. The plugin covers the technical layer: the dialog, blocking, services, consent, and verification. Your privacy policy text, legal basis, processing categories, and country-specific requirements still need to be handled separately. Use Borlabs Cookie as an implementation tool, not as a legal guarantee.
Should I enable every package offered in Library?
No. Install packages only for services that are actually used on the site. If a service is not in use, it should not appear in the dialog just because the package exists. After installing a new package, verify that it is active, which group it belongs to, and how the public site behavior changes.
For Google Consent Mode, should I use a ready-made package or GTM?
If you use only Google Analytics or Google Ads without a complex tag structure, it is usually easier to start with the ready-made package. If your marketing setup is already built around Google Tag Manager, use GTM, but configure events, consent variables, and tag firing modes carefully. Do not load the same tag through two different paths.
Why does Borlabs Cookie conflict with cache if it is compatible with cache plugins?
Compatibility does not mean the optimizer can modify any file it wants. Consent and unblocking processes depend on JavaScript. If the cache plugin combines, minifies, or reorders Borlabs Cookie files, errors can happen. Exclude /borlabs-cookie/ from those operations and clear the cache.
Can I use the plugin only for Content Blocker without a full consent dialog?
On some sites, that can make sense if there are no services that require a general dialog but there are external videos or maps that should be revealed only after user action. Review the dialog display settings, Content Blocker configuration, and the legal logic of your site. Do not hide the dialog purely for convenience if the services still require consent.
What should I do if Scanner finds nothing, but I know the site uses analytics?
Check whether you removed the old implementation before scanning, whether analytics runs only for logged-in administrators, whether the code is loaded through GTM, and whether the service is hidden on a page the scanner never visited. Add a specific URL manually and inspect the browser's Network tab.
Do all sites need IAB TCF enabled?
No. IAB TCF is mainly needed for sites that work with advertising vendors and the corresponding ad delivery chain. For a regular site with analytics, forms, and videos, it may be unnecessary. If you work with ad networks, ask the advertising provider for the requirements and configure vendors based on that information.
When Borlabs Cookie Is the Right Choice
Borlabs Cookie is worth using if you need more than a simple banner and want a manageable consent system inside WordPress: a scanner, package library, Content Blocker, Google Consent Mode, TCF for advertising scenarios, dialog settings, Debug Console, compatibility patches, and a reliable way to verify the result after changes. On a more complex site, that combination saves more time than it may seem during the installation stage.
Before you download Borlabs Cookie, prepare a service inventory, decide whether GTM is needed, review your cache plugin, and choose the pages you will use for testing. After installation, do not stop once the dialog appears. Verify behavior with no consent, with partial consent, and after accepting all groups.
If the site is simple and does not use external resources, a lighter solution or a single Content Blocker scenario may be enough. If the site depends on analytics, advertising, video, maps, multilingual support, and regular marketing tag updates, Borlabs Cookie is a strong option. Its real value shows up not in the first click on the button, but in the fact that the setup can be explained, verified, and maintained.


