Proxying Impressions Through Your Server

Overview

You can proxy Kevel impression events through your own server. This allows you to:

Understanding the Impression Pixel

An Kevel impression pixel consists of:

A complete pixel URL looks like:

https://e-1234.adzerk.net/i.gif?e=eyJhdiI6NDM3LCJhdCI6NSwiY&s=ujZhktar1g1emAP

In a Decision API response, the impression pixel URL is returned as the impressionUrl parameter.

To record an impression, a browser or script must GET the impression URL.

{
  "adId": 111,
  "creativeId": 222,
  "flightId": 333,
  "campaignId": 444,
  "clickUrl": "https://e-1234.adzerk.net/r?...",
  "impressionUrl": "https://e-1234.adzerk.net/i.gif?...",
  "events": [
        { "id": 12,
          "url": "https://e-1234.adzerk.net/e.gif?..." 
        },
        { "id": 13,
          "url": "https://e-1234.adzerk.net/e.gif?..." 
        },
        { "id": 14,
          "url": "https://e-1234.adzerk.net/e.gif?..." 
        }
  ]
  ...
}

Creating a Proxy Server

A server for proxying impressions must be able to:

The server that renders an ad on a page then renders the new "native" impression URL.

Finally, when a user's browser hits the new impression URL, the proxy server will count the impression using the Kevel impression URL format.

Here's an example of how the process works: