All notable changes to Addocu will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- 🔍 GTM Unused Variable Detection: Automatically identifies variables not referenced in tags, triggers, or other variables.
- New columns in
GTM_VARIABLES:Usage StatusandUsed By. - Automatic tagging in
Observationsfor unused components.
- New columns in
- 📜 GA4 Change History Audit: New
GA4_CHANGE_HISTORYtab tracking configuration changes (last 30 days).- Identifies "Who, What, When" for audit trails across all properties.
- Formats nested JSON changes into human-readable action summaries.
- 🛡️ Audit Performance: Optimized GTM resource fetching to prevent API timeouts during dependency analysis.
- ✨ PRO Features UI Integration: Enterprise features now fully exposed in configuration sidebar and dashboard.
- Configuration Sidebar (
configuration.html):- New "PRO Intelligence" section with 6 collapsible feature panels
- Smart Discovery - Auto-generates alert rules from BigQuery with confidence threshold control
- Heartbeat Alert - Multi-dimension anomaly detection with sensitivity level adjustment
- Dimensional Health Check - Parameter fill rate validation with configurable thresholds
- Data Inventory - Automated parameter discovery with custom parameter tracking
- User Access Audit - GA4 permissions governance with external admin flagging
- Zombie Hunter - Identifies unused dimensions with configurable inactivity threshold
- Each feature has dedicated "Run Now" buttons, configuration controls, and status display
- Interactive Dashboard (
interactive_dashboard.html):- New "PRO Intelligence" tab with 7 feature cards and overview grid
- Heartbeat Alerts - Shows anomaly metrics (critical/warning counts) with quick access to details
- Dimensional Health Check - Overall health score with progress bar and issue breakdown
- User Access Audit - Total users, external admin count, and property tracking
- Data Inventory & Zombie Hunter - Discovery metrics and cleanup status
- Smart Discovery - Auto-generated alert rules with quick action buttons
- Status overview grid showing all 6 features with enabled/disabled indicators
- All features have quick action buttons to run analyses and view detailed sheets
- Backend Enhancements (
dashboard_functions.js):- Extended
getHtmlDashboardData()with newproFeaturesobject - 7 new metric extraction functions:
getSmartDiscoveryMetrics()- Reads CONFIG_AUDIT sheetgetHeartbeatMetrics()- Reads BQ_ANOMALIES sheet with severity breakdowngetDimensionalHealthMetrics()- Reads BQ_PARAM_HEALTH sheet with health percentagegetDataInventoryMetrics()- Reads BQ_DATA_INVENTORY sheet with custom/new parameter countsgetUserAccessMetrics()- Reads GA4_USER_ACCESS sheet with admin trackinggetZombieHunterMetrics()- Reads BQ_ZOMBIE_HUNTER sheet with status breakdowngetProFeatureLastRun()- Extracts last execution timestamp from LOGS sheet
- All metrics gracefully handle missing sheets with sensible defaults
- Extended
- Configuration Sidebar (
- 📚 Documentation Overhaul: Completely updated readme, security, and maintenance guides for v3.1.0.
- 🏗️ Open Core Model: Refined distribution strategy — source code is always free (Self-Hosted), while Marketplace add-on is supported/paid.
- 🎨 Sheet Tab Coloring: Automatic color-coding of sheets by platform for visual organization (10 distinct platform colors)
- 📊 Historical Tracking System: New HISTORY and ACTIVITY_HISTORY sheets for trend analysis and audit snapshots (60-day retention)
- ✨ Always-On Sheet Creation: Sheets are created even when APIs fail or return no data, with clear error/empty state indicators
- 🎯 Enhanced Error Localization: Actionable, user-friendly recovery guidance built into error messages
- 🎉 Success Modal: Animated completion modal showing total assets, execution time, and quick dashboard access
- 🔧 Simplified Diagnostics: Streamlined connectivity and troubleshooting tools with clearer output
- ✅ Account Verification Tools: Enhanced same-account detection with step-by-step guidance
- 🚀 Service Toggles: Enable/disable individual platforms in configuration sidebar for selective audits
- 🔐 OAuth2 Migration Complete: All services now use OAuth2 exclusively (API keys fully deprecated)
- 📱 Configuration Sidebar Modernized: Redesigned UI with setup progress indicators and platform status display
- 🎨 Dashboard Enhanced: Complete redesign supporting all 10 platforms with historical charts (timeline, heatmap, distribution)
- 🔧 Error Handling System: New recovery modules (auth_recovery.js, permission_recovery.js, account_verification.js, diagnostics.js)
- 📈 Reporting Layer: Dashboard now displays historical KPI trends and asset distribution across all 10 platforms
- 🐛 OAuth2 Token Validation: Improved token refresh and expiration handling
- 🔒 Permission Recovery: Automatic detection and recovery from PERMISSION_DENIED errors
- 📊 Dashboard Data: Fixed inflated metrics showing placeholder values (now shows real data only)
- 🌙 Dark Mode: Eliminated header artifacts and improved visual consistency
- 🎯 Sheet Creation: Fixed GTM container counting to only count containers with actual tags
- 🔒 Enhanced Permission Validation: Better OAuth2 token verification and scoping
- 🛡️ Isolated User Data: Complete data isolation using UserProperties per user
- 🔍 Permission Diagnostics: Safe diagnostic tools that don't expose sensitive data
- 🔑 API Key Support Removed: All services now require OAuth2 authentication only
- 📂 Configuration Migration: Users upgrading from v2.x must re-authorize with OAuth2
- 🌍 OAuth Scope Requirements: 7 new scopes required for new platform integrations
- 🛍️ Google Merchant Center (GMC): Complete audit of Feeds and Product health.
- 🗄️ Google BigQuery: GA4 Export monitoring and enterprise dataset inventory.
- 📰 Google AdSense: Monetization audit for publishers (Accounts, Sites, Ad Units).
- 🚀 10-Platform Suite: Unified orchestration for GA4, GTM, Looker Studio, GSC, YT, GBP, Ads, GMC, BQ, and AdSense.
- 📊 Advanced Analytics Dashboard: Complete KPI coverage and asset distribution for all services.
- 🔧 Unified Diagnostics: Single-click connectivity test for the entire marketing stack.
- 🎨 UI Refinement: Modernized
configuration.htmlfor a more intuitive setup flow. - 📈 Reporting Layer: Enhanced
dashboard_functions.jsto support multi-platform data.
- 🐛 Orchestration: Fixed cross-platform error logging and UI refresh bugs.
- 🛡️ Audit Resilience: Wrapped all platform syncs in try-catch blocks to prevent a single service failure from stopping the entire "Audit Complete Stack" operation.
- 🏪 GBP Quota Detection: Added specific detection and guidance for Google Business Profile 429 (Rate Limit) errors caused by default 0 quota.
- 🔍 Connection Indicators: Corrected real-time status reporting for all APIs.
- 🔧 Permission Recovery System: Enhanced error handling for PERMISSION_DENIED issues
- ⚡ Auto-Recovery Functions: Automatic permission detection and recovery mechanisms
- 🛡️ Enhanced Configuration Management: Robust fallbacks for permission errors
- 🔍 Advanced Diagnostics: Complete permission diagnostics for troubleshooting
- 🚀 Safe Configuration Loading: Enhanced getUserConfig with error-safe fallbacks
- 🎉 Success Modal: Beautiful animated modal after audit completion with stats
- 📊 Execution Metrics: Real-time tracking of audit execution time and results
- 🎯 Dashboard Integration: Direct "View Dashboard" button from success modal
- 📱 Mobile Responsive: Improved mobile experience for configuration sidebar
- 🆘 Authorization Recovery System: Comprehensive solution for permission problems
- 🔄 Auto-Recovery Menu: Automatic recovery menu when permissions are denied
- 🔍 Advanced Diagnostics: Complete system diagnostics for troubleshooting
- 🚨 Emergency Reset: One-click configuration reset for critical situations
- 🛠️ onFileScopeGranted Handler: Automatic setup when permissions are granted
- 🔄 Reorganized Sidebar Flow: Moved "Run Audit" after "Setup Progress" for better UX
- 🧹 Simplified Authentication: Removed unnecessary "Save Configuration" button
- 🔧 OAuth2-Only Setup: Updated messaging to reflect OAuth2 automatic configuration
- ⚡ Enhanced Audit Experience: Better loading states and user feedback
- 🎨 Visual Improvements: Modern modal design with smooth animations
- 🔒 Robust Error Handling: Graceful degradation when UI permissions are missing
- 🎯 Menu System: Smart menu creation with fallback options for permission issues
- 🎨 Dashboard Header: Removed shadows and backdrop blur for cleaner appearance
- 🏷️ Card Icons: Replaced meaningless letter icons with semantic emojis and transparent backgrounds
- 🔍 Logo Visibility: Increased header logo size (32px → 48px) for better brand presence
- 🌓 Logo System: Implemented official Addocu brand logos with theme-aware switching (light/dark)
- 🐛 CRITICAL: Fixed "Some services need authorization" error in sidebar configuration
- 🔒 Permission Errors: Enhanced handling of PERMISSION_DENIED errors with automatic recovery
- ⚙️ Configuration Loading: Fixed sidebar permission errors during initial setup
- 🔧 Function Integration: Connected enhanced permission functions to coordinator.js
- 📱 Sidebar Stability: Improved sidebar resilience to permission and authorization issues
- 🔄 appsscript.json: Updated function references from Spanish to English (abrirSidebarConfiguracion → openConfigurationSidebar)
- 🎨 UX: Improved Looker Studio connection status display in sidebar
- Confusion: Replaced misleading "N/A" status with clear "OAuth2 conectado" message
- UI Clarity: Updated authentication section to reflect OAuth2-only setup
- User Experience: Hidden legacy API key field since all services now use OAuth2
- 🐛 CRITICAL: Fixed "You do not have permission to call Ui.showSidebar" error
- 🔒 Permission Recovery: Automatic detection and recovery from authorization failures
- 🔄 Reinstallation Issues: Proper handling of rejected permissions during setup
- 🌙 Dark Mode: Eliminated header shadows causing visual artifacts in dark theme
- 🏷️ Card Accessibility: Improved card readability by removing redundant emoji descriptions and colored backgrounds
- 🎯 Visual Consistency: Using official Addocu brand assets across all themes
- 🔍 Visual Clarity: Enhanced emoji visibility with larger icons and transparent design
- 📊 Data Accuracy: Removed all hardcoded placeholder values (347 assets, 189 tags, etc.)
- 📈 Header Counting: Verified all sheet counting properly excludes headers with explicit -1 logic
- 🚫 Demo Mode: Replace fake inflated numbers with realistic empty state when no data available
- 📉 Chart Data: Ensure charts show 'No data available' instead of placeholder values
- 🐛 CRITICAL: Fixed dashboard showing inflated metrics when sheets contain only headers
- 📋 Empty Sheet Detection: Implemented strict validation to verify actual data content beyond headers
- 📊 Real Data Verification: Added hasRealData checks to distinguish between empty sheets and sheets with actual audit results
- 🔢 Asset Counting: Fixed totalAssets calculation to only count sheets with genuine content
- 📈 Timeline Charts: Eliminated fake activity data in timeline and heatmap when no real data exists
- 🎯 Container Counting: Fixed GTM container counting to only count containers with actual tags
- 🔒 Enhanced Permission Validation: Better OAuth2 token verification
- 🛡️ Isolated User Data: Complete data isolation using UserProperties
- 🔍 Permission Diagnostics: Safe diagnostic tools that don't expose sensitive data
- 📚 Authorization Troubleshooting Guide: Complete troubleshooting documentation
- 🚪 Recovery Instructions: Step-by-step recovery procedures for common issues
- 🔍 Diagnostic Procedures: Advanced diagnostic tools and interpretation guides
- Google Ads integration
- Google Search Console support
- BigQuery data source analysis
- Enhanced error detection and recommendations
- Multi-language support
- 💰 Google Ads Integration: Complete audit of campaigns, conversion actions, and audiences using GAQL.
- 🏪 Google Business Profile (GBP): Inventory of business accounts and verified locations.
- 🛠️ Clasp Support: Added
.clasp.jsonand.claspignorefor streamlined local development. - 📊 Extended Dashboard: New KPI cards for Ads Conversions/Audiences and GBP Locations.
- 📈 Expanded Charts: "Elements by Tool" now includes Google Ads and GBP data.
- 🚦 Service Toggles: Ability to enable/disable Ads and GBP in the configuration sidebar.
- 🔑 Developer Token Support: New secure input for Google Ads Developer Token.
- Looker Studio API Migration: Google discontinued API Key support, migrated to OAuth2 authentication
- API Keys no longer supported for Looker Studio (automatic migration to OAuth2)
- Users must re-authorize if using older versions
- 🐛 CRITICAL: Fixed "API keys are not supported by this API" error in Looker Studio
- 🐛 CRITICAL: Fixed "Servicio no soportado: lookerStudio" authentication error
- 🐛 CRITICAL: Fixed dashboard generation "columns do not match" error
- Looker Studio endpoint: Updated to correct
/assets:searchendpoint with required parameters - Service name consistency: Resolved lookerStudio vs looker naming conflicts
- Looker Studio authentication: Migrated from API Key to OAuth2 (Google requirement)
- Unified authentication: GA4, GTM, and Looker Studio now all use OAuth2
- Improved error messages: More descriptive OAuth2 and API migration guidance
- Dashboard generation: Refactored header writing to prevent dimension mismatches
- Configuration UI: Updated to reflect OAuth2 migration (API Key field preserved for compatibility)
- Migration documentation: Comprehensive guide for OAuth2 transition
- Enhanced diagnostics: Better OAuth2 validation and troubleshooting
- Backwards compatibility: API Key configurations preserved but ignored
- Improved testing strategy: Comprehensive testing documentation for critical fixes
- OAuth2 scopes: Updated Looker Studio to use
https://www.googleapis.com/auth/datastudio - Endpoint URLs: Corrected Looker Studio API endpoints to match current Google specifications
- Error handling: Enhanced OAuth2 token validation and error reporting
- Service configuration: Unified authentication configuration across all Google services
- Automatic migration: v2.1+ automatically handles OAuth2 transition
- No user action required for existing OAuth2 authorized users
- Documentation: See
docs/LOOKER_STUDIO_OAUTH2_MIGRATION.mdfor detailed migration info
- Enhanced authentication: OAuth2 provides better security than API Keys
- Google Workspace compliance: Meets Google's enterprise security requirements
- Token management: Automatic OAuth2 token renewal and validation
- Initial public release of Addocu Community Edition
- Google Analytics 4 complete audit with properties, custom dimensions, metrics, and conversion events
- Google Tag Manager deep dive with tags, triggers, variables, and version comparison
- Looker Studio census with reports, data sources, and sharing analysis
- Interactive dashboard with visual summary and health checks
- Comprehensive logging system for debugging and audit trails
- Configuration sidebar for API key management
- Connectivity diagnostics for API testing
- Multi-account support for different Google accounts
- Data isolation using PropertiesService.getUserProperties()
- Complete documentation with README, CONTRIBUTING, and guides
- Open source release under CC BY-NC-SA 4.0 license
- Secure API key storage in user properties
- No external data transmission - everything stays in user's Google account
- OAuth 2.0 compliance for authentication
- Comprehensive error handling without exposing sensitive information
- Modular architecture with dedicated synchronization modules
- Error recovery mechanisms for API failures
- Rate limiting to prevent quota exhaustion
- Performance optimization for efficient API calls
- Google Apps Script implementation for seamless Google Workspace integration
- Beta version for community testing
- Core GA4 functionality with basic property auditing
- GTM basic integration for tags and triggers
- Looker Studio initial support for report listing
- Basic dashboard with summary information
- Configuration system for API key setup
- API quota management improvements
- Error handling for missing permissions
- Data formatting inconsistencies
- Improved user interface based on beta feedback
- Enhanced error messages for better user experience
- Optimized API calls for better performance
- Initial proof of concept for Google Analytics 4 auditing
- Basic Google Tag Manager integration
- Simple configuration interface
- Preliminary dashboard functionality
- Alpha version for internal testing only
- Limited functionality compared to final release
- Experimental API integration
Addedfor new featuresChangedfor changes in existing functionalityDeprecatedfor soon-to-be removed featuresRemovedfor now removed featuresFixedfor any bug fixesSecurityfor vulnerability fixes
Each release includes:
- Version number following semantic versioning
- Release date in YYYY-MM-DD format
- Summary of changes organized by type
- Breaking changes clearly marked
- Migration guides when needed
- Known issues if any
- Major versions (2.0.0, 3.0.0) for significant architectural changes
- Minor versions (1.1.0, 1.2.0) for new features and integrations
- Patch versions (1.0.1, 1.0.2) for bug fixes and improvements
- GitHub Repository: Full source code available for cloning and manual deployment.
- Major versions (3.0.0) for significant architectural changes.
- Feature updates (3.1.0) for new diagnostic modules.
- Google Workspace Marketplace: One-click install with automatic updates and priority support.
- Revenue Model: Supports the ongoing development of the open-source core.
- Feature Parity: The open-source core will always remain fully functional and mirror major feature releases.