diff --git a/adapters/pubmatic/pubmatic.go b/adapters/pubmatic/pubmatic.go index b24a78302a9..9c6c1eb3c75 100644 --- a/adapters/pubmatic/pubmatic.go +++ b/adapters/pubmatic/pubmatic.go @@ -503,9 +503,12 @@ func parseImpressionObject(imp *openrtb2.Imp, wrapExt *string, pubID *string) er extMap[pmZoneIDKeyName] = pubmaticExt.PmZoneID } - if bidderExt.Data != nil && bidderExt.Data.AdServer != nil && - bidderExt.Data.AdServer.Name == AdServerGAM && bidderExt.Data.AdServer.AdSlot != "" { - extMap[ImpExtAdUnitKey] = bidderExt.Data.AdServer.AdSlot + if bidderExt.Data != nil { + if bidderExt.Data.AdServer != nil && bidderExt.Data.AdServer.Name == AdServerGAM && bidderExt.Data.AdServer.AdSlot != "" { + extMap[ImpExtAdUnitKey] = bidderExt.Data.AdServer.AdSlot + } else if bidderExt.Data.PBAdSlot != "" { + extMap[ImpExtAdUnitKey] = bidderExt.Data.PBAdSlot + } } imp.Ext = nil diff --git a/openrtb_ext/imp.go b/openrtb_ext/imp.go index 5ec29268a41..1c76c8ef0d4 100644 --- a/openrtb_ext/imp.go +++ b/openrtb_ext/imp.go @@ -23,6 +23,7 @@ type ExtStoredRequest struct { type ExtData struct { AdServer *ExtAdServer `json:"adserver"` + PBAdSlot string `json:"pbadslot"` } type ExtAdServer struct {