Event Types

Event Types

The life cycle of an ad request in Springserve is captured by different events. These events are made available in Log Level Data (LLD), and are ordered chronologically below. A workflow diagram depicting an ad call and subsequent events can be found here.

Event

LLD Column

Execution Path

Supply or demand

Definition

Event

LLD Column

Execution Path

Supply or demand

Definition

1

ad_request

  • USABLE_REQUESTS

Both

Supply

A supply-tag auction passed applicable supply filtering/targeting. When selected through a router, this is a child auction with a different auction_id from the router event, while retaining the parent supply_router_id.

2

cm_js_demand_req_resp

  • AD_REQUEST

  • HAS_ADS

  • ERRORS

  • BIDDER_REQUESTS

    • BIDS

Client-side JS/VPAID

Demand

Combined client-side demand request-and-response event, used instead of separate js_demand_request and js_demand_response events. It always counts an ad request; HAS_ADS indicates whether an ad was returned, and ERRORS is populated for a non-timeout VAST error. BIDDER_REQUESTS and BIDS are populated only for applicable header-bidding paths.

3

expired_impression

  • EXPIRED_IMPRESSIONS

Both

Supply & Demand

An impression beacon was received after its configured expiration timestamp. It is recorded as an expired impression rather than as a billable impression.

4

js_click

  • CLICKS

Client-side JS/VPAID

Demand

Ad is clicked by end user.

5

js_complete

  • FOURTH_QUARTILE

Both

Demand

Video ad has played through its entire duration.

6

js_demand_error

  • ERRORS

  • OPPORTUNITY_TIMEOUTS

VPAID

Demand

Demand-side failure event. Non-timeout failures contribute to ERRORS; timeout failures contribute to OPPORTUNITY_TIMEOUTS.

7

js_demand_opportunity

  • OPPORTUNITIES

  • BIDDER_WINS

  • AP_SLOTS_OPPORTUNITY

VAST

Demand

For VAST, when a demand tag returns a bid

8

js_demand_request

  • AD_REQUESTS

VPAID

Demand

Client-side event emitted when SpringServe’s JavaScript/VPAID integration sends a request to a demand tag’s VAST endpoint.

9

js_demand_response

  • HAS_ADS

VPAID

Demand

Records the result of a client-side demand request, including whether the response contained an ad and the demand response time or timeout state.

10

js_first_quartile

  • FIRST_QUARTILE

Both

Demand

Video ad has played through 1/4 of its duration.

11

js_impression

  • JS_IMPRESSIONS

  • OPPORTUNITY_RESPONSE_TIME

  • SUPPLY_RESPONSE_TIME

Client-side JS/VPAID

Supply & Demand

Client-side impression recorded by the SpringServe VPAID

12

js_impression_duplicate

  • DUPLICATE_IMPRESSIONS

Client-side JS/VPAID

Supply & Demand

The same client-side impression event was recorded more than once.

13

js_midpoint

  • SECOND_QUARTILE

Both

Demand

Video ad has played through 1/2 of its duration.

14

js_opportunity

  • JS_OPPORTUNITIES

Client-side JS/VPAID

Supply

Emitted when the SpringServe supply-tag VPAID loads or initializes, creating a client-side supply opportunity.

15

js_start

  • STARTS

Client-side JS/VPAID

Demand

For VPAID, when video ad started

16

js_supply_error

  • JS_ERRORS

  • VPAID_TIME_ON_PAGE

  • SUPPLY_TIMEOUTS

VPAID

Supply

Client-side supply error event. When marked as a timeout, it contributes to SUPPLY_TIMEOUTS and records VPAID_TIME_ON_PAGE; otherwise, it contributes to JS_ERRORS.

17

js_third_quartile

  • THIRD_QUARTILE

Both

Demand

Video ad has played through 3/4 of its duration.

18

missed_opportunity

  • MISSED_OPPORTUNITIES

Both

Supply

A usable supply-tag auction had no eligible demand auction results, generally because no demand passed targeting. It is emitted on the same child auction as ad_request. The supply tag may have been called directly or selected by a router, so supply_router_id may be populated.

19

openrtb_auction_win

  • BIDDER_WINS

both

Demand

Springserve open market demand tag wins auction

20

openrtb_response

  • BIDS

both

Demand

Legacy Programmatic Connect/OpenRTB demand response containing a bid.

21

player_start

  • PLAYER_STARTS

Client-side JS/VPAID

Supply

For VPAID, when the video players starts running on page

22

pod_response

  • AP_SLOTS_COUNT

  • AP_SLOTS_OPPORTUNITY

  • AP_SLOTS_SECONDS_AVAILABLE

  • AP_SLOTS_OPPORTUNITY_SECONDS

  • AP_AD_SECONDS

Both

Supply

Supply-side summary of an ad-pod response, including the configured pod capacity and the number and duration of ads selected into the pod.

23

