The Transfon Security RTD module checks every page view for bots and invalid traffic before the auction, tells your bidders and ad server, and can stop bid requests for invalid traffic.
The module is being submitted to the Prebid.js project. Until it is part of a Prebid.js release, contact us for a Prebid.js build that includes it.
Step 1
Before the auction, the module asks Transfon Security whether the visit is a real person or invalid traffic, such as a bot or automated browser.
Step 2
Every bidder receives tss_qs in the first party data, and your ad server receives tss_qs as a key-value, so demand partners and your own line items can act on it.
Step 3
Optionally, the module removes all bid requests for page views marked invalid or matching your project's block rules, so bots never reach your demand partners.
Step 4
Your Transfon Security dashboard shows how much of your Prebid traffic is invalid, and why: bots, automated browsers, data centers and more.
abcdef1234.gulp build --modules=rtdModule,transfonSecurityRtdProviderpbjs.setConfig({
realTimeData: {
auctionDelay: 500,
dataProviders: [{
name: 'transfonSecurity',
waitForIt: true,
params: {
licenseId: 'YOUR_LICENSE',
blockIvt: false
}
}]
}
});| Name | Type | Description | Default |
|---|---|---|---|
| name | String | Must be transfonSecurity | |
| waitForIt | Boolean | Wait for the verdict, up to auctionDelay, before the auction starts | false |
| params.licenseId | String | Your Transfon Security project license (required) | |
| params.blockIvt | Boolean | Remove all bid requests when tss_qs is 0 or the page view matches the project's block rules | false |
| params.timeout | Number | Verdict timeout in milliseconds | 1000 |
| Where | Key | Values |
|---|---|---|
| Bidders (all, including Prebid Server) | ortb2.site.ext.data.tss_qs | 1 valid traffic, 0 invalid traffic |
| Ad server targeting, per ad unit | tss_qs | "1" or "0" |
tss_qs with the values 0 and 1.tss_qs first to see how much of your inventory is invalid traffic.pbjs.setTargetingForGPTAsync() sends tss_qs with the other Prebid keys. No extra code.
Prebid's GAM video module adds tss_qs to cust_params when it builds the VAST URL, as long as you pass the ad unit to buildVideoUrl.
pbjs.setTargetingForAst() sends tss_qs with the other Prebid keys. No extra code.
Equativ, Adform, Kevel, Adnuntius, FreeWheel or an in-house ad server: read tss_qs from pbjs.getAdserverTargeting() and pass it the same way you pass the hb_ keys.
If Prebid renders the winning ad directly, the key-value is not used. Bidders still receive tss_qs, and blockIvt stops bid requests for invalid traffic.
pbjs.requestBids({
bidsBackHandler: function () {
var targeting = pbjs.getAdserverTargeting();
// targeting['div-1'].tss_qs is "1" or "0"
// pass it to your ad server with the hb_ keys
}
});The RTD module is the quickest way to protect Prebid auctions: it needs only a Prebid build and a config change. The Transfon Security tag adds browser checks and protects the whole site, not just the auction. You can run both: each visit is still checked and counted once.
Already running the tag? Add data-prebid="signal" to it and the tag sends tss_qs to bidders and Google Ad Manager without any Prebid change, or data-prebid="block" to also skip bid requests for invalid traffic.
The module runs in Prebid.js in the browser. For AMP pages, apps and server to server setups, use the tag or the Transfon Security API.
It is a Prebid.js Real-Time Data provider, transfonSecurity, that checks each page view for invalid traffic before the auction. It passes the result to bidders as site.ext.data.tss_qs and to the ad server as the tss_qs key-value, and can stop bid requests for invalid traffic.
Create a key named tss_qs with the values 0 and 1, then target your line items with "tss_qs is not 0". Page views without a verdict carry no key and keep serving, so real visitors are never blocked by a slow response.
The auction is never held up. If the verdict does not arrive within auctionDelay, the auction runs as normal, so real visitors always see ads.
Yes. Bidders receive tss_qs whatever ad server you use, and blockIvt works in every setup. Xandr AST picks up the key-value automatically, and other ad servers can read it from pbjs.getAdserverTargeting().
No. The module works on its own. If you already run the Transfon Security tag, you can get the same protection without changing your Prebid build by adding one attribute to the tag.
The module follows your consent setup in Prebid. Data is reported only when consent allows it, cookies are used only with consent, and invalid traffic is still detected without them.
Give your demand partners a clean signal on every page view and keep invalid traffic out of your auctions and your ad server.
Privacy, security, monetization, and performance insights. A few emails a month, no spam.