Skip to content

New Adapter: Adswag - #4908

Open
westerschmal wants to merge 1 commit into
prebid:masterfrom
adswag:new-adapter-adswag
Open

New Adapter: Adswag#4908
westerschmal wants to merge 1 commit into
prebid:masterfrom
adswag:new-adapter-adswag

Conversation

@westerschmal

Copy link
Copy Markdown

New Adapter: Adswag

Adds the Adswag bid adapter for Adswag's directly-integrated European supply.

  • Maintainer: prebid@adswag.ai (bidder-info yaml)
  • GVL vendor ID: 1417
  • Media types: banner, video, audio — site and app (no native, no DOOH)
  • Endpoint: https://bid.adswag.ai/prebid/bid (static, EU-hosted; no dynamic hostnames, no geographic host parameters)
  • OpenRTB: 2.6, GPP supported, multi-format imps supported (the adapter does not split imps)
  • Usersync: consent-gated redirect syncer on ev.adswag.ai (uid macro $UID); under GDPR a uid is only issued with vendor-1417 + Purpose-1 consent, otherwise the redirect carries an empty uid
  • Params: publisherId (required, string), placementId (optional, string) — schema in static/bidder-params/adswag.json
  • modifyingVastXmlAllowed: false — our ad server owns VAST composition and measurement beacons

Bidder params for validating bids (live evergreen test campaign, bids €2.50 EUR; verified against production 2026-08-13):

{ "publisherId": "prebid-test", "placementId": "prebid-test-display" }

Display imps must include size 300x250; prebid-test-video / prebid-test-audio for video (mp4) and audio (mpeg/mp4) imps. placementId may be omitted (placement is discovered from gpid/adunit code). Requests with test: 1 also receive bids.

Tests: go test -race -cover ./adapters/adswag/...94.7% coverage; 6 exemplary + 14 supplemental JSON fixtures plus a captured-production-response test (fixture tokens are synthetic). ./validate.sh suite green.

Docs PR (bidder page with pbs metadata): prebid/prebid.github.io#6702
Prebid.js adapter PR: prebid/Prebid.js#15487

We will port this adapter to prebid-server-java ourselves (port PR opened alongside).

Adds the Adswag bid adapter (banner, video, audio; site and app) for Adswag's directly-integrated European supply. EU-hosted endpoint, GVL vendor 1417, GPP supported, consent-gated usersync redirect. 94.7% test coverage incl. 20 JSON fixtures.
westerschmal added a commit to adswag/prebid-server-java that referenced this pull request Aug 13, 2026
Port of the Go adapter (prebid/prebid-server#4908), authored by the Adswag team. Banner, video, audio; site and app; GVL vendor 1417; consent-gated usersync redirect.
@bsardo bsardo added the adapter label Aug 18, 2026
@westerschmal

Copy link
Copy Markdown
Author

This PR is ready for review whenever someone has a chance. One note on the red semgrep-check: the failure is the pull_request_target workflow declining to check out fork branches — it reproduces on the pre-change commit and on other fork PRs (e.g. #4897) — so it isn't caused by anything in this change. Happy to address any feedback.

@github-actions

Copy link
Copy Markdown

Code coverage summary

Note:

  • Prebid team doesn't anticipate tests covering code paths that might result in marshal and unmarshal errors
  • Coverage summary encompasses all commits leading up to the latest one, 9090e28

adswag

Refer here for heat map coverage report

github.com/prebid/prebid-server/v4/adapters/adswag/adswag.go:39:	Builder		100.0%
github.com/prebid/prebid-server/v4/adapters/adswag/adswag.go:43:	MakeRequests	88.2%
github.com/prebid/prebid-server/v4/adapters/adswag/adswag.go:121:	parseImpExt	88.5%
github.com/prebid/prebid-server/v4/adapters/adswag/adswag.go:162:	setPublisherID	93.3%
github.com/prebid/prebid-server/v4/adapters/adswag/adswag.go:185:	MakeBids	100.0%
github.com/prebid/prebid-server/v4/adapters/adswag/adswag.go:237:	makeTypedBid	92.9%
github.com/prebid/prebid-server/v4/adapters/adswag/adswag.go:289:	resolveBidType	100.0%
github.com/prebid/prebid-server/v4/adapters/adswag/adswag.go:315:	findImp		100.0%
github.com/prebid/prebid-server/v4/adapters/adswag/adswag.go:324:	bannerSize	100.0%
github.com/prebid/prebid-server/v4/adapters/adswag/adswag.go:339:	iframeMarkup	100.0%
total:									(statements)	93.6%

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.

2 participants