AdTech QA checklist
Turn integration behavior into repeatable test coverage.
Publisher operations
Find where a header bidding integration stops before changing configuration.
Skills Labs Tech editorial · Updated 30 September 2026 · 7 min read · Educational examples
Choose one page, one slot, and one browser session. Record the environment, consent state, supported sizes, and exact time. Open the network and console panels before the auction begins. Preserve the trace, but redact identifiers and personal data before sharing it. A reproducible case is more useful than a screenshot of a blank placement.
If no bidder request is sent, first inspect the loaded Prebid build, adapter availability, ad unit configuration, and invocation of the auction. If a request is sent but no valid bid arrives, inspect the bidder response, latency, inventory configuration, and eligibility. A no-bid can be a legitimate buying decision; it does not automatically mean the adapter is broken.
A successful header auction does not ensure that the selected creative renders. Inspect the targeting applied to the slot and compare the generated price bucket with the ad server line item setup. Prebid documentation explains that bids round down into configured buckets. A mismatch between bucket generation and targeting can leave otherwise valid demand unable to compete.
Do not increase the timeout simply because one request was slow. Compare response distributions, page latency, and revenue outcomes over an appropriate sample. Ensure the ad server request waits for the intended auction callback and runs once. A duplicate call can create misleading totals and complicate attribution. Test on both fast and constrained connections.
Capture the failing stage, expected behavior, observed behavior, and smallest configuration change that resolves it. Verify the same slot after the fix, then cover another size and consent condition. Retain an anonymized trace as a regression fixture. Avoid running repeated live ad clicks or treating test traffic as a monetization strategy.
Prebid troubleshooting. Product behavior depends on the version and integration; check the documentation used by your implementation.
A reproduction brief should name the public page or sandbox route, the affected placement, the integration version, and the expected result. Include the browser, viewport, consent condition, and whether extensions were active. Record a timestamp with timezone so logs can be compared without guessing. Describe whether the placement is always blank or fails intermittently. Save a sanitized network trace when permitted. Avoid putting secrets, full audience records, or partner credentials into the brief. The goal is to let another operator recreate the same opportunity and follow the same sequence, rather than merely confirm that a screenshot contains an empty rectangle.
Confirm the bidder adapter is part of the build actually loaded by the page. A configuration mentioning an adapter does not make the adapter available. Compare the ad unit code used in configuration with the slot being requested. Check the intended media types and dimensions against the opportunity. Review partner parameters using the partner’s own documentation, because a structurally valid parameter object may still reference the wrong account or inventory. Only after these basics are correct should response latency become the primary investigation. Measuring the speed of an incorrectly configured request will not explain why the partner considers it ineligible.
A browser waterfall can show that a request began late or took a long time, but it does not automatically identify the cause. Compare script loading, auction start, bidder dispatch, bidder completion, targeting assignment, and the ad server call. If the auction starts after an unrelated page dependency, changing the bidder timeout may not help. Repeat the observation under controlled conditions before drawing conclusions from a single slow session. Separate blocked requests from completed requests with no bids. The difference determines whether the next useful step is a browser or network investigation, a configuration review, or a discussion with the buyer.
Use a synthetic winning bid to follow the generated targeting value into the ad server configuration. Check that the relevant line item accepts the size and targeting combination used by this slot. A line item matching a price key but excluding the slot’s dimensions may still be ineligible. If the price bucket is rounded down, compare against the rounded value, not the original bid amount displayed in a bidder response. Inspect the documented setup for the version you use rather than copying another publisher’s naming conventions. Different integration patterns can use different keys and creatives, even when their broad purpose is similar.
Create a short experiment record before changing configuration. State the problem, proposed change, expected observation, and rollback condition. If you alter timeout, size mapping, and partner parameters together, a successful render will not tell you which adjustment mattered. Use a sandbox and approved test creatives whenever possible. Repeat a successful case as well as the failing case to detect regressions. A good experiment may conclude that the original hypothesis was wrong. That is valuable evidence: it reduces the search space and keeps the team from preserving an unnecessary configuration change merely because it was introduced during an incident.
After a bid wins, investigate whether the selected creative can load its required resources and execute within the intended environment. Inspect secure-resource requirements, browser restrictions, frame behavior, and console errors. Do not assume a problem is in the auction simply because the final placement is blank. A controlled test creative can help isolate the delivery path from a particular creative’s behavior. Be careful when replacing production creatives, because the replacement may alter demand or commercial reporting. Document the test environment clearly so another operator does not mistake synthetic activity for a normal campaign result or use it to estimate actual monetization.
Send the partner a focused account of what happened at their boundary. Include the sanitized request identifier, time, expected inventory configuration, response status, and relevant latency observation. Explain what was already ruled out and what confirmation you need from them. For an internal escalation, identify the failing stage and include a repeatable fixture. A broad message saying that bids are missing requires the recipient to restart the investigation. A focused message asking whether a particular inventory mapping was eligible during a specific request gives them a concrete question to answer and makes the eventual fix easier to verify.
Apply this guide with anonymized fixtures. Add your own verified operational examples when documenting a real integration.