| Оглавление |
|---|
Revisions history
...
| Revision | Changes |
|---|---|
| 1. | Initial version |
| 1.1 | Changed mobile DMP USER ID raw and md5 formats and hashing rules. |
Basics
This document describes a generic way to upload segmented data DMP segments to GetIntent Getintent DSP for further targeting. The workflow is as follows:
- DMP uploads data through SFTP protocol on GetIntent serversThe data is represented as set of txt.gz files using tab separated format (below)Getintent servers
- Batch files with segments
- Taxonomy files with segments meta information.
- DSP starts using this segments data for targeting
Batch File name format
The DMP data should be stored in txt.gz files in following formatand be named the following way:
[DMP ID].[DATE as yyyy-MM-dd_HH-mm-ss].[FILE ID].txt.gz
Where:
- [DMP ID] a string id assigned to DMP partner
- [DATE] date of file generation in specified format
- [FILE ID] unique file id
Example:
thesome_dmp. 2015-07-15_12-00-00.632a0017-bbda-4be7-a5fe-6a2478b65c89.txt.gz
| Якорь | ||||
|---|---|---|---|---|
|
Data format
The first line of file should be a header and will always be ignored. The further line should follow the syntax below:
[DMP USER ID]<tab>[DSP USER ID]<tab>[SEGMENTS TO ADD]<tab>[SEGMENTS TO REMOVE]
Where:
...
- Only one of [DMP USER ID] or [DSP USER ID] should present (depends on which party is storing user matching tables)
User ID format
For display (desktop inventory format) [DMP USER ID] or [DSP USER ID] could be any string that doesn't contain ':' character.
For mobile DMP USER ID each user id should have a prefix
Prefix | Meaning | Examples |
|---|---|---|
m_raw | Raw advertiser id | Android |
m_md5 | CURRENTLY NOT SUPPORTED! Check with us for options. MD5 hash of IDFA or Android ID. Hashing is done over string representation of UUID! After that hash is encoded to hex string. | m_md5: 86d8638a89ae4a53a57746500f268bcc |
m_sha1 | NOT SUPPORTED | NOT SUPPORTED |
Cookie (user) matching
...
User matching flow
Getintent DSP can store user matching tables on their side but it's no recommended and should be done only in case it's the only option to integrate with DMP. The following matching cases are supported:
...
DSP Initiates Syncs | DMP Initiates Syncs | |
|---|---|---|
DMP Stores Matching | DSP calls: | DMP calls |
[Getintent domain]/p/cm/ |
[DMP_NAME]?u=[DMP_USER_ID] | |
DSP Stores Matching | DSP calls: |
[Getintent domain]/p/cm/ |
[DMP_NAME]?u=[DMP_USER_ID] | DMP calls |
[Getintent domain]/p/cm/ |
[DMP_NAME]?u=[DMP_USER_ID] |
...
Taxonomy import
To keep segments list up to date recommended to use auto taxonomy import. Taxonomy file should be placed in the same location where batch file is placed. Taxonomy should have the same name prefix as batch file: [DMP ID].[DATE as yyyy-MM-dd_HH-mm-ss].[FILE ID].taxonomy.json
| Якорь | ||||
|---|---|---|---|---|
|
Taxonomy should be provided in json format and follow this format:
| Node | Description | Mandatory |
|---|---|---|
| id | Segment id in DMP taxonomy | required |
| name | Segment name | required |
| cost_type | Commission type RATE or FIX | |
| cost_value | CPM in case of FIX or percents in case of RATE commission | |
| currency | Segment currency RUB/USD | |
| advertisers | List of advertisers ids to which segment should be availble | |
| available_to_all | Should the segment be available to all advertisers (default: false). If set to true, advertisers array must also be empty. |
When no cost is provided then default pricing from DMP settings will be used.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[
{
"id": 1000,
"name": "Mens 18-24",
"cost_type": "RATE",
"cost_value": 20,
"currency": "USD",
"advertisers": [
1000,
2000,
3000
]
},
{
"id": 1001,
"name": "Mens 25-29",
"cost_type": "FIX",
"cost_value": "1",
"currency": "USD",
"advertisers": [
1000,
2000,
3000
]
}
] |