prebid_blocked_wo

  • PREBID_BLOCKED_REQUESTS

Both

Supply

The supply request was blocked before the auction after a direct, non-cached HUMAN prebid check classified the traffic as invalid. Cached HUMAN decisions are recorded under a separate internal event type.

24

request_blocked

  • BLOCKED_REQUEST

Both

Supply

The incoming request failed global or supply-tag-level targeting and was blocked before a usable supply-tag auction could proceed. Unlike router_blocked_request, this event represents blocking at the selected supply tag rather than at the supply router.

25

routed_missed_request

  • ROUTED_MISSED_REQUESTS

Both

Supply

Supply tag(s) evaluated by the router failed supply-tag targeting. This can coexist with a successful selection and child ad_request, because it describes rejected candidates rather than failure of the entire router request.

26

router_blocked_request

  • BLOCKED_REQUESTS

Both

Supply

The incoming request failed targeting at the supply-router level. No supply-tag auction was selected.

27

router_missed_opportunity

  • ROUTER_MISSED_OPPORTUNITIES

Both

Supply

The request passed router targeting, but the router selected no eligible supply tag. Emitted alongside router_usable_request when the router’s evaluated selection is empty.

28

router_usable_request

  • ROUTER_USABLE_REQUESTS

Both

Supply

The incoming request passed router-level targeting and router processing continued. This event is emitted even if no supply tag is ultimately eligible, so it may coexist with router_missed_opportunity. It uses the router-level auction_id.

29

ssb_demand_error

  • ERRORS

  • OPPORTUNITY_TIMEOUTS

  • SSHB_BIDDER_ERRORS

  • SSHB_BIDS

  • OPPORTUNITY_RESPONSE_TIME

  • HAS_ADS

  • AD_SECONDS

  • BIDS

VAST

Demand

Demand-side failure event. Non-timeout failures contribute to ERRORS; timeout failures contribute to OPPORTUNITY_TIMEOUTS.

30

ssb_demand_request

  • AD_REQUESTS

  • BIDDER_REQUESTS

  • SSHB_BID_REQUESTS

VAST

Demand

Server-side event emitted when SpringServe sends an outbound request to a demand tag or demand source.

31

ssb_demand_request_error

  • AD_REQUESTS

  • ERRORS

  • OPPORTUNITY_RESPONSE_TIME

  • OPPORTUNITY_TIMEOUTS

  • BIDDER_REQUESTS

  • SSHB_BID_REQUESTS

  • SSHB_BIDDER_ERRORS

  • HAS_ADS

  • AD_SECONDS

  • BIDS

  • SSHB_BIDS

Server-side/SSB

Demand

Emitted when a server-side demand request and its failure are recorded as a single event rather than as separate ssb_demand_request and ssb_demand_error events. It always counts an ad request and records the elapsed response time. Non-timeout failures increment ERRORS, while timeouts increment OPPORTUNITY_TIMEOUTS. BIDDER_REQUESTS and the SSHB_* metrics are populated only for applicable bidder paths. If the failed or rejected response contained an ad—such as a bid below floor—HAS_ADS, AD_SECONDS, BIDS, and SSHB_BIDS may also be populated.

32

ssb_demand_response

  • HAS_ADS

  • OPPORTUNITIES

  • AP_DEMAND_OPPORTUNITY_SECONDS

  • AD_SECONDS

  • BIDS

  • BIDDER_WINS

  • OPPORTUNITY_RESPONSE_TIME

  • SSHB_BIDS

  • SSHB_WINS

VAST

Demand

Records the result of a server-side demand request, including whether ads were returned, how many ads or bids were present, whether the response won, and the applicable response time.

33

ssb_supply_error

  • JS_ERRORS

  • SUPPLY_TIMEOUTS

  • SUPPLY_RESPONSE_TIME

VAST

Supply

Supply-side error event. When marked as a timeout, it contributes to SUPPLY_TIMEOUTS; otherwise it contributes to JS_ERRORS. The server-side event also records supply response time.

34

ssb_supply_opportunity

  • JS_OPPORTUNITIES

  • SUPPLY_RESPONSE_TIME

VAST

Supply

Emitted for each winning server-side ad selected for inclusion in the response returned to the supply source.

35

ssb_vast_response

  • VAST_RESPONSES

VAST

Demand

Response from demand that contains at least one valid ad

36

throttled_request

  • THROTTLED_REQUESTS

Both

Supply

The incoming supply-tag or supply-router request was rejected because it exceeded an applicable QPS or request-rate limit. The request is recorded as throttled and does not proceed through the normal auction flow.

37

vast_impression

  • JS_IMPRESSIONS

  • AP_SLOTS_SECONDS_FILLED

Server-side/SSB

Supply & Demand

Springserve impression beacon fired

38

vast_impression_duplicate

  • DUPLICATE_IMPRESSIONS

Server-side/SSB

Supply & Demand

Unique impression pixel in a VAST response gets fired more than once