Quick Links:

Each time an ad decision request is made, a Request log, Decision log, and Selection log will be generated.
Note: if no ad is selected, then a Selection log will not be created.

Request Logs

Request logs contain data representing the root level fields sent in the ad decision request.

NameDescriptionSample DataType
IdThe unique Request ID.55cc44928bd94f4a9
c18b8a4edac2365
string
BlockedAdvertiserIdsarray[int]
BlockedCampaignIdsarray[int]
BlockedCreativeIdsarray[int]
BlockedFlightsarray[int]
Datacenterboolean
DeliveryMode1 = Web (served by ados.js tags)
2 = Email (served by HTML tags)
3 = API (served by REST call)
4 = Static Tracking Link (served by GIF).
3int
Deviceobject - see other
EnableBotFilteringIndicated whether or not the request was bot filtered against IAB bots/spiders list.boolean
EnableUserDBIPIndicates whether or not we store the IP in UserDB.boolean
GdprComputedGiven all gdpr variables/vendor lookups etc, whether the request qualifies as consenting.TRUEboolean
GdprIsEuBoolean indicating whether request's origin country is EU.boolean
GdprRawBoolean passed in for consent.boolean
GdprsourceSource of consent. '+' separated string of values: 'blk', 'req', 'udb', 'req'. example: 'req+udb'.string
HostName“e-10322.adzerk.net“string
IncludePricingDataIndicates whether pricing data was requested.boolean
IsValidUAIf true, the request passed the bots and spiders filter.TRUEboolean
KeywordsKeywords defining the request made.[cp4uowfsyyzpt,
dt7zi5mlfrrs7]
array[string]
Location.CityAn array of location data from the ad request.Sydneystring
Location.CountryCodesee above.AUstring
Location.CountryNamesee above.Australiastring
Location.Latitudesee above.0int
Location.Longitudesee above.0int
Location.DmaCodesee above.int
Location.MetroCodesee above.int
Location.PostalCodesee above.2000string
Location.Regionsee above.NSWstring
Meta:schemaThe type of log - will always be event.eventstring
Meta:versionThe version of the log format this log object uses.1string
NetworkIdThe network ID from the request.10322int
PropertiesCustom properties set by the user on the request. only appears if not empty."Properties": {
"key": "value"}
string
ProtocolProtocol of this request.string
ReferrerUrlReferrer url if request.referrer is set.string
RequestCountNumber of items requested to be returned for this request.1int
TimestampTime of the request, as milliseconds since UNIX epoch.1581038415077long
UrlURL if request.url is set.string
User.IsNewAn array of user data (in UserDB) associated with the request. Contains two fields: the Key, and whether or not this is a new user. Sourced from the request.TRUEboolean
User.KeySee above.ue1-708a3d9146d7438
b85a8cc6686e9a0e8
string

Decision Logs

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.

Decision logs contain a JSON object for each decision.

