AdSpirit supports the ability to inform the winner of the RTB auction winning price. It is also possible that AdSpirit price notifications that won the auction receives which was bidding system.
Price transmission
The winning prize is within AdSpirit with the parameter & prenca and transmits = & prencm = View within the tracking URL. In addition, in some cases, the placeholder% RTB_PriceEnc_A% is used to transmit at a different location than the view tracking URL price. In order to protect this from manipulation of the price is encrypted and has a validity period (typically +/- 10 minutes).
Set price transmission
To enable the price transmission needs to within the ad space or the advertisement for which the price transmission to be activated, the setting RTB Price transmission are activated and an encryption key and an integrity key are stored. The encryption key and the integrity key must be given to the publishers / advertisers and also stored in this.
Please note: Once the price transmission is activated by the normal billing / payment of the advertisement and the advertising space is overwritten. Registered in the campaign values will apply only as maximum bid for RTB bidding.
Price encryption
The encryption of the prices will be based on used by Google AdExchange algorithm. Here, the price, a current time stamp and the two stored key is encrypted via SHA1 methods or decrypted. The pseudo code for encryption of the values is as follows:
iv = InitializatioVector (16 bytes)
e_key = encryption key (32 bytes)
i_key = integrity key (32 bytes)
price = price in millionths (8 bytes)
pad = SHA1 (e_key, iv) // first 8 bytes
enc_price = pad <xor > price
signature = sha1 (i_key, price || iv) // first 4 bytes
final_message = WebSafeBase64Encode (iv || || enc_price signature)
The pseudo code for decryption is as follows:
enc_price = WebSafeBase64Decode(final_message)
(iv, p, sig) = dec_price -- split up according to fixed lengths
price_pad = sha1(e_key, iv)
price = p <xor> price_pad
conf_sig = sha1(i_key, price || iv)
success = (conf_sig == sig)
The date information are contained within the first 8 bytes of the encrypted message.