Everything You Need to Build a World-Class Retail Media Network

The Retail Media CloudTM is the ultimate SaaS platform for building retail media networks that maximize your share of advertiser budgets.

Launch high-impact ads that your brands will love in as little as 14 days.

Ad serving desktop Kevel - Your Retail Media best ads infrastructure
property guru logo
slickdeals logo
delivery hero logo
El Corte Ingles Logo
Klarna Logo
united airlines logo
Ticketmaster Logo
dunnhumby logo
ifood logo
flink logo
foodboss logo
oda logo
kidizen logo
shop apotheke logo
property guru logo
slickdeals logo
delivery hero logo
El Corte Ingles Logo
Klarna Logo
united airlines logo
Ticketmaster Logo
dunnhumby logo
ifood logo
flink logo
foodboss logo
oda logo
kidizen logo
shop apotheke logo
MacBook Air
Introducing
The retail media cloud tm

Introducing

The Retail Media CloudTM

Built or Retailers, Marketplaces, and eCommerce

Built for Retailers, Marketplaces, and eCommerce

The Retail Media CloudTM

Powered by the Kevel Ad Server and Kevel Audience for launching targeted, attributable, customizable ad formats. Stand out to advertisers with your new, differentiated, custom retail media network.
Kevel Ad Server

Kevel Ad Server

Our full suite of composable ad serving APIs to power ad decisioning, campaign management, reporting, and catalog ingestion. Work via API or use our intuitive UI to power all of your owned inventory.

Learn more
Kevel Audience

Kevel Audience

Our customer data platform that harnesses your first-party data into a single customer view for AI-powered segmentation, audience activation, and ad personalization.

Learn more

The Retail Media CloudTM

Built with the power of the Kevel Ad Server APIs and Kevel Audience for launching limitless ad formats and unique targeting segments, all with closed-loop attribution.
Kevel Ad Server

Kevel Ad Server

Our full suite of composable ad serving APIs to power ad decisioning, campaign management, reporting, and catalog ingestion. Work via API or use our intuitive UI to power all of your owned inventory.

OUTCOMES

Why Retailers Build on The Cloud

Make our tech your own. The Retail Media CloudTM provides all the resources you need to launch your custom retail media program.
Ads your way image
Your ads, your way
API-first means you maintain total control of what ads appear on your site and who they are served to.
Revenue that stays in your pocket
We don’t punish you for growth–with SaaS pricing, you pay for tech, not performance.
Revenue image
Fast track your ad stack
Get to market faster with products that integrate seamlessly into your current stack.
Fast Track image
Don’t forfeit your data to use it
We never learn from your data or force our own data modeling on your unique network.
Big Data Kevel
SOC 2 Type II compliancy icon
Soc 1 and 2 compliant
Industry-leading data compliance means top-of-line data security.
Bring your own ML model
We know you know your customers best–use your data confidently and securely.
Machine leaning model Kevel big data

Your ads, your way

API-first means you maintain total control of what ads appear on your site and to which audiences.
Ads your way image

Fast track your ad stack

Get to market faster with products that integrate seamlessly into your current stack.
Fast Track image

Revenue that stays in your pocket

We don’t punish you for growth–with SaaS pricing, you pay for tech, without a tax on your performance.
Revenue image

Soc 1 and 2 compliant

Industry-leading data compliance means top-of-line data security.
SOC 2 Type 2 Compliant logo

Don’t forfeit your data to use it

We never learn from your data or force our own data modeling on your unique network.
Don't Forget you data to use it image

Bring your own ML models

You know your customers best. Use your own data confidently and securely.
Bring your own ML model
AD UNITS

Build beyond traditional ad formats

Ditch the awkward white space. Create fast-loading, server-side ad units custom-built for your site and your shoppers.

Sponsored Listings

Sponsored Listings

Native Banner Companion

Native Companion Banner

Video Sponsored Shelf

Video Sponsored Shelf

Email Banner

Email Banner

Digital In-Store

Digital In-Store example

8598

different ad units powered by Kevel (and counting)

<

50

ms

average p95 latency

0

ads blocked

Launch faster with the power of APIs

Save engineering time with composable ad serving functionality. We’re obsessed with giving publishers the tools of big tech so that your teams can build what you need on one platform. Explore our ad serving APIs for yourself with our Knowledge Base and API docs.
import adzerk_decision_sdk

# Demo network, site, and ad type IDs; find your own via the Kevel UI!
client = adzerk_decision_sdk.Client(23, site_id=667480)

request = {
  "placements": [{"adTypes": [5]}],
  "user": {"key": "abc"},
  "keywords": ["keyword1", "keyword2"],
}

