What is Prebid Timeout and how to optimize it?
Understanding and managing Prebid timeout settings is crucial for any publisher looking to maximize ad revenue without compromising the user experience. Prebid.js, a popular header bidding solution, allows publishers to control how long they wait for bids from advertisers before the ad server is called. This setting, known as the Prebid timeout, can significantly influence both your website’s performance and its ability to generate revenue.
What Is Prebid Timeout?
Prebid timeout determines the maximum duration Prebid.js will wait for bids from demand partners during the auction process. This duration is crucial because it directly impacts page load times and ad revenue. A longer timeout might increase revenue by receiving more bids, but it can also slow down your site, negatively affecting user experience and potentially your SEO. Conversely, a shorter timeout ensures quicker page loads but might result in lower ad revenue due to fewer bids being collected.
What reasons for Prebid Timeout?
- Enhances Site Performance
- Controls Ad Latency
- Maintains Content Integrity
- Fair Competition Among Bidders
- Efficiency in Bidding
- Customizable Settings
- Real-Time Adjustments
- Provides Valuable Insights
Why Is It Important?
The right Prebid timeout setting helps ensure that your ad auctions complete in time to contribute to your site’s overall loading speed while maximizing the opportunity to increase ad revenue. It’s about finding the right balance that fits your specific audience and traffic patterns.
Implementing and Adjusting Prebid Timeout
Implementing the right Prebid timeout involves not just setting a number but continuously adapting to changing conditions and demand partner performance. Regular monitoring and adjustments based on detailed performance analytics will help you stay aligned with both market conditions and technology trends.
Basic Setup for Prebid Timeout
First, let’s assume you have Prebid.js already integrated into your webpage. Here’s how you can set a specific timeout for the bidding process:
Step 1: Configure Prebid.js with Timeout
When initializing your Prebid.js setup, you need to set the bidderTimeout
parameter. This parameter specifies the maximum amount of time in milliseconds that the system will wait for all bidders. Here’s a basic example:
var pbjs = pbjs || {}; pbjs.que = pbjs.que || []; pbjs.que.push(function() { pbjs.setConfig({ bidderTimeout: 700, // Timeout in milliseconds debug: true, // Enables debugging, helpful for development }); var adUnits = [ // Define your ad units here { code: 'div-gpt-ad-123456789-0', mediaTypes: { banner: { sizes: [[300, 250], [300,600]] } }, bids: [ { bidder: 'appnexus', params: { placementId: '12345678' } } ] } ]; // Add ad units to Prebid pbjs.addAdUnits(adUnits); // Request bids and add the ad server code pbjs.requestBids({ bidsBackHandler: function(bidResponses) { // This function will be called when all the bid responses are back goAdServer(); } }); }); function goAdServer() { if (pbjs.adserverRequestSent) return; pbjs.adserverRequestSent = true; // Assume DFP GPT integration googletag.cmd.push(function() { pbjs.que.push(function() { pbjs.setTargetingForGPTAsync(); googletag.pubads().refresh(); }); }); }
Explanation:
pbjs.setConfig
: This function is used to set global configuration options for Prebid.js.bidderTimeout
: This is set to 700 milliseconds in the example. Adjust this value based on your needs and observations about bidder response times.adUnits
: This array contains the definitions of all the ad units you want to auction. Each ad unit can have multiple bids from different bidders.requestBids
: This function initiates the auction with the defined ad units.bidsBackHandler
: A callback function that is executed once all bids are returned or when the timeout expires.
Best Practices for Prebid Timeout
1. Start with the Default Setting
Prebid.js comes with a recommended default timeout setting, typically around 1000-2000 milliseconds. Starting with this default provides a baseline from which you can adjust based on your specific performance and revenue needs.
2. Understand Your Ad Partners’ Latency
- Monitor Latency: Regularly analyze the response times of your demand partners. Identify any partners that consistently have high latency and may not respond within the desired timeout window.
- Optimize Partner Selection: Consider limiting or removing high-latency partners from your setup, or adjust their weights in the bidding process to prioritize faster partners.
3. Conduct A/B Testing
- Test Different Timeout Settings: Implement A/B testing to experiment with different timeout settings. Observe how changes affect both ad revenue and site performance metrics such as page load times and user engagement.
- Analyze Results: Use analytics tools to gather data and evaluate the impact of different settings. This data-driven approach will help you find an optimal balance between revenue and user experience.
4. Adjust Based on Content Type and User Engagement
- Content Sensitivity: If your website features content that users interact with immediately upon page load (like videos or interactive tools), consider a shorter timeout to ensure a faster experience.
- User Behavior: Websites with longer user sessions or where users scroll extensively may benefit from a slightly longer timeout, allowing more time for bids to be collected as users engage with the content.
5. Segment by Device Type
- Mobile vs. Desktop: Mobile users often expect faster load times and may have less patience for delays. Consider using a shorter timeout for mobile devices to enhance mobile user experience.
- Connection Type: Adjust timeout settings based on the user’s connection type (e.g., 4G vs. WiFi). Users on faster connections can handle slightly longer timeouts without a noticeable impact on experience.
6. Implement Progressive Loading Strategies
- Above-the-Fold First: Prioritize loading ads that are above the fold or in the main viewport first with a shorter timeout. This ensures that primary content loads quickly.
- Below-the-Fold Flexibility: Allow a longer timeout for ads that appear below the fold, as these are less critical to the initial user experience.
7. Use Real-Time Data for Dynamic Adjustments
- Dynamic Timeout Adjustment: Some advanced setups allow for real-time adjustments to timeout settings based on current site load, user behavior, or other real-time data. This can help dynamically optimize ad loading to suit varying conditions.
8. Regularly Review and Update Settings
- Continuous Optimization: Digital environments and ad tech landscapes are constantly changing. Regularly review your Prebid setup and timeout settings to ensure they remain effective and relevant.
- Stay Informed: Keep up with updates and best practices from the Prebid community and other industry sources to ensure you’re using the most effective strategies.
Adjusting Prebid Timeout on PubPower Easily
- Sign into PubPower
- Go to SETUP -> Supply -> Domain Setup -> CONFIG
- Change prebid timeout
What Publishers Should Know?
Many publishers overlook fine-tuning their Prebid.js timeout, as it requires careful monitoring and testing to optimize. Typically, publishers set their timeout between 1000ms and 2000ms, and often, this range suffices.
However, dedicating time to identify the optimal timeout duration can significantly enhance both your revenue and user experience. Even if you’re utilizing a third-party header bidding wrapper, it’s crucial to ensure that it properly prioritizes the Prebid.js timeout.