Features
Everything Smart Local Google Analytics offers — at a glance.
Consent Management
A complete cookie consent system that blocks all Google tracking until your visitor makes an explicit choice. No scripts load, no cookies are set, and no data leaves your server until the user clicks Accept.
- Accept/decline dialog with clear, customizable messaging
- CSRF-protected form submission prevents replay attacks
- Secure cookies with HttpOnly, Secure, and SameSite flags
- Consent state remembered across visits via configurable cookie lifetime
How consent works in detail | Cookie settings
GA4 & GTM Support
Works with both Google Analytics 4 Measurement IDs (G-XXXXXXXXXX) and Google Tag Manager containers (GTM-XXXXXXX).
- Managed mode — Enter your tracking ID and the plugin injects the correct script automatically after consent
- Legacy mode — Auto-detects existing GA/GTM scripts already in your template and blocks them until consent is given, no code changes needed
Basic setup | Legacy mode details
Local Script Hosting
Download Google's tracking JavaScript to your own server instead of loading it from Google's CDN. Better privacy, faster page loads, fewer external requests.
- Configurable refresh interval to keep the local copy up to date
- Automatic cache management
- Works with both GA4 and GTM scripts
5 Themes + Custom Colors
Five built-in color themes designed to blend with any site, plus a full custom color mode with 12 individually configurable color fields.
| Theme | Style |
|---|---|
| Clean | Light and minimal |
| Midnight | Deep dark blue |
| Forest | Natural green tones |
| Slate | Neutral gray palette |
| Warm | Soft earth tones |
| Custom | You pick every color |
The custom color picker lets you set background, text, button, hover, border, and overlay colors independently for both light and dark mode.
Appearance configuration | Themes & dark mode details
Dark Mode
Automatic OS-level detection ensures the consent dialog matches your visitor's system preference. You can also force light or dark mode regardless of the visitor's setting.
- Auto-detect via
prefers-color-scheme - Force light or force dark overrides
- Separate dark mode color customization for custom themes
4 Positions
Place the consent dialog where it fits your site layout best.
| Position | Description |
|---|---|
| Center modal | Overlay dialog centered on screen |
| Bottom bar | Full-width bar fixed to the bottom |
| Bottom-right | Compact box in the lower-right corner |
| Bottom-left | Compact box in the lower-left corner |
All positions are fully responsive and adapt to mobile screens.
Positions & animations details | Appearance configuration
4 Animations
Smooth entrance animations with automatic respect for the visitor's motion preferences.
- Fade in down
- Fade in up
- Fade in left
- Fade in right
When the visitor has prefers-reduced-motion enabled, the dialog appears instantly without animation.
Positions & animations details
Geo-Detection
Show the consent dialog only to visitors who need it. The plugin uses the browser's Accept-Language header to detect EU/EEA/UK languages — no external API calls, no latency, no third-party dependencies.
- Configurable behavior for non-EU visitors (show consent, auto-accept, or skip entirely)
- Covers all 27 EU member states, EEA countries, and the UK
Accessibility (WCAG 2.1 AA)
The consent dialog meets WCAG 2.1 AA standards out of the box.
- Focus trap keeps keyboard navigation inside the dialog while it's open
- Full keyboard navigation (Tab, Shift+Tab, Enter, Escape)
- Screen reader support with proper ARIA roles, labels, and live regions
- Reduced motion support — animations disabled when the OS preference is set
- Sufficient color contrast across all built-in themes
Security
Privacy-first design with multiple layers of protection.
- HttpOnly cookies — Not accessible via JavaScript, preventing XSS-based cookie theft
- Secure flag — Cookies only sent over HTTPS connections
- SameSite=Strict — Prevents cross-site request forgery via cookie
- CSRF tokens — Form submissions validated with Joomla's token system
- Input escaping — All user-configurable text is properly escaped before rendering
How consent works | Cookie settings
Cookie Control
Fine-grained control over how long consent is remembered.
- Session mode — Consent expires when the browser closes
- Days mode — Set any value from 1 to 365 days
Customizable Content
Make the consent dialog match your brand and legal requirements.
- Custom icon (any icon class supported)
- Custom headline text
- Custom consent message body
- Privacy policy page link with configurable link text
Demo Mode
Install the plugin on a demo site and showcase the consent banner without any real tracking. When enabled, the banner always appears, no cookies are set, and no analytics scripts load. A visible "Demo" badge makes it clear that this is a demonstration. You can also restrict the demo to a single page using the menu item selector.
Multilingual
Ships with English (en-GB) and German (de-DE) translations. Add any language by creating a standard Joomla .ini language file — every string in the plugin is translatable.
Joomla Integration
Built on modern Joomla 4/5/6 architecture with no deprecated APIs.
- WebAssetManager — All CSS and JavaScript loaded through Joomla's asset pipeline
- Dependency injection — Service provider with constructor injection via
services/provider.php - SubscriberInterface — Events registered via
getSubscribedEvents(), not legacy magic methods - Namespace —
Joomla\Plugin\System\Jmggoogleanalyticsdsgvo\Extension