Two CookiePro or OneTrust banners usually require an installation inventory, not CSS that hides one of them. Determine whether the page loads the CMP twice or reinitializes an existing instance. A hidden duplicate can still run scripts and respond to consent events.
Confirm that there are actually two instances
Record the URL, browser state and action that produces the second interface. Does it happen on a full page load, after navigating within the site, or only after reopening preferences?
Inspect the visible elements and script initiators. Two network requests alone do not prove two installations: a loader can request configuration and supporting assets normally. Look for duplicate bootstrap output, conflicting domain-script identifiers or repeated initialization from separate owners.
Inventory every place that can insert the CMP
Check the active consent plugin, header-injection plugin, theme settings, child-theme code and published tag-manager container. Write down the owner and environment for each discovered insertion.
A staging configuration accidentally copied into production needs a configuration correction, not a blanket deletion. Compare the identifiers with the authorized OneTrust environment. Do not expose account credentials or full visitor consent records in the troubleshooting notes.
Installer: One intentional owner. Fresh visit: Expected banner. Returning visit: Saved choice respected. Tags: Approved consent behavior. Explanatory checklist, not a customer test result.
Separate duplicate installation from route handling
If duplication happens immediately, use the browser's initiator information to connect each bootstrap to its owner. On staging, remove only the redundant insertion while keeping the intended one intact.
If a second banner appears only after client-side navigation, inspect the route callback. OneTrust's JavaScript API guidance warns that LoadBanner reintroduces its consent element and duplicate instances can cause UI problems. Its SPA integration guidance should inform the route lifecycle. Do not call a banner-loading method on every click as a universal repair.
Avoid deleting the consent element indiscriminately while its scripts remain active. The installation and lifecycle should agree about who owns initialization and cleanup.
Retest choices, not just appearance
Run a new-visitor check, a returning-visitor check and the navigation sequence that created the duplicate. Then reject optional categories, reopen settings and change the decision using the site's approved consent design.
Confirm the expected tag behavior for each choice. One visible banner is not sufficient evidence that tags honor it. Never set consent to granted in a diagnostic snippet simply to make analytics appear.
If the interface disappears entirely after the change, use the missing CookiePro banner guide. Keep broader product questions on the CookiePro profile, rather than treating installation diagnostics as legal certification.
Document the retained installer and removed duplicate so a future theme or GTM deployment does not restore both. HandL WP can investigate the consent installation across WordPress templates and the actual visitor journey.
References reviewed October 13, 2026. Examples are explanatory, not customer test results.