Events Validation

The Events Validation page features three validation tabs: Inventory (assesses the quality of inventory received from SSPs), Bid (evaluates the quality of received bids), and Impression (analyzes the quality of received impressions). Each tab contains a set of filter criteria, some of which are pre-enabled and cannot be deactivated (default filters).  

Inventory Validation:

  • Bid floor is too high: Indicates that the specified bid floor in the request exceeds the acceptable limit. The maximum threshold is $50.
  • Endpoint not found: No Endpoint was found for the matched SSP.
  • Excessive requests: Flags requests if there were more than 50 with the same device ID within a short time frame (60 seconds). Each subsequent request after the 50th will be filtered.
  • Blocked supply chain participant (default filter): One of the participants in the supply chain has been blocked. Matching is performed based on the "asi" parameter in each node object.
  • Both site and app objects (default filter): The request contains both site and app data (bundle and domain), but only one environment type should be included.
  • Incomplete supply chain (default filter): Flags requests with incomplete supply chain information for transparency. The considered value is schain.complete[1].
  • Invalid PMP object (default filter): Identifies an impression opportunity with a Private Marketplace (PMP) object that does not conform to the expected structure or criteria.
  • Invalid impression ID (default filter): Indicates impression opportunity with an impression ID that does not meet the specified criteria or format.
  • Invalid native object structure (default filter): Flags an impression opportunity with a native ad object that does not conform to the expected structure.
  • Invalid request structure (default filter): Identifies requests with a structure that does not conform to the expected format or protocol.
  • Invalid supply chain object (default filter): Flags requests with a supply chain object that does not adhere to the expected structure or values.
  • Is Robot (default filter): Identify non-human traffic, including robots, crawlers, checkers, download agents, spam harvesters, and feed readers, by analyzing the User-Agent with the assistance of a third-party device identification vendor.
  • It is not a skippable video (default filter): Flags non-skippable video ad requests. The considered value is video.skip[1].
  • It is not in an interstitial format (default filter): Identifies requests not adhering to the interstitial ad format. The considered value is imp.instl[1].
  • No app/site object (default filter): Flags requests without the "app" or "site" object. At least one of them should be in place for valid request processing.
  • No domain/bundle (default filter): Indicates requests missing "domain" or "bundle" parameter. At least one of them should be in place for valid request processing.
  • No impression object (default filter): Indicates that the request is missing essential impression object.
  • No matched Endpoint: No matched endpoint was found for the matched SSP.
  • No mimes in video/audio object (default filter): The mandatory parameter is missing for "video" or "audio" impression objects.
  • No user-agent (default filter): Indicates that the request lacks the necessary user-agent information, which can affect the request processing process.
  • Non-rewarded impression (default filter): Indicates the impression is not eligible for rewards. Taking into account the presence of the corresponding parameter only in version 2.6 of the official specification, the logic of parsing considers a set of optional parameters in the "ext" objects. The list of all parsed parameters include:
    • BidRequest.imp.rwdd = 1 (integer) /true (boolean): The attribute "rwdd": 1 or "rwdd": true in the Imp Object indicates whether the user receives a reward for viewing the ad, where 0/false means no reward, and 1/true means yes. 
    • BidRequest.imp.ext.placementType = “rewarded” [string]: The "placementType" extension in the Imp Object indicates that the ad placement is of the rewarded type.
    • BidRequest.imp.ext.is_rewarded_inventory = 1 (integer) /true (boolean): The "is_rewarded_inventory" extension in the Imp Object, when set to 1/true, signifies that the inventory is rewarded.
    • BidRequest.imp.ext.is_rewarded = 1 (integer) /true (boolean): The "is_rewarded" extension in the Imp Object, when set to 1/true, indicates that the ad is rewarded.
    • BidRequest.imp.ext.rewarded = 1 (integer) /true (boolean): The "rewarded" extension in the Imp Object, when set to 1/true, suggests that the ad placement involves a reward.
    • BidRequest.imp.ext.videotype = “rewarded” [string]: The "videotype" extension in the Imp Object, when set to “rewarded”, specifies that the  video is of the rewarded type.
    • BidRequest.imp.banner/video/native.ext.is_rewarded_inventory = 1 (integer) /true (boolean): The "is_rewarded_inventory" extension within the Banner, Video, or Native object, when set to 1/true, indicates rewarded inventory.
    • BidRequest.imp.banner/video/native.ext.is_rewarded = 1 (integer) /true (boolean): The "is_rewarded" extension within the Banner, Video, or Native object, when set to 1/true, signifies that the ad is rewarded.
    • BidRequest.imp.banner/video/native.ext.rewarded = 1 (integer) /true (boolean): The "rewarded" extension within the Banner, Video, or Native object, when set to 1/true, suggests that the ad placement involves a reward.
  • QPS limitation (default filter): Restricts the number of queries per second to manage the outgoing traffic. This value depends on the Profile settings.
  • Reached limit: Indicates that the spend limit on Profile or DSP has been reached.
  • SSP not found: No SSP with the corresponding ID was found on the platform.
  • Suspicious Device ID (by Pixalate): Flags incoming HTTP requests with device IDs identified as suspicious or fraudulent by Pixalate Pre-bid lists.
  • Suspicious IP (by Pixalate): Flags incoming HTTP requests with IP addresses marked as suspicious by Pixalate Pre-bid lists.
  • Suspicious OTT device (by Pixalate): Flags incoming HTTP requests from OTT devices known for fraudulent activity, as identified by Pixalate Pre-bid lists.
  • Too many impression objects (default filter): Flags requests with an excessive number of impression objects, potentially indicating an error, misuse or system overload.
  • Too many requests (default filter): Restricts the number of queries per second to manage the incoming traffic. This value depends on the SSP settings.
  • Unmatched "tmax" value (default filter): The value of "tmax" in the request is too low to match the targeting set on the entity.
  • Unmatched IP (default filter): The value of device.ip was not found in the whitelist or vice versa, it was found in the blacklist.
  • Unmatched OS (default filter): The value of device.os does not match the one specified in targeting. In the absence of the corresponding parameter in the request, it is generated automatically based on the device's user-agent.
  • Unmatched bid floor value (default filter): Indicates bid floor values exceeding acceptable limits.
  • Unmatched connection type (default filter): The value of device.connectiontype does not match the one specified in targeting. In the absence of the corresponding parameter in the request, it is generated automatically based on the device's IP.
  • Unmatched deal ID (default filter): The request does not contain the deal ID specified in the targeting for the corresponding entity.
  • Unmatched deal seat (default filter): The DSP ID value should be included in the list of values for the "wseat" parameter of the deal object targeted by the campaign.
  • Unmatched device ID (default filter): The value of device.ifa was not found in the whitelist or vice versa, it was found in the blacklist.
  • Unmatched device type (default filter): The value of device.type does not match the one specified in targeting. In the absence of the corresponding parameter in the request, it is generated automatically based on device user-agent.
  • Unmatched domain or bundle (default filter): The value of app.bundle/site.domain was not found in the whitelist or vice versa, it was found in the blacklist.
  • Unmatched environment (default filter): Flags requests with environment settings that don't align with expectations. The presence of the "app" object indicates an InApp environment, while the presence of the "site" object indicates a Web environment.
  • Unmatched external publisher ID (default filter): The value of publisher.id was not found in the whitelist or vice versa, it was found in the blacklist.
  • Unmatched geolocation (default filter): The location data in the request does not match the targeting criteria. Matching can involve three parameters of the "device.geo" object: country, region, and city. These parameters are automatically populated based on the device's IP.
  • Unmatched ad type (default filter): The ad type does not match the one specified in targeting. For a successful match, the impression object must contain at least one of the specified types.
  • Unmatched inventory category (default filter): Identifies requests with unsupported inventory categories. The matching process considers the following parameters: "cat" (for app/site), "pagecat" (for app/site), "sectioncat" (for app/site), and "cat" (for content).
  • Unmatched language (default filter): Flags requests with unexpected language specifications. In the matching, the parameters "language" and "langb" are taken from the objects of "device" and "content".
  • Unmatched seat (default filter): The DSP ID value should not be included in the list of values for the "bseat" parameter, or it should be included in the list of values in the "wseat" parameter.
  • No advertising ID: Flags requests where the advertising ID ("ifa") is missing, which may impact tracking and targeting.
  • Too low "tmax" value: Flags requests where the maximum response time ("tmax") is unrealistically low, possibly causing issues with bid responses. The minimum threshold is 50ms.
  • Invalid "tmax": the "tmax" value is either missing or invalid.
  • Unmatched size (default filter): No values specified in size targeting are present in imp.banner.formats, imp.banner.w/h or imp.video.w/h.
  • Unexpected request type (default filter): Type of the request does not match the Endpoint type.
  • Unmatched API framework (default filter): Indicates that the impression opportunity lacks a required API framework, and at least one must be specified in the imp.banner.api, imp.video.api, imp.native.api, or imp.audio.api object, see API frameworks for more details.
  • Unmatched supply chain length (default filter): The number of nodes in the supply chain object exceeds the configured limit, or object is missing entirely.

