Skip to content

Commit

Permalink
Merge pull request #2 from Adikteev/arnaud/add-metric
Browse files Browse the repository at this point in the history
Add metric object to impression
  • Loading branch information
Baumanar authored Oct 29, 2024
2 parents 410aa84 + 26c5908 commit 71b7281
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
1 change: 1 addition & 0 deletions impression.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ type Impression struct {
Exp int `json:"exp,omitempty"` // Advisory as to the number of seconds that may elapse between the auction and the actual impression.
IFrameBusters []string `json:"iframebuster,omitempty"` // Array of names for supportediframe busters.
Rewarded int `json:"rwdd,omitempty"` // Impression is rewarded, Default: 0 ("1": yes, "0": no)
Metric []Metric `json:"metric,omitempty"`
Ext json.RawMessage `json:"ext,omitempty"`
}

Expand Down
48 changes: 48 additions & 0 deletions metric.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package openrtb

import "encoding/json"

// 3.2.5 Object: Metric
//
// This object is associated with an impression as an array of metrics.
// These metrics can offer insight into the impression to assist with decisioning such as average recent viewability, click-through rate, etc.
// Each metric is identified by its type, reports the value of the metric, and optionally identifies the source or vendor measuring the value.
type Metric struct {

// Attribute:
// type
// Type:
// string; required
// Description:
// Type of metric being presented using exchange curated string
// names which should be published to bidders a priori.
Type string `json:"type"`

// Attribute:
// value
// Type:
// float; required
// Description:
// Number representing the value of the metric. Probabilities
// must be in the range 0.0 – 1.0.
Value float64 `json:"value,omitempty"`

// Attribute:
// vendor
// Type:
// string; recommended
// Description:
// Source of the value using exchange curated string names
// which should be published to bidders a priori. If the exchange
// itself is the source versus a third party, “EXCHANGE” is
// recommended.
Vendor string `json:"vendor,omitempty"`

// Attribute:
// ext
// Type:
// object
// Description:
// Placeholder for exchange-specific extensions to OpenRTB.
Ext json.RawMessage `json:"ext,omitempty"`
}

0 comments on commit 71b7281

Please sign in to comment.