OpenAds onboarding checklist

A successful OpenAds integration has two parts: the ad server and the auction configuration. Since header bidding trafficking doesn't support OpenAds, you must generate line items in your ad server. Without line items, a bid can win the auction, but it never renders the creative to the end user.

To join an OpenAds auction, you must have a custom oa.js script, distributed by The Trade Desk inventory team. Afterwards, activate and test your script to make sure that the auction can recieve your page events. For details on activation, see OpenAds Activation.

The following checklists walk you through how to request access, test your script, and configure GAM. By the end of onboarding, you're able to add the OpenAds wrapper to your page to send bids to an OpenAds auction.

NOTE: If you are building to a self-serve open-source line item manager, you can skip the following Google Ad Manager (GAM) section.

Configure your ad server (GAM)

If you are using GAM to integrate with the OpenAds wrapper, complete the following checklist items to configure your ad server.

Task Note
Overwrite the BidderCode in the GAM creative for the thetradedesk bidder. If not set, auction wins might lack the impression record in The Trade Desk.
IMPORTANT: This overwrite is not dynamic and must be set per bidder.
Disable your SafeFrame tags or get approval. If your pages have SafeFrame tags, contact your Technical Account Manager for verification.
IMPORTANT: Running creatives inside a SafeFrame tag can prevent reading page-level data signals, affecting performance, creative delivery, and potentially impression counts. Some demand operates fine inside a SafeFrame.
Set the CPM to the reportable value in GAM. If missing, diagnostics can mismatch between GAM and The Trade Desk.
Set your ad server currency and default exchange rates for USD bidding in your price bucket.
Check the cache config includes ext.prebid.cache.bids { returnCreatives: true }. The Prebid Universal Creative is set to handle creatives.

Request access to the OpenAds library

To request access to the OpenAds JavaScript library, provide your Technical Account Manager the following information:

Your account ID assigned to you during onboarding
Your publisher ID
Your supply source ID (SSID). If you were onboarded to OpenPath, this is your OpenPath account ID.
A list of identity providers and modules to support.
A list of currencies to support.
Whether your integration is used alongside an existing Prebid setup.

After approval, you'll receive a unique URL from the OpenAds team, containing your custom OpenAds binary file complete with your requested modules.

Test your OpenAds.js installation

After you have been authorized to use OpenAds, you can onboard your integration by updating the oajs.getConfig() settings. Be sure to set the oa_pb, oa_adid, oa_bidder values, and additionally include oa_uuid if using video formats. Omitting these values results in a blank ad with no wins tracked. For details, see OpenAds script activation examples.

After you add your oajs script, test your page for the events in the following table.

Verification step Event
The OpenAds endpoint is correctly set. Auctions fire to https://openads.adsrvr.org/openrtb2/auction with an HTTP 200 status and populated responses.
The ad units are assigned in the oajs config. Ad units point to only the OpenAds thetradedesk bidder.
The namespace is properly set. The OpenAds library is loaded on your page with the namespace toggled to oajs.
Identity modules are firing signals Identity, first-party data, and consent signals are present on request. For details, see OpenAds User Identity Modules.

Next steps

NOTE: If you're running a second wrapper alongside OpenAds, see also OpenAds Wrapper Synchronization.

Before the final sign-off, The Trade Desk team verifies your OpenAds setup to ensure the following:

After you've completed OpenAds onboarding, see Troubleshooting OpenAds (Coming soon) for a list of FAQs about common integration errors and potential solutions.