Skip to content

New bid adapter: Engerio#14926

Merged
patmmccann merged 9 commits into
prebid:masterfrom
david-thinkeasy:engerio-adapter
Jun 15, 2026
Merged

New bid adapter: Engerio#14926
patmmccann merged 9 commits into
prebid:masterfrom
david-thinkeasy:engerio-adapter

Conversation

@david-thinkeasy

@david-thinkeasy david-thinkeasy commented May 19, 2026

Copy link
Copy Markdown
Contributor

Type of change

  • New bidder adapter

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

Yes - docs PR here: prebid/prebid.github.io#6576

Description of change

New bidder adapter: Engerio

Contact e-mail: info@thinkeasy.cz or david@thinkeasy.cz

Test parameters for validating bids:

{
  "bidder": "engerio",
  "params": {
    "adUnitCode": "example-test"
  }
}

and dimensions:

"banner": {
        "w": 300,
        "h": 300,
        "format": [
          {
            "w": 300,
            "h": 300
          }
        ]
      }

Ad slot scope

Engerio slot resolution is host-scoped. If you require a live test, these values should be used:

site:page   = 'https://example.com/article'
site:domain = 'example.com'

If tested with a different page URL/host, the auction may return no bid even with a valid adUnitCode.

Example gist

I'm attaching a gist that shows a testing request and response, if useful.

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

Copy link
Copy Markdown

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: 9ba7d35ebb

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread modules/engerioBidAdapter.js Outdated
Comment thread modules/engerioBidAdapter.js Outdated
Comment thread modules/engerioBidAdapter.js Outdated
@david-thinkeasy

Copy link
Copy Markdown
Contributor Author

Changes based on comments from Codex's review should be implemented now.

@patmmccann

Copy link
Copy Markdown
Collaborator

@codex review

@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • modules/engerioBidAdapter.js

@review-assignment-bot review-assignment-bot Bot requested a review from gwhigs June 4, 2026 23:42

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

Copy link
Copy Markdown

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: 0adb4bc20c

ℹ️ 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/engerioBidAdapter.js Outdated
Comment on lines +57 to +64
const bidRequest = {
id: generateUUID(),
imp: imps,
site: {
page: page || undefined,
domain: domain || undefined,
},
};

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 Preserve ORTB consent fields in auction requests

When consent/FPD modules populate bidderRequest.ortb2 (for example regs.ext.gdpr and user.ext.consent from TCF consent management), this OpenRTB request drops everything except device.ua and hand-built site fields. In GDPR or other privacy-regulated traffic, Engerio's server receives the auction without the consent/regs data it needs to enforce those signals; build the request from/merge bidderRequest.ortb2 instead of replacing it with this minimal object.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Amended.

Comment thread modules/engerioBidAdapter.js Outdated
Comment on lines +19 to +21
if (!bid.params?.adUnitCode) {
logWarn(`${BIDDER_CODE}: bid is missing required params.adUnitCode`);
return false;

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 Accept the conventional adUnitCode fallback

For any publisher whose Engerio slot ID is the same as the Prebid adUnit.code, this rejects the bid unless they duplicate that value in params.adUnitCode. Bidder params are supposed to override conventional request fields rather than be required in place of them, so this causes otherwise valid banner ad units to no-bid; allow bid.adUnitCode as the default and use params.adUnitCode only as an override.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Amended.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • modules/engerioBidAdapter.js

{
bidder: 'engerio',
params: {
adUnitCode: 'test-slot-300x250' // replace with a valid adUnitCode from your Engerio account

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.

adapters are required to type the public interface with a d.ts import or swtich the main adatper file to ts

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Should be typed/resolved now. Sorry about that.

@patmmccann patmmccann changed the title New adapter: Engerio New bid adapter: Engerio Jun 8, 2026
@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • modules/engerioBidAdapter.js

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • modules/engerioBidAdapter.js

Tread carefully! This PR adds 4 linter warnings (possibly disabled through directives):

  • modules/engerioBidAdapter.js (+4 warnings)

@patmmccann patmmccann left a comment

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.

seems you have some linting errors as well

Comment thread modules/engerioBidAdapter.js
@github-actions

Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • modules/engerioBidAdapter.js

Tread carefully! This PR adds 4 linter warnings (possibly disabled through directives):

  • modules/engerioBidAdapter.js (+4 warnings)

@github-actions

Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • modules/engerioBidAdapter.js

@patmmccann patmmccann left a comment

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.

FAILED TESTS:
engerioBidAdapter
onBidWon
✖ fires a GET request to the nurl
Chrome Headless 149.0.0.0 (Linux x86_64)
AssertionError: expected false to be true

    + expected - actual

    -false
    +true

@github-actions

Copy link
Copy Markdown

Whoa there partner! This project is migrating to typescript. Consider changing the new JS files to TS, with well-defined types for what interacts with the prebid public API (for example: bid params and configuration). Thanks!

  • modules/engerioBidAdapter.js

@barecheck

barecheck Bot commented Jun 15, 2026

Copy link
Copy Markdown

Barecheck - Code coverage report

Total: 96.48%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@patmmccann patmmccann merged commit fa22982 into prebid:master Jun 15, 2026
105 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants