External Brand Safety

📘

This topic provides more context for the external_brand_safety field.
The object schemas for this field are described in the topics that follow.

Overview

To ensure that your creatives appear alongside content that is right for your brand, you can apply external brand safety to your campaign. External brand safety is powered by 3rd party vendors e.g. IAS (Integral Ad Science).

Examples

In the examples below, account_id = "demo-advertiser" and campaign_id = "1234".

Sample Campaign Object (without external brand safety):

GET /backstage/api/1.0/demo-advertiser/campaigns/1234
{
   "id": 1234,
   // ...
   "external_brand_safety": {
      "type": "NONE",
      "values": []
   }
  // ...
}

Apply external brand safety (with 2 restrictions):

POST /backstage/api/1.0/demo-advertiser/campaigns/1234
{
   "external_brand_safety": {
      "type": "IAS",
      "values": [
         {
            "category_name": "Violence",
            "risk_level": "MEDIUM"
         },
         {
            "category_name": "Adult Content",
            "risk_level": "HIGH"
         }
      ]
   }
}
{
   "id": 1234,
   // ...
   "external_brand_safety": {
      "type": "IAS",
      "values": [
         {
            "category_name": "Violence",
            "risk_level": "MEDIUM"
         },
         {
            "category_name": "Adult Content",
            "risk_level": "HIGH"
         }
      ]
   }
  // ...
}

Remove 1 of the existing restrictions (from the previous example):

POST /backstage/api/1.0/demo-advertiser/campaigns/1234
{
   "external_brand_safety": {
      "type": "IAS",
      "values": [
         {
            "category_name": "Adult Content",
            "risk_level": "HIGH"
         }
      ]
   }
}
{
   "id": 1234,
   // ...
   "external_brand_safety": {
      "type": "IAS",
      "values": [
         {
            "category_name": "Adult Content",
            "risk_level": "HIGH"
         }
      ]
   }
  // ...
}

📘

Patch operations are not supported. To update the collection, submit a new collection and overwrite the old one.

Remove all restrictions:

POST /backstage/api/1.0/demo-advertiser/campaigns/1234
{
   "external_brand_safety": {
      "type": "NONE",
      "values": null
   }
}
{
   "id": 1234,
   // ...
   "external_brand_safety": {
      "type": "NONE",
      "values": []
   }
  // ...
}

Dictionary (Possible Values):

Get possible values for external brand safety type:

GET /backstage/api/1.0/resources/campaigns_properties/external-brand-safety/safety-type
{
   "results": [
      {
         "name": "NONE",
         "value": "None"
      },
      {
         "name": "IAS",
         "value": "Ias"
      }
   ]
   // Additional detail omitted...
}

Get possible values for restriction category name:

GET /backstage/api/1.0/resources/campaigns_properties/external-brand-safety/category-name
{
   "results": [
      {
         "name": "Violence",
         "value": "Violence"
      },
      {
         "name": "Hate_Speech_Content",
         "value": "Hate Speech Content"
      },
      {
         "name": "Offensive_Language_Content",
         "value": "Offensive Language Content"
      },
      {
         "name": "Adult_Content",
         "value": "Adult Content"
      },
      {
         "name": "Alcohol_Content",
         "value": "Alcohol Content"
      },
      {
         "name": "Illegal_Download_Content",
         "value": "Illegal Download Content"
      },
      {
         "name": "Drug_Content",
         "value": "Drug Content"
      }
   ]
   // Additional detail omitted...
}

📘

For an overview of the Dictionary, see: Dictionary.