A Practical Guide to Prebid Real-Time Data (RTD) Submodules for Publishers

Managing data in Prebid-powered header bidding can quickly turn complex, especially when trying to coordinate multiple data sources for targeting or bid enrichment. The Real-Time Data (RTD) infrastructure in Prebid gives publishers a unified way to integrate and control these data sources.
This guide breaks down what RTD submodules are, how they interact with your ad stack, and the practical steps for adopting or building one. With clarity and a focus on publisher needs, we’ll demystify RTD modules so your teams can use them effectively and avoid common headaches.
Understanding Prebid RTD Submodules: The Publisher’s Perspective
Prebid’s Real-Time Data (RTD) framework acts as an extensible middle layer for handling data used in auctions. Instead of dozens of advertising modules each bringing their own config quirks, the RTD core module standardizes how data partners or in-house logic can contribute to your ad auction pipeline.
What RTD Submodules Do
RTD submodules provide ways to enrich bid requests, add targeting for your ad server (like Google Ad Manager), or respond to auction events. Example scenarios include bringing in contextual signals from a 3rd party, appending first-party data for certain bidders, or setting custom key values for analytics.
Benefits of the RTD Architecture
• Centralized config via pbjs.setConfig({ realTimeData })
• Easy management of auction priorities and timeouts
• Consistent passing of privacy parameters (GDPR, CCPA, COPPA)
• Plug-and-play format: disable or swap submodules without deep code changes
How RTD Submodules Fit Into Your Header Bidding Workflow
RTD submodules are not isolated add-ons: they plug into critical phases of the header bidding life cycle. Understanding their placement helps publishers set expectations and debug issues efficiently.
RTD in Auction and Targeting Flows
• At auction start, the RTD-core initializes all configured submodules.
• During auction prep, submodules can enrich the bid request with first-party or contextual data.
• At auction end, submodules can provide targeting data for GAM or other ad servers, ensuring correct key-values reach each ad slot.
Practical Example: GAM Key-Value Injection
Suppose you work with a custom intent data provider. An RTD submodule brings data at the right moment, populating a key like ‘user_intent’ on your ad slots just before Prebid calls `setTargetingForGPTAsync()`. You set a 100ms timeout for the module—if it doesn’t return data in time, your auction isn’t blocked.
Technical Foundations: Building and Integrating an RTD Submodule
Whether integrating a partner module or developing your own, it’s important to understand the RTD submodule structure, lifecycle hooks, and consent compliance.
Submodule Structure and Lifecycle
A well-formed RTD submodule exports an object describing its name, initialization logic, and the functional hooks it implements (e.g., getBidRequestData, getTargetingData). Only the hooks required for your use case need to be implemented. Each method receives auction config, privacy/compliance info, and ad unit/bid request data where appropriate.
Privacy and Consent
RTD modules automatically get passed GDPR, US Privacy (CCPA), and COPPA consent objects—so your code doesn’t need to fetch consent status separately. Direct access to cookies or localStorage is discouraged; use Prebid’s StorageManager instead for all client storage operations.
Best Practices for Publishers and Developers
• Always set reasonable timeouts—prefer millisecond values under 100 to keep page latency in check.
• Determine whether data should enrich bid requests, targeting, or both.
• If building your own module for unique data, ensure it’s well-documented and adheres to Prebid’s structure for easier future upgrades and troubleshooting.
Common Missteps and Real-World Troubleshooting Tips
While the RTD framework streamlines the integration of data flows, pitfalls can still arise. Recognizing them early can save significant debugging time.
Mistakes Publishers Make
• Allowing modules to run with unlimited timeouts, causing auction delays and lost revenue
• Not aligning key-value formats with ad server expectations—resulting in missed targeting
• Overlapping or conflicting RTD modules targeting the same slots or keys
How to Fix and Avoid Issues
• Regularly audit all active RTD modules and ensure each has a specific purpose
• Use Prebid’s debugging logs to verify data flow at each auction phase
• Test with GAM and verify targeting is applied as expected
What this means for publishers
For publishers, integrating RTD submodules means greater efficiency, control, and scalability across your programmatic stack. You can unify disparate data sources, prioritize which data is critical for your auctions, and ensure compliance with privacy laws—all without refactoring your core header bidding logic. Proper management of RTD modules minimizes latency risk and maximizes data-driven monetization opportunities.
Practical takeaway
Adopting Prebid’s Real-Time Data submodules gives publisher teams crucial levers to shape their monetization strategy. Start by auditing which data signals (contextual, first-party, vendor-supplied) are worth integrating, then select or build RTD submodules that serve those intentions with strict timeout and targeting discipline.
Implement clear documentation and unit testing for any in-house modules, and institutionalize periodic reviews to ensure no unneeded modules linger in your workflow. Always coordinate with your ad server (e.g., GAM) team to verify key-value compatibility and test end-to-end data flow before changes go live. This balanced approach ensures your real-time data efforts always serve your bottom line, not undermine it.