Request Reporting

📘

Request Reporting is in BETA. The feature and this documentation are subject to change. To get started with Request Reporting, contact your account manager.

The Request Reporting feature adds additional columns to your Kevel reports. In addition to impressions, clicks, events, and revenue etc., you can view data from the requests received in the time period.

  • A request is is a single HTTP request to one of Kevel's ad serving engines. This can be placed by ados.js ad tags or from the Decision API. Each request may contain multiple decisions.
  • The ad serving engine makes a decision from the request as to which ad (if any) to return in the response. Every placement sent in the request will receive its own decision, so one request could generate ten decisions if there are ten placements.
  • Candidates are ads that are eligible to serve after the ad serving engine applies targeting filters on the decision.
  • If the engine chooses to serve a candidate, this ad is the selection returned in the response, such as in the JSON response object in the Decision API or in the ados.js response.
  • Blanks are decisions for which no ads are selected.
  • If the impression pixel associated with a selection is hit, an impression is recorded in Kevel reporting.

👍

The "Requests" column currently displays selections and blanks as described above.

The Fill Rate shows you the difference between selections and blanks and how many impressions were counted.

Fill Rate = (Impressions / (Selections + Blanks))

For example, if impressions are recorded on every selection, that site will have a 100% Fill Rate in reporting. If impressions are recorded half the time (or if impressions are recorded 100% of the time but half the decisions are blanks) that site will have a 50% Fill Rate.

🚧

Note that you can have multiple decisions associated with the same request (if there are multiple placements) and multiple selections associated with the same decision (such as with multi-winner placements or AdChain decisions).

Request Reporting Columns

The following columns are added when Request Reporting is turned on for your account:

Name

Description

Requests

Total of Selections and Blanks

Valid User Agent Requests

(optional) Selections and Blanks that were made with a valid user agent when bot filtering was on

Invalid User Agent Requests

(optional) Selections and Blanks that were made with an invalid user agent when bot filtering was on

Bot Filtering Disabled Requests

(optional) Selections and Blanks that were made when bot filtering was disabled (i.e. it was explicitly set to false on the Request) User agent is thus irrelevant

RTB Bid Responses

(optional) Out of RTB Bid Requests, number of times Kevel received a bid from an RTB partner

Passback Requests

(optional) Number of Selections from flights enabled for passbacks, i.e. the cumulative length of adChains

RTB Bid Requests

(optional) Number of times Kevel sent a bid request to an RTB partner

RTB Matched Bid Requests

(optional) Out of RTB Bid Requests, number of times a user was synced (matched) with an RTB partner.

Fill Rate

Impressions divided by Selections and Blanks as a percentage

Running Request Reports

🚧

Request reporting data is available starting from May 1, 2017. Keyword request data is available starting from July 1, 2017.

To see request data in a report, you will need to run an Inventory Report. An Inventory Report is a report that:

  • Includes no GroupBys or filters, OR
  • Groups By or filters by Site, Zone, Country, Metro, Ad Type, or Keyword, AND
  • Does not GroupBy or filter by Advertiser, Campaign, Flight, Priority, or Channel
  • Does not have a specific Time Zone selected.

(Additionally, a report that filters by an RTB ad will also show RTB Request data.)

All other reports (i.e. reports that GroupBy or filter by Advertiser, Campaign, Flight, Priority, Channel) will not contain request data.

📘

If you Group By Keyword in an Inventory Report, the report will contain unmatched keywords, i.e. keywords that were present on the request but not necessarily matched to an ad via keyword targeting.

❗️

If there are more than 5 adTypeIds or zoneIds passed in an ad request, we will only report requests for the the first 5 ad types or zones listed on the request.

👍

Impression data loads faster than request data. If you run a report for the current day, you may see impression data without request data. This is normal - re-running the report later will include the requests.