Self-Serve Data Upload

    Upload data directly through the API and view the data together in reports.

    Ad Spend Data

    Directly upload impressions, clicks, and cost data for media sources that don't report spend by API.

    Metric Data

    Upload new metric data directly and view the status of your uploads.


    Upload Ad Spend Data

    POST

    https://api.airbridge.io/self-serve-data/v1/ad-spend/requests

    Request to upload ad spend data in CSV format.

    The Content-Type in the Request Header uses multipart/form-data.

    header-multipart
    1
    Content-Type: multipart/form-data; charset=utf-8

    CSV file format and schema

    Content rules and schema of ad spend CSV files

    Sample CSV File

    🚧 Case Sensitivity

    Please be aware that data in columns with a type defined as 'string' is case-sensitive.

    Note that Airbridge records mobile OS names as 'Android' and 'iOS'. When uploading your data, it's essential to use 'Android' and 'iOS' for OS names. Failure to do so may result in separate rows in the dashboard when data is grouped by results. Please adhere to this naming convention for consistency and accurate data representation.

    Overwrite (correct) Previously Ingested Ad Spend

    Previously ingested ad spend can be overwritten by using CSV files that contain data with the identical key of data previously ingested.

    The key is formed from the 'date', 'channel', and 'campaign' fields. If the keys match, data ingested last overwrites data previously ingested.

    [Example A]

    1. 2022-08-03: Upload data for date, channel, campaign, and ad_group.

    2. 2022-08-04: Upload data for date, channel and campaign.

    3. Result: Spend data from '2022-08-03' was overwritten by spend data from '2022-08-04' because '2022-08-04' was last ingested and the identical key is the same. (ad group is overwritten null)

    [Example B]

    1. 2022-08-03: Upload data for date, channel and campaign.

    2. 2022-08-04: Upload data for date, channel, campaign and ad_group.

    3. Result: Spend data from '2022-08-03' was overwritten by spend data from '2022-08-04' because '2022-08-04' was last ingested and the identical key is the same.

    [Example C]

    1. 2022-08-03: Upload data for date, channel, campaign and ad_group

    2. 2022-08-04: Upload data for date, channel, campaign and ad_group

    3. Result: Based on the values 'date', 'channel', and 'campaign', the data was overwritten by '2022-08-04'

    Delete Previously Ingested Ad Spend

    To delete previously uploaded cost data, re-upload the clicks, impressions, and cost metrics for the same identity key with all values set to 0.

    Note

    • Only be used as an API token for Owner, In-house Marketer permission accounts.

    • A maximum of 10000 rows are allowed in a CSV file for a single request.

    • The maximum size of a CSV file in a single request is 1 MB.

    • Column values of type string are limited to at least one character and up to 256 characters.

    • Ensure there are no spaces before or after the column name and value.

    Request

    Headers

    Accept-Language
    string

    You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. Instructions for getting API keys are in "how to generate API Keys".

    Request
    1234
    curl -X POST 'https://api.airbridge.io/self-serve-data/v1/ad-spend/requests' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    Response

    200SUCCESS

    Response
    12345678
    {
      "reason": null,
      "status": "uploaded",
      "createdAt": "2023-01-01T09:00:00",
      "requestId": "08844672-62d8-4da8-9d48-e14961651e0c",
      "updatedAt": "2023-01-01T09:00:00",
      "prevStatus": null
    }

    Get Ad Spend Data Upload Progress

    GET

    https://api.airbridge.io/self-serve-data/v1/ad-spend/requests/{request_id}

    Request status

    The status of an asynchronous request can be checked with task.status in the API request result.

    Request

    Headers

    Accept-Language
    string

    You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. Instructions for getting API keys are in "how to generate API Keys".

    Path Params

    request_id
    Requiredstring

    The request_id returned by the result of the 'Upload Data' API.

    Request
    1234
    curl -X GET 'https://api.airbridge.io/self-serve-data/v1/ad-spend/requests/08844672-62d8-4da8-9d48-e14961651e0c' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    Response

    200SUCCESS

    200SUCCESS

    Response
    12345678
    {
      "reason": "{\"date\": [\"invalid date\"]}",
      "status": "failed",
      "createdAt": "2022-08-24T11:54:18",
      "requestId": "846b78f9-1b6f-4ede-a253-619ca68fcebf",
      "updatedAt": "2022-08-24T11:54:17",
      "prevStatus": "uploaded"
    }
    Response
    12345678
    {
      "reason": null,
      "status": "succeeded",
      "createdAt": "2023-01-01T09:00:00",
      "requestId": "08844672-62d8-4da8-9d48-e14961651e0c",
      "updatedAt": "2022-01-01T09:00:00",
      "prevStatus": "ingested"
    }

    Upload Metric Data

    POST

    https://api.airbridge.io/self-serve-data/v1/metric/requests

    Request to upload metric data in CSV format.

    The Content-Type in the Request Header uses multipart/form-data.

    header-multipart
    1
    Content-Type: multipart/form-data; charset=utf-8

    CSV file format and schema

    Content rules and schema of ad spend CSV files

    Sample CSV File

    🚧 Case Sensitivity

    Please be aware that data in columns with a type defined as 'string' is case-sensitive.

    Note that Airbridge records mobile OS names as 'Android' and 'iOS'. When uploading your data, it's essential to use 'Android' and 'iOS' for OS names. Failure to do so may result in separate rows in the dashboard when data is grouped by results. Please adhere to this naming convention for consistency and accurate data representation.

    Overwrite Previously Ingested Metric Data

    Previously ingested metric data can be overwritten by using CSV files that contain data with the identical key of data previously ingested.

    The key is formed from the 'date', 'channel', and 'event_category' fields. If the keys match, data ingested last overwrites data previously ingested.

    [Example A]

    1. 2022-08-03: Upload for date, channel, campaign and ad_group.

    2. 2022-08-04: Upload for date, channel and campaign.

    3. Result: Spend data from '2022-08-03' was overwritten by data from '2022-08-04' because '2022-08-04' was last ingested and the identical key is the same. (ad group is overwritten null)

    [Example B]

    1. 2022-08-03: Upload for date, channel and campaign.

    2. 2022-08-04: Upload for date, channel, campaign and ad_group.

    3. Result: Based on the values 'date', 'channel', and 'campaign', the data was overwritten by '2022-08-04' (ad_group value are also updated.)

    [Example C]

    1. 2022-08-03: Upload for date, channel, campaign and ad_group.

    2. 2022-08-04: Upload for date, channel, campaign and ad_group.

    3. Result: Based on the values 'date', 'channel', and 'campaign', the data was overwritten by '2022-08-04'

    Archive Data

    If you want a previously uploaded metric to be invisible in a report, please request it through your CSM.

    Note

    • Only be used as an API token for Owner, In-house Marketer permission accounts.

    • The order of the columns in the CSV file does not affect the upload functionality.

    • The maximum size of a CSV file in a single request is 1 MB.

    • Column values of type string are limited to at least one character and up to 256 characters.

    • Ensure there are no spaces before or after the column name and value.

    • event_category can accept alphabets and numbers.

    • event_category cannot contain , " \.

    • New data registered during upload (e.g. self_serve_test_campaign for campaign) will not be visible in the selection options when using a filter. You can use it by entering it in freeform.

    • If the CSV file has rows where both the groupBy and the event category are the same, the data is displayed in the report as summed values for the same row.

    • Upload data

    • Display report

    Request

    Headers

    Accept-Language
    string

    You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. Instructions for getting API keys are in "how to generate API Keys".

    Request
    1234
    curl -X POST 'https://api.airbridge.io/self-serve-data/v1/metric/requests' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    Response

    200SUCCESS

    Response
    12345678
    {
      "reason": null,
      "status": "uploaded",
      "createdAt": "2023-01-01T09:00:00",
      "requestId": "08844672-62d8-4da8-9d48-e14961651e0c",
      "updatedAt": "2023-01-01T09:00:00",
      "prevStatus": null
    }

    Get Metric Data Upload Progress

    GET

    https://api.airbridge.io/self-serve-data/v1/metric/requests/{request_id}

    Request status

    The status of an asynchronous request can be checked with task.status in the API request result.

    Request

    Headers

    Accept-Language
    string

    You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. Instructions for getting API keys are in "how to generate API Keys".

    Path Params

    request_id
    Requiredstring

    The request_id returned by the result of the 'Upload Data' API.

    Request
    1234
    curl -X GET 'https://api.airbridge.io/self-serve-data/v1/metric/requests/08844672-62d8-4da8-9d48-e14961651e0c' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    Response

    200SUCCESS

    200SUCCESS

    Response
    12345678
    {
      "reason": null,
      "status": "succeeded",
      "createdAt": "2023-01-01T09:00:00",
      "requestId": "08844672-62d8-4da8-9d48-e14961651e0c",
      "updatedAt": "2023-01-01T09:00:00",
      "prevStatus": "ingested"
    }
    Response
    12345678
    {
      "reason": "{\"date\": [\"invalid date\"]}",
      "status": "failed",
      "createdAt": "2022-08-24T11:54:18",
      "requestId": "846b78f9-1b6f-4ede-a253-619ca68fcebf",
      "updatedAt": "2022-08-24T11:54:17",
      "prevStatus": "uploaded"
    }