Real, enforced cookie consent for WordPress — not just a banner.
Most consent plugins show a notice and call it compliance. LG Consent Banner Toolkit Standard actually STOPS third-party scripts from running until your visitor opts in, then synchronizes that choice with Google Consent Mode v2, records it in an anonymized consent log, and deletes the cookies again the moment a visitor revokes consent. Standard is the edition that turns a notice into real compliance. It adds the script-blocking engine and granular consent categories that prevent tracking until the visitor agrees — with full control over how the banner looks and behaves. It’s fast and self-contained: zero frontend dependencies (no jQuery, no Google Fonts, no external calls), GDPR/CCPA-ready, accessible, and friendly to page-caching plugins. Best for site owners and developers who need consent genuinely enforced, with full control over the banner’s look and behavior.
FEATURES
BANNER
- Customizable consent banner with 4 position options: bottom bar, bottom-left card, bottom-right card, or modal.
- Accept / Manage / Reject consent flow (plus simple accept-all). Fully editable text — heading, body (HTML allowed), three button labels, and a “Save Preferences” label.
- Re-open preferences button that stays in the corner of every page after the visitor has interacted with the banner once.
- Privacy policy page dropdown plus two extra footer link slots.
CONSENT CATEGORIES
- Four consent categories: Necessary, Analytics, Marketing, and Preferences. Necessary cookies are always on.
- Per-category custom names and descriptions.
- Per-category opt-in defaults.
SCRIPT BLOCKING (two tiers)
- Soft block — dequeues registered WordPress script handles before consent. Works for anything enqueued with wp_enqueue_script().
- Hard block — rewrites matching <script src=”…”> tags in the HTML output to type=”text/plain” so the browser ignores them. Catches scripts the soft tier misses (theme <script> tags, plugin templates, etc.).
- Re-enabling happens client-side once the visitor consents — no page reload.
- Sensible defaults pre-populated for Google Analytics, Google Ads, Facebook, and other common services.
COOKIE DELETION ON REVOKE
- Name-list and wildcard support (e.g. _ga_*). When a visitor revokes a category, the corresponding cookies are deleted client-side from the root and subdomain variants.
APPEARANCE
- Full color customization — 13 color properties, each a CSS custom property, including overlay alpha.
- Border style options.
- Live admin preview — changes preview instantly on the settings page before saving.
GOOGLE CONSENT MODE v2
- Emits gtag(‘consent’, ‘default’, { … }) with all categories denied before any tag fires, then gtag(‘consent’, ‘update’, { … }) when the visitor responds.
- Compatible with GA4, Google Ads, and GTM.
- “External GCM handler” toggle for sites where another plugin (e.g. Site Kit) already wires up Consent Mode.
DEVELOPER INTEGRATION
- JavaScript public API:
- LGConsentBannerToolkit.hasConsent(‘analytics’) — check from your scripts
- LGConsentBannerToolkit.onConsent(‘marketing’, fn) — run code on consent
- LGConsentBannerToolkit.onRevoke(‘preferences’, fn) — react to revocations
- LGConsentBannerToolkit.openSettings() — open the modal in code
- DOM events dispatched on document: lgcbt:consent, lgcbt:revoke, lgcbt:updated.
CONSENT LOG
- 30-day consent summary statistics.
- Every Accept/Reject/Save/Revoke is recorded with an anonymized hash of the IP and user-agent (per-install rotating salt — the IP itself is never stored), a session token, the granted categories, the action, and a timestamp.
- Daily WP-Cron purge.
PERFORMANCE & COMPATIBILITY
- Zero frontend dependencies — no jQuery, no Font Awesome, no Google Fonts, no analytics. The frontend script is plain ES5.
- Caching-plugin friendly — hard block works with all page caches; soft block requires varying on the lgcbt_cats cookie.
ACCESSIBILITY & INTERNATIONALISATION
- role=”region”, role=”dialog”, aria-modal, aria-labelledby, keyboard navigation (Escape closes the modal), and CSS toggle switches with proper labels.
- Every visible string runs through __() / _e(). A .pot file ships in languages/. Banner strings are also directly editable in the admin.
UPDATES & SUPPORT
- WordPress-native auto-updates direct from the licence server — no manual zip uploads.
- Community support.