User Defined Models
For the Targeting Model, report-generated outputs can be easily applied to a campaign, but users are not limited to the exact variables and combinations identified by the model. Users can also create their own custom JSON file using the same general structure as the model outputs.
This allows users to define variables and combinations based on their own campaign learnings, business rules, historical performance, or optimization goals. For example, a user may already know that a certain geography, publisher, device type, content genre, or day of week is strategically important and can build those values into a custom model.
Score Requirements
Each entry must include a numeric score between -1 and 1.
Supported Fields and Expected Values
The required fields depend on whether the entry is a single variable, a 2-way combination, or a 3-way combination. The following fields can be used in custom Targeting Models:
| Field | Description | Expected Value |
|---|---|---|
geo_zip | ZIP code | 5-character, zero-padded string, such as (“04501” not “4501”) |
geo_region | State or region | Region code in the format used by bid request data, such as “ny” or “tx” |
device_type | Device type | IAB device type enum value as a string: “1” = Mobile/Tablet “2” = Personal Computer “3” = Connected TV “4” = Phone “5” = Tablet “6” = Connected Device “7” = Set Top Box |
publisher_name | Publisher name | Exact publisher value as represented in bid request data |
site_domain | Site domain | Exact domain value, including subdomain when applicable |
app_bundle | App bundle or app ID | Exact bundle value as represented in bid request data |
content_channel | Content channel | Exact content channel value as represented in bid request data |
content_network | Content network | Exact content network value as represented in bid request data |
content_genre | Content genre | Exact content genre value as represented in bid request data |
content_livestream | Livestream indicator | Exact value used in bid request data. Either 1 for live content or 0 for non live content. |
content_title | Content title | Exact content title value as represented in bid request data |
content_series | Content series | Exact content series value as represented in bid request data |
content_id | Content ID | Exact content ID value as represented in bid request data |
exchange | Exchange | Exact exchange value as represented in bid request data: “index”, “magnite”, “dvplus”, “msft”, “freewheel”, “triton”, “adswiz” |
day | Day of week | Three-letter day value: “sun”, “mon”, “tue”, “wed”, “thu”, “fri”, or “sat” |
hour | Hour of day | Integer hour from 0 through 23, where 0 represents 12:00 AM and 23 represents 11:00 PM |
ip | IP address | Exact IP value |
deal_id | Deal ID | Exact deal identifier represented in bid request data. This can be found in the Bidder > Inventory > Deals/Negotiated Deals tables and the ART > Deals Landscape > Deals table |
Values should match the format used in the underlying bid request data.
For example
{
"feature": "device_type",
"value": "3",
"score": 0.80
}
Use “3”, not “Connected TV” or “CTV”.
Single Variable
A single-variable entry must include:
- feature: The name of the feature.
- value: The specific value associated with the feature.
- score: A numeric value between -1 and 1.
Example:
{
"feature": "geo_zip",
"value": "10025",
"score": 0.95
}
This example assigns a score of 0.95 to ZIP Code 10025.
2-Way Combination
A 2-way combination must include:
- feature1: The name of the first feature.
- feature2: The name of the second feature.
- combination: The exact values associated with feature1 and feature2, provided in the same order and separated by ×.
- score: A numeric value between -1 and 1.
Example 1:
{
"feature1": "geo_zip",
"feature2": "device_type",
"combination": "10025 × 4",
"score": 0.90
}
This represents ZIP Code 10025 + Device Type 4 with a score of 0.90.
Example 2:
{
"feature1": "content_genre",
"feature2": "day",
"combination": "news/talk radio × thu",
"score": 0.75
}
This represents Content Genre = news/talk radio + Day = Thursday with a score of 0.75.
The values in combination must match the order of the corresponding feature fields.
3-Way Combination
A 3-way combination must include:
- feature1: The name of the first feature.
- feature2: The name of the second feature.
- feature3: The name of the third feature.
- combination: The exact values associated with feature1, feature2, and feature3, provided in the same order and separated by ×.
- score: A numeric value between -1 and 1.
Example:
{
"feature1": "geo_zip",
"feature2": "publisher_name",
"feature3": "device_type",
"combination": "10025 × iheartmedia × 4",
"score": 0.85
}
The order of the values in combination must match the order of the corresponding feature fields.
For example:
feature1 = geo_zipfeature2 = publisher_namefeature3 = device_type
must correspond to:
10025 × iheartmedia × 4
Users can include one or multiple single variables, 2-way combinations, and 3-way combinations in a custom JSON file to define the optimization logic they want to apply.
Model-generated metrics such as conversion rate, lift, score, and statistical significance apply only to variables and combinations produced and evaluated by the model. User-created variables or combinations should not be assumed to have the same performance unless they are separately analyzed and validated.
Reach out to your Account Manager or contact us through the Pontiac Help Center for assistance creating and implementing a custom JSON model.