NameDescriptionSample DataType
IdThe decision ID."8f4f8ce4c48041ebb
abe267bc619a644"
string
AdIdThe ad ID if it was passed in the placement.1234567int
AdQueryDynamic fields based on which attributes are included in adQuery object in ad decision requests.JSON
AdTypesThe ad types from the placement.[5]array[int]
CampaignIdThe campaign ID if it was passed in the placement.int
ClickUrlThe ClickUrl if passed in the placement.string
ContentKeysA map of key/value pairs used for ContentDB if passed in the placement.object
CountThe number of ads to return per placement if passed in the placement.int
DecisionCountNumber of decisions per object. DecisionCount can be summed to receive a total.1int
DivNameThe name of the div from the placement."div1"string
EventIdsEvent IDs if passed in the placement.array
FlightIdThe flight ID if it was passed in the placement.int
FloorCPCFloor price if passed in the placement.float
FloorPriceFloor CPC if passed in the placement.float
Meta:versionThe decision ID."1.0"string
Meta:schemaThe type of log - will always be decision."decision"string
NetworkIdThe network ID from the request.1234int
OverridesAn object that overrides values for an advertiser, campaign, flight or ad, if passed in the placement.object
PropertiesA map of key/value pairs used to pass custom properties in the placement.object
ProportionalityIf a multi-winner placement used the proportionality setting.boolean
RequestIdThe ID of the decision's request."a6dca0abf19e4b41a4ac
679b9328907b"
string
SiteIdThe site ID from the placement.int
TimestampTime of the decision, as milliseconds since UNIX epoch.1541173272293long
ZoneIdsThe zone ID(s) if they were passed in the placement.array
PassbackAdIdsRTB relatedstring
SelectedAdIdsRTB relatedstring
RtbAdIdsRTB relatedstring
BidRequestAdIdsRTB relatedstring
EventMultiplierRTB relatedint
MatchedBidRequestAdIdsRTB relatedstring
{
  "Meta:schema": "decision",
  "Meta:version": "1.0",
  "NetworkId": 1234,
  "Id": "8f4f8ce4c48041ebbabe267bc619a644",
  "DecisionCount": 1,
  "RequestId": "a6dca0abf19e4b41a4ac679b9328907b",
  "Timestamp": 1541173272293,
  "DivName": "div1",
  "AdTypes": [
    5
  ],
  "SiteId": 123456,
  "AdId": 1234567
}

Selection Logs

Selection logs contain information about the ad which was actually selected.
Note: If no ad was selected for a given decision, a Selection log will not be created.

The JSON objects for other events use the same format as the impression object.

NameDescriptionSample DataType
AdTypeIdThe numeric ID of an ad size. Sourced from the event shim.162int
AuctionBidsThe number of non-RTB ads competing for the impression in an Auction priority. If the ad served was selected outside of an Auction priority, then this AuctionsBids value will be zero. Note that this field is absent unless there is at least one auction bid in the event shim.78int
BrandIdThe numeric ID of the impression's advertiser. Sourced from the event shim.554125int
BurnInTrue if in initial/learning phaseboolean
CampaignIdThe numeric ID of the impression's campaign. Sourced from the event shim.1331048int
CategoriesThe numeric ID of the impression's advertiser. Sourced from the event shim.[]array
ChannelIdThe numeric ID of the impression's channel. Sourced from the event shim.40304int
CreatedOnA time/date stamp (milliseconds since UNIX epoch) that indicates when the impression happened."/Date(1581038413783)/"int (date)
CreativeIdThe numeric ID of the impression's creative. Sourced from the event shim.16458736int
CreativeMetadataThe creative metadata and/or creative template values of the selection if they are set on the creative.{
"customData": {
"example": {
"keyName": true
}
},
"ctTemplateVariable": "foo"
}
object
CreativePassIdThe numeric ID of the impression's ad (creative mapped to flight). Sourced from the event shim.19126348int
DatacenterIf true, the event originates from a TAG known datacenter..FALSEboolean
DecisionIdDecision ID associated with this selection.“7fb50ca376064d9ba5
0005e24535f4c9”
string
DecisionIdxDecision Index. If the Decision generates only one Selection (i.e. it does not originate from a multi-winner placement) then the DecisionIdx will always be 0. For multi-winner placements, the DecisionIdx will be the order of the Selection within the Decision (zero indexed).0int
DeliveryMode1 = Web (served by ados.js tags)
2 = Email (served by HTML tags)
3 = API (served by REST call)
4 = Static Tracking Link (served by GIF).
3int
Device.advertisedOsDevice details from browser UserAgentstring
Device.advertisedOsMajorVersionDevice details from browser UserAgentint
Device.advertisedOsMinorVersionDevice details from browser UserAgentint
Device.advertisedOsRawVersionDevice details from browser UserAgentstring
Device.brandNameDevice details from browser UserAgentstring
Device.browserDevice details from browser UserAgentstring
Device.browserMajorVersionDevice details from browser UserAgentint
Device.browserMinorVersionDevice details from browser UserAgentint
Device.browserRawVersionDevice details from browser UserAgentstring
Device.deviceIdentifiedDevice details from browser UserAgentboolean
Device.formFactorDevice details from browser UserAgentstring
Device.modelNameDevice details from browser UserAgentstring
Device.osMajorVersionDevice details from browser UserAgentint
Device.osMinorVersionDevice details from browser UserAgentint
Device.osRawVersionDevice details from browser UserAgentstring
EcpmCalculated ECPM of the impression/click/event.830.070956float
EcpmPartitionValue pased in during decision request. See https://dev.kevel.com/docs/ecpm-partitionsstring
FirstChannelIdDeprecatedint
FrequencyCapThe type(s) of frequency capping applied to the impression. Logged as the decimal value of a hex bit flag:

