Skip to content

Teza Bid Adapter: initial release#14093

Closed
vadim-frolov wants to merge 10 commits into
prebid:masterfrom
sepana-io:master
Closed

Teza Bid Adapter: initial release#14093
vadim-frolov wants to merge 10 commits into
prebid:masterfrom
sepana-io:master

Conversation

@vadim-frolov
Copy link
Copy Markdown

Type of change

  • Bugfix

  • Feature

  • New bidder adapter

  • Updated bidder adapter

  • Code style update (formatting, local variables)

  • Refactoring (no functional changes, no api changes)

  • Build related changes

  • CI related changes

  • Does this change affect user-facing APIs or examples documented on http://prebid.org?

  • Other

Description of change

This PR introduces a new Teza bid adapter for Prebid.js with comprehensive support for banner advertising.

Contact Information

Test Parameters

    {
        code: "div-1",
        mediaTypes: { banner: { sizes: [[300, 250]] } },
        bids: [
            {
                bidder: "teza",
                params: {
                    account: "acct123",
                    bidfloor: 0.1,
                    test: true,
                },
            },
        ],
    }

Other information

related prebid.github.io PR: prebid/prebid.github.io#6320

albertbn and others added 9 commits October 8, 2025 10:43
…al tagid

- Fix test parameter to default to 0 (false) instead of 1
- Fix AUCTION_PRICE macro regex by removing dollar sign
- Make tagid optional in isBidRequestValid (only require account)
- Add fallback logic to check tagid in ortb2Imp.tagid and ortb2Imp.ext.gpid

Co-Authored-By: vadim@teza.ai <vadim.frolov@thank-u.org>
@patmmccann
Copy link
Copy Markdown
Collaborator

can you pull master and you should get a reviewer assigned automatic

@patmmccann
Copy link
Copy Markdown
Collaborator

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: db29cbd267

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread modules/tezaBidAdapter.js
tagid: tagid,
secure: 1,
banner: { format: sizesToFormat(sizes) },
bidfloor: bid.params.bidfloor || 0.01,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Honor floors module when setting imp.bidfloor

The adapter sets imp.bidfloor only from bid.params.bidfloor (or a hardcoded default) and never calls bid.getFloor(), so floor rules from the Floors module are ignored. In auctions where publishers enable dynamic floors, this will send stale/too-low floors to Teza and can materially change win rates and revenue behavior.

Useful? React with 👍 / 👎.

Comment thread modules/tezaBidAdapter.js
ext: {
...(ortb2.user?.ext || {}),
consent: bidderRequest?.gdprConsent?.consentString,
eids
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Preserve ortb2 EIDs when bid-level IDs are absent

Writing user.ext.eids from eids here overwrites any ortb2.user.ext.eids merged just above. If publishers provide EIDs through ORTB2 first-party data and the first bid has no userIdAsEids, the request sends an empty EID list and drops identity signals for the entire auction request.

Useful? React with 👍 / 👎.

Comment thread modules/tezaBidAdapter.js
...ortb2.device,
ua: (typeof navigator !== 'undefined' ? navigator.userAgent : ''),
language: (typeof navigator !== 'undefined' ? navigator.language : undefined),
dnt: (typeof navigator !== 'undefined' && navigator.doNotTrack === '1') ? 1 : 0
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep caller-provided device.dnt instead of forcing navigator

This assignment unconditionally recomputes device.dnt from navigator.doNotTrack, overriding ortb2.device.dnt that may be set by the caller. In cases where FPD explicitly sets DNT (or navigator is unavailable), the adapter can emit dnt: 0 incorrectly and send the wrong privacy preference downstream.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

navigator.doNotTrack is deprecated by w3c, you should not be calling it

@patmmccann
Copy link
Copy Markdown
Collaborator

Closing as stale, feel free to resubmit or reopen when you're ready to work on this again

@patmmccann patmmccann closed this Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants