Debugging
Moli provides debugging tools to help you troubleshoot ad tag issues, monitor performance, and inspect configuration. The debugging system includes a debug console and various debugging parameters.
Overview
The debugging system helps you:
- Inspect ad tag configuration and state
- Monitor network requests and responses
- Debug consent and targeting issues
- Analyze ad loading behavior
Enabling Debug Mode
Using Query Parameter
Enable debug mode by adding the moliDebug parameter to your URL:
https://yoursite.com?moliDebug=true
Using Session Storage
Enable debug mode for the current session:
// Enable debug mode for current session
sessionStorage.setItem('moliDebug', 'true');
// Disable debug mode
sessionStorage.removeItem('moliDebug');
Using Local Storage
Enable debug mode persistently across sessions:
// Enable debug mode persistently
localStorage.setItem('moliDebug', 'true');
// Disable debug mode
localStorage.removeItem('moliDebug');
Debug Console
Opening the Debug Console
Use the openConsole method to open the Moli debug console:
// Open debug console
window.moli.openConsole();
Debug Console Features
The debug console provides:
- Configuration Inspector: View current ad tag configuration
- State Inspector: View current ad tag state
- Targeting Inspector: View current targeting values
- Consent Monitor: Check consent state and TCF2 data
Debug Logging
When debug mode is enabled, Moli provides detailed logging:
// Example debug output
[DEBUG] AdPipeline Ad slot configured for content_1
[INFO] GAM Ad request sent to /1234/content_1
[WARN] Prebid Bid timeout for slot content_1
[ERROR] AdPipeline Failed to load ad for content_1
Log Sources
Debug logs are categorized by source:
- AdPipeline - Ad loading and processing pipeline
- GAM - Google Ad Manager operations
- Prebid - Header bidding operations
- MoliGlobal - Global ad tag operations
- AdVisibilityService - Ad visibility tracking
- UserActivityService - User activity monitoring
Test Environment
You can enable the test environment to enable test creatives that are rendered without any ad requests.
This is useful for
- initial integration checks
- size config validation
- correct ad slot placement on the page
You can permanently enable the test mode, e.g. in staging environments through the configuration like this.
const moliConfig: Moli.MoliConfig = {
environment: 'test',
slots: [ /* ... */ ]
};
// No real ad requests are made
Debug Console Integration
Custom Debug Path
You can specify a custom path for the debug console script:
// Open debug console with custom path
window.moli.openConsole('https://custom-debug-path.com/debug.js');
Debug Console Events
The debug console provides real-time updates:
- Configuration changes
- Ad loading events
- Error occurrences
Best Practices
Temporary Debugging
// ✅ Good - Enable debug mode temporarily
localStorage.setItem('moliDebug', 'true');
// Debug your issue...
// Disable when done
localStorage.removeItem('moliDebug');
// ❌ Avoid - Leave debug mode enabled in production
localStorage.setItem('moliDebug', 'true'); // Always enabled
Debug Console Usage
// ✅ Good - Open console after configuration
window.moli.que.push(function(moliAdTag) {
moliAdTag.configure(config);
moliAdTag.openConsole(); // Open after configuration
moliAdTag.requestAds();
});
// ❌ Avoid - Open console before configuration
window.moli.openConsole(); // May not work properly
API Reference
Available Methods
openConsole(path?)- Open the Moli debug console
For detailed API documentation, see the MoliTag API reference.
Debug Parameter
The moliDebug parameter can be set via:
- Query parameter:
?moliDebug=true - Session storage:
sessionStorage.setItem('moliDebug', 'true') - Local storage:
localStorage.setItem('moliDebug', 'true')
When enabled, detailed logging will be output to the console and the debug console will be available.