A/B Testing

Digital TUbrune has released a A/B Testing mechanism for our DSP partners. The goal is to track and measure the impact of every new SDK version and ensure we drive better performance for our buyers on every release. Better performance means higher CTR, conversion rates, and ROAS for our bidders. 

Requirements

Demand partner must have an OpenRTB integration with DT.
Server-to-server and programmatic mediation integrations are unable to use this feature.

Specification

A/B Testing is executed using a custom extension on the bid request under the Impression Object.

The custom extension is used by DT to tell the DSP that this request is part of an A/B test, and specify to which test(s) and group(s) the session corresponds.

Bid Request
imp.ext.abgroup: "TestName1,A;TestName2,B"

Notes

  • DT supports running more than one A/B test at a time. Each test is separated by a semicolon (;)
  • DT only omits “abgroup” when no test is relevant to the session

Reporting

DT encourages our demand partners to ingest the A/B test string value, so they are able to report on performance KPIs that DT does not otherwise have access to like conversion rate or ROAS.

Our goal is to understand, for example, if Group A yields higher or lower conversion rate than the control group, so we can measure the impact of key new feature developments on our SDK and ensure we are providing incremental value on every new release.

Sample Bid Request

Below is a sample bid request of the Impression Object with the "abgroup"

Text
{
       "id": "780000xxxxxx9202912",
       "imp": [{
              "id": "1",
              "secure": 0,
              "tagid": "679721",
              "banner": {
                     "id": "1",
                     "w": 320,
                     "h": 50,
                     "wmin": 300,
                     "hmin": 50,
                     "pos": 4,
                     "battr": [3, 6, 7, 9, 10, 14, 17],
                     "topframe": 1,
                     "btype": [4],
                     "api": [5],
                     "ext": {}
              },
              "displaymanager": "Fyber",
              "displaymanagerver": "7.4.1",
              "clickbrowser": 0,
              "instl": 0,
              "bidfloor": 5.00,
              "bidfloorcur": "USD",
              "ext": {
                     "brsrclk": 1,
                     "ctamethod": [1, 2],
                     "ctatext": 1,
                     "abgroup": "CTAMethod,A;VideoPlayer,B"
              }
              }],
              "app": {
                     "id": "67xx21",
                     "name": "App_Name",
                     "cat": ["IAB9-30"],
                     "ver": "1.6.2",
                     "bundle": "com.bundle",
                     "privacypolicy": 1,
                     "paid": 0,
                     "publisher": {
                           "id": "555555",
                           "name": "App_Name",
                           "ext": {}
                     },
                     "storeurl": "https:\/\/play.google.com\/store\/apps\/details?id=com.bundle",
                     "ext": {}
            },
            "device": {
                   "dnt": 0,
                   "ua": "Mozilla\/5.0 (Linux; Android 9; SM-A205U1 Build\/PPR1.180610.011; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/80.0.3987.149 Mobile Safari\/537.36",
                   "ip": "99.203.90.47",
                   "lmt": 0,
                   "geo": {
                          "lat": 29.772,
                          "lon": -95.3644,
                          "country": "USA",
                          "ipservice": 3,
                          "region": "TX",
                          "metro": "618",
                          "city": "Houston",
                          "zip": "77002",
                          "type": 2,
                          "ext": {}
                   },
                   "carrier": "120",
                   "language": "en",
                   "make": "Samsung",
                   "model": "SM-A205U1",
                   "os": "Android",
                   "osv": "9.0",
                   "hwv": "Galaxy A20",
                   "w": 411,
                   "h": 813,
                   "js": 1,
                   "connectiontype": 6,
                   "devicetype": 4,
                   "ifa": "999999999999999",
                   "ext": {
                          "inputLanguage": ["en"]
                   }
            },
            "user": {
                   "gender": "",
                   "ext": {
                          "consent": ""
                   }
            },
            "source": {
                    "fd": 0,
                    "tid": "7800004201389202912",
                    "ext": {
                           "schain": {
                                 "ver": "1.0",
                                 "complete": 1,
                                 "nodes": [{
                                        "asi": "fyber.com",
                                        "sid": "555555",
                                        "hp": 1,
                                        "rid": "78000xxxxx389202912"
                                 }]
                           }
                     }
            },
            "regs": {
                  "coppa": 0,
                  "ext": {
                        "gdpr": 0,
                        "us_privacy": ""
                  }
            },
            "at": 2,
            "cur": ["USD"],
            "tmax": 350,
            "bcat": ["IAB7-39", "IAB14-1", "IAB14-3", "IAB25-1", "IAB25-6", "IAB8-5", "IAB8-18", "IAB12-2", "IAB12-3", "IAB11-4", "IAB12-1", "IAB7-28", "IAB7-42", "IAB17-18", "IAB25-1", "IAB25-2", "IAB25-3", "IAB25-4", "IAB25-5", "IAB26", "IAB26-1", "IAB26-2", "IAB26-3", "IAB26-4", "IAB9-9"],
            "badv": ["advertiser.com"],
            "ext": {}
}

Back to Top ⇧