Загружать GPT и ставки параллельно
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Обзор
В ходе этого аудита проверяется, откладываются ли запросы назначения ставок в заголовке до загрузки библиотеки тегов издателя Google (GPT). В большинстве случаев эти запросы не зависят от GPT и могут выполняться параллельно с загрузкой библиотеки для ускорения загрузки рекламы.
Рекомендации
Убедитесь, что запросы ставок в заголовке не ждут googletag.pubadsReady()
или googletag.cmd.push()
.
Пример Prebid.js
Неправильный | window.pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
window.googletag = window.googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
// Incorrect: Making bid requests dependent on GPT loading.
pbjs.que.push(function() {
pbjs.requestBids({
bidsBackHandler: handleBidResponse
});
});
}); |
Правильный | window.pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
// Correct: Making bid requests independent of GPT loading.
pbjs.que.push(function() {
pbjs.requestBids({
bidsBackHandler: handleBidResponse
});
});
window.googletag = window.googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
}); |
Список поддерживаемых рекламных бирж и платформ на стороне предложения, которые оценивает этот аудит, можно найти в нашем репозитории GitHub .
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-25 UTC.
[null,null,["Последнее обновление: 2025-07-25 UTC."],[[["\u003cp\u003eThis audit checks if header bidding requests are delayed until the Google Publisher Tag library loads, potentially slowing down ad loading.\u003c/p\u003e\n"],["\u003cp\u003eIt's recommended to make header bidding requests independent of GPT loading to improve performance.\u003c/p\u003e\n"],["\u003cp\u003eYou can make your header bidding requests independent of GPT by ensuring they don't wait for \u003ccode\u003egoogletag.pubadsReady()\u003c/code\u003e or \u003ccode\u003egoogletag.cmd.push()\u003c/code\u003e, as demonstrated in the Prebid.js example.\u003c/p\u003e\n"],["\u003cp\u003eA list of supported ad platforms evaluated by this audit is available on the project's GitHub repository.\u003c/p\u003e\n"]]],["The audit checks if header bidding requests are unnecessarily delayed by waiting for the Google Publisher Tag (GPT) library to load. Header bidding requests should be independent of GPT to speed up ad loading. Avoid using `googletag.pubadsReady()` or `googletag.cmd.push()` to trigger bid requests. The correct approach, exemplified with Prebid.js, is to initiate `pbjs.requestBids` outside of the `googletag.cmd.push()` function, making the bid requests run in parallel to GPT loading.\n"],null,["# Load GPT and bids in parallel\n\nOverview\n--------\n\nThis audit checks whether or not header bidding requests are deferred until the\nGoogle Publisher Tag (GPT) library loads. In most cases, these requests are not\ndependent on GPT and can be made in parallel with the library being loaded to\nspeed up ad loading.\n\nRecommendations\n---------------\n\nEnsure that header bidding requests do not wait on `googletag.pubadsReady()` or\n`googletag.cmd.push()`.\n\n### Prebid.js Example\n\n|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Incorrect** | ```javascript window.pbjs = pbjs || {}; pbjs.que = pbjs.que || []; window.googletag = window.googletag || {}; googletag.cmd = googletag.cmd || []; googletag.cmd.push(function() { googletag.pubads().disableInitialLoad(); // Incorrect: Making bid requests dependent on GPT loading. pbjs.que.push(function() { pbjs.requestBids({ bidsBackHandler: handleBidResponse }); }); }); ``` |\n| **Correct** | ```javascript window.pbjs = pbjs || {}; pbjs.que = pbjs.que || []; // Correct: Making bid requests independent of GPT loading. pbjs.que.push(function() { pbjs.requestBids({ bidsBackHandler: handleBidResponse }); }); window.googletag = window.googletag || {}; googletag.cmd = googletag.cmd || []; googletag.cmd.push(function() { googletag.pubads().disableInitialLoad(); }); ``` |\n\nMore information\n----------------\n\nThe list of supported ad exchanges and supply side platforms this audit\nevaluates can be found in\n[our GitHub repository](https://github.com/googleads/publisher-ads-lighthouse-plugin/blob/HEAD/lighthouse-plugin-publisher-ads/utils/bidder-patterns.js). \n[View audit source](https://github.com/googleads/publisher-ads-lighthouse-plugin/tree/HEAD/lighthouse-plugin-publisher-ads/audits/gpt-bids-parallel.js) [Improve this article](https://github.com/googleads/publisher-ads-lighthouse-plugin/tree/HEAD/docs/audits/gpt-bids-parallel.md) [Report an issue](https://github.com/googleads/publisher-ads-lighthouse-plugin/issues/new?labels=documentation&template=documentation-feedback.md&title=Documentation+feedback%3A+gpt-bids-parallel.md)\n\n\u003cbr /\u003e"]]