response = client.decisions.get(request)
print(response)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>Kevel Decision API - JavaScript Request</title>
    <script type="text/javascript" src="https://unpkg.com/@adzerk/decision-sdk/dist/adzerk-decision-sdk.js"></script>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script type="text/javascript">
      requestNativeAd = function() {
        // Demo network, site, and ad type IDs; find your own via the Kevel UI!
        let client = new AdzerkDecisionSdk.Client({
          networkId: 23,
          siteId: 667480
        });

        let request = {
          placements: [{
            adTypes: [5]
          }]
        };

        client.decisions.get(request).then(response => {
          let decision = response.decisions.div0[0];

          // Inject ad contents into page
          $("#div0").replaceWith(decision.contents[0].body);
          $("#response").text(JSON.stringify(response));
          $("#clickUrl").text(decision.clickUrl);

          // Record the impression
          client.pixels.fire({
            url: decision.impressionUrl
          });

        }).catch(error => {
          console.log("ERROR!", error.toString());
        });
      };
    </script>
  </head>

  <body>
    <h1>Kevel Native Ad Request</h1>

    <p>Press the button to make an ad request, record the impression, and display both the internal JSON and HTML payload of the response. The response includes data like Impression URL, Click URL, Campaign ID, Metadata, and more. (Note: May not work if you're using an ad blocker).</p>

    <button type="button" onclick="requestNativeAd()">Request Ad</button>

    <hr />

    <h4>Image:</h4>
    <div id="div0">
      <code>(Nothing yet; please click the button!)</code>
    </div>

    <h4>JSON Response:</h4>
    <code id="response">(Nothing yet; please click the button!)</code>

    <h4>Click URL:</h4>
    <code id="clickUrl">(Nothing yet; please click the button!)</code>
  </body>
</html>
package com.adzerk.examples;

import java.util.*;
import com.adzerk.sdk.*;
import com.adzerk.sdk.generated.ApiException;
import com.adzerk.sdk.generated.model.*;
import com.adzerk.sdk.model.DecisionResponse;

public class FetchAds {
  public static void main(String[] args) throws ApiException {
    // Demo network, site, and ad type IDs; find your own via the Kevel UI!
    Client client = new Client(new ClientOptions(23).siteId(667480));
    Placement placement = new Placement().adTypes(Arrays.asList(5));
    User user = new User().key("abc");

    DecisionRequest request = new DecisionRequest()
      .placements(Arrays.asList(placement))
      .keywords(Arrays.asList("keyword1", "keyword2"))
      .user(user);

    DecisionResponse response = client.decisions().get(request);
    System.out.println(response.toString());
  }
}
import { Client } from "@adzerk/decision-sdk";

// Demo network, site, and ad type IDs; find your own via the Kevel UI!
let client = new Client({ networkId: 23, siteId: 667480 });

let request = {
  placements: [{ adTypes: [5] }],
  user: { key: "abc" },
  keywords: ["keyword1", "keyword2"]
};

client.decisions.get(request).then(response => {
  console.dir(response, { depth: null });
});
require "adzerk_decision_sdk"

# Demo network, site, and ad type IDs; find your own via the Kevel UI!
client = AdzerkDecisionSdk::Client.new(network_id: 23, site_id: 667480)

request = {
  placements: [{ adTypes: [5] }],
  user: { key: "abc" },
  keywords: ["keyword1", "keyword2"],
}

pp client.decisions.get(request)
(ns example-ad-request
  (:import (com.adzerk.sdk Client ClientOptions)
           (com.adzerk.sdk.generated.model DecisionRequest Placement User)))

(defn -main []
  ; Demo network, site, and ad type IDs; find your own via the Kevel UI!
  (let [client (Client. (doto (ClientOptions. (int 23)) (.siteId (int 667480))))
        request (doto (DecisionRequest.)
                      (.placements [(doto (Placement.) (.adTypes [5]))])
                      (.keywords ["keyword1" "keyword2"])
                      (.user (doto (User.) (.key "abc"))))
        response (-> client (.decisions) (.get request))]

    (println response)))
curl -H 'Content-Type:application/json' \
  -X POST \
  -d '{"placements":[{
  "divName":"div1",
  "networkId":23,
  "siteId":667480,
  "adTypes":[5]}],
  "user":{"key":"abc"}}' \
  \
  https://e-23.adzerk.net/api/v2
CUSTOMERS

See what others are building

"With Kevel, we built a custom ad platform that drove 30% more revenue for our marketplace”

— Director of Ad Engineering, Edmunds
Edmunds Logo

+30%

Revenue Growth

9x

Faster launch than from scratch

"With Kevel we built the exact ad server we wanted. No other solution could provide this flexibility."

— VP of Product, Ticketmaster
Ticketmaster logo

10x

Faster MVP launch

$1MM+

In engineering cost savings

“We may be a small marketplace, but with Kevel we quickly built a new revenue stream. It was profitable within one month of launching.”

— Senior Software Engineer
Chairish logo

18x

ROI

<50ms

Average response times

Ready to get started?

Talk to one of our experts today. Learn how The Retail Media CloudTM can supercharge your retail media network or review our documention.