FlightCapped: 0x00000001
AdCapped: 0x00000010
CampaignCapped: 0x00000100
AdvertiserCapped: 0x00001000
FlightDoesNotAffectParent: 0x00010000
AdDoesNotAffectParent: 0x00100000
CampaignDoesNotAffectParent: 0x01000000

For instance, an impression with both a flight cap and ad cap has a flag of 0x00000011, i.e. decimal 17.
int
GeoMatchedPointsOnly included when using GeoDistance targeting. List of GeoDistance targets.
GdprComputedIf true, the request has GDPR consent (from the request itself, from a UserDB record, etc.).TRUEboolean
GdprConsentRequiredIf true, the gdprConsentRequired parameter was provided on the request, indicating that the user was subject to GDPR regulation (even if they didn't use an EU IP address).FALSEboolean
GdprConsentStringThe IAB consent string provided with the request if the string was used when computing GDPR consent.““string
GdprSourceWhere GDPR consent data (true or false) originates:

none - no consent
request - on the ad request
userdb - on the user record
both - both user record and request
str - from an IAB consent string + allowed vendor ID
"none"string
GmvGross Merchandise Value. Sourced from the event URL if appended as a query parameter. Calculated by taking the gmv parameter on the event URL and multiplying by 1,000,000.int
IdThe unique Selection ID."71f5686388df4fd99fb
f43b96eeb4946"
string
IsNoTrackIf true, the impression was served to a Do Not Track enabled user (boolean).FALSEboolean
IsPublisherPayourExemptDeprecatedboolean
IsRemainderIf true, the impression was served as part of the "Remainder Percentage" in an auction priority. IsRemainder is only logged when true.FALSEboolean
IsTrackingCookieEventsIf true, the impression is tracking conversions. Sourced from the event shim (boolean).FALSEboolean
IsValidUAIf true, the impression passed the bots and spiders filter (boolean).TRUEboolean
KeywordsKeyword(s) sent on the request, converted into a comma separated string. Sourced from the event shim."fpfdvrmwggl4z,j7sr2y
wlddf6m,dt7zi5mlfrrs7,
kr74uowfsyyzp"
string (comma delimited)
Location.CountryCodeAn array of location data from the request. Sourced from the ad request, NOT the event shim."AU"string
Location.CountryNameSee above."Australia"string
Location.RegionSee above."NSW"string
Location.CitySee above."Sydney"string
Location.DmaCodeSee above.int
Location.MetroCodeSee above.int
Location.PostalCodeSee above."2000"string
Location.LatitudeSee above.0int
Location.LongitudeSee above.0int
MatchingKeywordsKeyword(s) present in the ad. Sourced from the event shim.["j7sr2ywlddf6m",
"hh7sr2ywlddf6"]
array[string]
Meta:schemaThe type of log - will always be event."event"string
Meta:versionThe version of the log format this log object uses."1.3"string
NetworkIdThe numeric ID of the selection's network. Sourced from the event shim.10322int
OptimizedPriceThe price set by a bid optimizer (as in ROAS targeting) and is distinct from the initial priceint
PassIdThe numeric ID of the selection's flight. Sourced from the event shim.11082877int
PhantomCreativePassIdDeprecatedint
PhantomPassIdDeprecatedint
PlacementNameThe name of the Placement object or
that served the ad. Sourced from the event shim.
"placement 5"string
PriceThe price per unit (CPA, CPM, CPC etc.) associated with the impression. Returned as a string. Sourced from the event shim."6.01"string
PriorityIdThe numeric ID of the selection's priority. Sourced from the event shim.161492int
RateTypeThe rate used by the flight. Sourced from the event shim:
· 1 - Flat
· 2 = CPM
· 3 = CPC
· 4 = CPA View
· 5 = CPA Click
· 6 = CPA Both
3int
RelevancyScore500int
RemoteIPDue to GDPR regulation, this is sanitized as 0.0.0.0 instead of the IP address. You can optionally log IP addresses if the request or user record IP address does not originate from a GDPR regulated area(https://dev.kevel.co/docs/gdpr-compliance-and-consent-settings#section-writing-ip-addresses-to-data-shipping-when-gdpr-doesnt-apply)."0.0.0.0"string
RevenueRevenue generated via the impression. Calculated by taking the revenue field in the event shim and multiplying by 1,000,000.0
revenueMultiplierKevel Internal: Set to 1000000int
SelectionCountThe number of selections. This is always 1int
ServedBy"i-0ecaf52dd4dba2672"string
ServedByAsg"bifrost-adservers-default
-us-east-1"
string
ServedByPid43473int
SiteIdThe numeric ID of the impression's site. Sourced from the event shim.1086974int
TimeZoneIdTimezone of the flight ie. "UTC"string
User.IsNewAn array of user data (in UserDB) associated with the impression. Contains two fields: the Key, and whether or not this is a new user. Sourced from either the UserDB record or the user's cookie.FALSEboolean
User.TypeKevel Internalint
User.KeySee above."ue1-3542a229b8be4109b
cad892fc317ddfa"
string
UserAgentDeprecated for privacy purposes. User agent data can now be found in the Device object
UserKeyThe user Key (used by UserDB) associated with the impression. Sourced from the ad request."ue1-3542a229b8be4109b
cad892fc317ddfa"
string
ZoneIdThe numeric ID of the impression's zone (if applicable). Sourced from the event shim.0int

UserDB Logs

UserDB logs contain JSON objects that represent an activity involving user records— adding custom interests, setting interests, setting GDPR consent, etc. UserDB logs are not shipped by default. You will need to have UserDB enabled, data shipping enabled, AND request the beta logs via a support ticket.

KeyDescription
ActionThe UserDB action logged. See table below.
BrandIdThe ID of a retargeted advertiser, set by the /rt endpoint.
Custom:[key]Custom JSON values set by /custom endpoint.
ConsentGDPR consent string set by /consent endpoint.
InterestInterest, set by /interest endpoint.
IPUser's IP address, set by the /ip endpoint.
Meta:versionThe version of the log format this log object uses.
Meta:schemaThe type of log - will always be userdb.
NetworkIdYour account's network ID.
PartnerIdRTB partner ID set by /sync endpoint.
PartnerKeyPartner key that was set by /sync endpoint.
Property:[key]Any properties passed as a query string on the endpoint, as ?property:foo=bar.
SegmentIdThe ID of a retargeting segment, set by the /rt endpoint.
TimestampTime of the action, as milliseconds since UNIX epoch.
UserKeyThe UserDB ID (also known as "user key") of the user.

Action values:

ActionDescription
cookieUser record was loaded as the azk cookie (/set endpoint).
consentUser's consent was added/removed (/consent endpoint).
customCustom JSON data was added to a user record (/custom endpoint).
forgetUser record was forgotten (/forgot endpoint).
interestInterest was added to a user record (/interest endpoint).
ipIP address was added to user record (/ip endpoint).
retargetingUser record was added to retargeting segment (/rt endpoint).
optoutUser was opted out of UserDB tracking (/optout endpoint).
syncUser record was synced with a third-party ID (/sync endpoint).
{
  "Meta:schema": "userdb",
  "Meta:version": "1.0",
  "NetworkId": 1234,
  "UserKey": "newKey",
  "Timestamp": 1540920521404,
  "Action": "cookie"
}