Bid Validation:

  • Too high bid price: The bid price exceeds a predefined threshold ($100).
  • Empty Ad (default filter): The ad content in the response is missing.
  • Empty or invalid price (default filter): The bid price in the response is either missing or invalid. It should be non-zero and greater than the bid floor.
  • Invalid response format (default filter): The format of the response received is not valid or expected (invalid JSON or empty VAST).
  • No advertiser domain (default filter): The domain of the advertiser is missing. This requirement is included in the respective entity.
  • No bid objects in the response (default filter): The response does not contain bid objects for processing. There should be at least one object.
  • No creative category (default filter): The ad creative does not have a specified category. This requirement is included in the respective entity.
  • No Creative ID for Prebid (default filter): Prebid.JS requires the presence of a Creative ID ("crid") in the bid response.
  • Price is lower than a bid floor (default filter): The bid price is below the minimum acceptable bid floor. It should be equal to or greater than it.
  • Unmatched advertiser (default filter): The advertiser in the response does not match expected values. The value from bid.adomain should not be present in BidRequest.badv.
  • Unmatched advertiser domain (default filter): The advertiser domain in the response does not match expected values. The value of "adomain" was not found in the whitelist or, conversely, it was found in the blacklist.
  • Unmatched application (default filter): The application specified in the response does not match expected values. The value from bid.bundle should not be present in BidRequest.bapp.
  • Unmatched attribute (default filter): The attribute of the ad in the response does not match expected values. The value from "bid.attr" should not be present in BidRequest.battr.
  • Unmatched campaign ID (default filter): The campaign ID in the response does not match expected values. The value of "cid" was not found in the whitelist or, conversely, it was found in the blacklist.
  • Unmatched category (default filter): The ad category in the response does not match expected values. The value from bid.cat should not be present in BidRequest.bcat.
  • Unmatched creative ID (default filter): The creative ID in the response does not match expected values. The value of "crid" was not found in the whitelist or, conversely, it was found in the blacklist.
  • Unmatched deal ID (default filter): The deal ID in the response does not match expected values.
  • Unmatched impression ID (default filter): The impression ID in the response does not match expected values. The seatbid.bid.impid value should correspond to the imp.id value.
  • Unmatched request ID (default filter): The unique identifier for the ad request does not match expected values. The value of BidResponse.id should correspond to the value of BidRequest.id.
  • Unmatched seat (default filter): The buyer's seat ID in the response does not match expected values. Bid will be filtered if the seat is not included in the "wseat" list for a private auction.
  • Unmatched video duration (default filter): The video duration specified in the response does not match expected values. A check is performed to ensure that the video length (from the bid.dur parameter or VAST <duration>) falls within the min-duration/max-duration specified in the request.
  • Unmatched creative language (default filter): This filter is triggered when the language of the creative does not align with the language preferences specified by the publisher, as indicated by the BidRequest.wlang or BidRequest.wlangb parameters.

Impression Validation:

  • IP mismatch: The IP from which the tracker was called does not match the IP in the request. Works only with Endpoints that have the ad markup pixel counting mechanism.
  • 2nd price is higher than bid (default filter): The second price returned by the publisher is higher than the bid price.
  • Broken DSP price (default filter): It is impossible to process the encoded parameter DSP price that was set in the tracker.
  • Duplicate impression (default filter): Multiple instances of the same impression being tracked.
  • Expired tracker (default filter): The tracker has passed its expiration time or is no longer valid.
  • Invalid parameters (default filter): A tracker that is not valid or recognized.
  • Invalid publisher price (default filter): The macro ${AUCTION_PRICE} was replaced with an invalid value.
  • UA mismatch: The user-agent from the headers when calling the tracker does not match the value of the corresponding parameter in the request. Works only with Endpoints that have the ad markup pixel counting mechanism.
Updated on January 31, 2025