Skip to content

New Adapter: StackAdapt#4724

Open
franklong-sa wants to merge 2 commits intoprebid:masterfrom
StackAdapt:stackadapt-bidder-adapter
Open

New Adapter: StackAdapt#4724
franklong-sa wants to merge 2 commits intoprebid:masterfrom
StackAdapt:stackadapt-bidder-adapter

Conversation

@franklong-sa
Copy link
Copy Markdown

@franklong-sa franklong-sa commented Mar 20, 2026

This PR creates a new bidder adapter for StackAdapt

Related docs update: prebid/prebid.github.io#6496

@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, 2e8133c

stackadapt

Refer here for heat map coverage report

github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:28:	Builder				100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:38:	MakeRequests			81.8%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:70:	buildEndpointURL		100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:78:	setImpsAndGetEndpointParams	100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:128:	setPublisherID			100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:152:	MakeBids			91.7%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:197:	getMediaTypeForBid		100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:214:	resolveMacros			100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:224:	getNativeAdm			100.0%
total:										(statements)			96.2%

resolveMacros(&bid)

bidResponse.Bids = append(bidResponse.Bids, &adapters.TypedBid{
Bid: &bid,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Found incorrect assignment made to Bid. bid variable receives a new value in each iteration of range loop. Assigning the address of bid (&bid) to Bid will result in a pointer that always points to the same memory address with the value of the last iteration. This can lead to unexpected behavior or incorrect results. Refer https://go.dev/play/p/9ZS1f-5h4qS
Consider using an index variable in the seatBids.Bid loop as shown below

  for _, seatBid := range response.SeatBid {
    for i := range seatBids.Bid {
      ...
      responseBid := &adapters.TypedBid{
        Bid: &seatBids.Bid[i],
        ...
      }
      ...
      ...
    }
  }

@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, b4d9dfd

stackadapt

Refer here for heat map coverage report

github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:28:	Builder				100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:38:	MakeRequests			81.8%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:70:	buildEndpointURL		100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:78:	setImpsAndGetEndpointParams	100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:128:	setPublisherID			100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:152:	MakeBids			91.7%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:197:	getMediaTypeForBid		100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:214:	resolveMacros			100.0%
github.com/prebid/prebid-server/v4/adapters/stackadapt/stackadapt.go:224:	getNativeAdm			100.0%
total:										(statements)			96.2%

@franklong-sa franklong-sa marked this pull request as ready for review March 20, 2026 15:23
@franklong-sa franklong-sa changed the title New Adapter: StackAdapter New Adapter: StackAdapt Mar 23, 2026
@bsardo bsardo added the adapter label Mar 31, 2026
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