Search
K

Managing Targeting Groups

Introduction

The targeting group is the entity where you set the targeting options for distribution. Targeting groups are made up of the various targeting options available for that campaign type. This can include ages, genders, OS, among other things.
One campaign can have multiple targeting groups. For example, a single campaign can target the following.
Campaign: US, UK, CA
  1. 1.
    Female users with an age of 25+
  2. 2.
    Both Male and Female users 50+ using operating system 12+
Bids can be set on 3 levels within a targeting group.
  1. 1.
    Default bid level: this covers the bid for the entire target group.
  2. 2.
    Country level: allows you to adjust the targeting group’s default bids for a single country or multiple countries.
  3. 3.
    Sub-publisher level: here you can adjust the bids for each sub-publisher app within each country selection.
In addition to adjusting the bids, this API can deny certain sub-publisher's apps from a targeting group.

Get the list of targeting groups

https://prod.adjoe.zone/v2/campaign-management-api/public/%TOKEN%/targeting-groups
  • %TOKEN%
    The token is a hex string, which is given to the advertiser by the account manager.
  • Method:
    The http request type
    GET
  • URL Query Parameters
    Querying active targeting groups follows a similar way to querying active campaigns. By default, all targeting groups for all campaigns are returned. However, it is possible to exclusively query active targeting groups. The query response will be limited to 1000 targeting groups in response. The next batch of targeting groups can be obtained by making the request with the NextKey from the previous request as the paging_key. The number of targeting groups to return is controlled by the limit parameter. If NextKey is missing or set to null you have reached the final page and there are no more results. Optional: active_only=true paging_key=eyJLZXkiOiJhYmMxMjMifQ== limit=100
  • Success Response:
    When successful, the API responds with a http OK status code, and a valid json object. There will be one item in Content for each targeting group in the adjoe system. A campaign can have multiple targeting groups.
    • Code: 200
      Content-Type: application/json; charset=utf-8
      Content:
      {
      "Content": [
      {
      "CampaignUUID": "00b8aaf6-b51c-407f-a680-cfba796779ad",
      "CampaignType": "playtime",
      "BidType": "CPI",
      "ExternalCampaignID": "abc123",
      "AppID": "com.app.1",
      "Countries": [
      "US"
      ],
      "TargetingGroupUUID": "9cec5527-c47e-4a6c-9e5f-eaff16bcba8a",
      "ExternalID": "xyz456",
      "ExternalName": "APP_US_M_21+",
      "Active": true,
      "Bid": 1.05,
      "CountryBids": [
      {
      "Countries": ["US"],
      "Bid": 1.2,
      "BidType": "CPI",
      "PublisherAppBids": [
      {
      "SubPublisherUUID": "e2529662-77ed-4072-8389-b023e867e393",
      "Bid": 0.8
      },
      {
      "SubPublisherUUID": "f3f66e52-50e4-40e4-9866-6ff0e42e0134",
      "Bid": 1.2
      }
      ]
      }
      ],
      "InstallLimits": {
      "Daily": 100,
      "Total": 10000
      },
      "BudgetLimits": {
      "Daily": 0,
      "Total": 0
      },
      "BudgetCapsUUIDs": ["cb7744d4-a6a1-4bb6-931e-c99e385fc9bb"]
      }
      ],
      "NextKey": "eyJLZXkiOiJhYmMxMjMifQ=="
      }
    JSON schema definition
    Attribute
    Type
    Description
    CampaignUUID
    uuid_v4
    The unique campaign UUID in the adjoe system.
    CampaignType
    string
    Type of the campaign, playtime | advance | insterstitial_video | rewarded_video | playtime_web
    BidType
    string
    Bid type of the campaign, only CPI
    ExternalCampaignID
    string
    The advertisers external ID for this campaign.
    AppID
    string
    The playstore or appstore app ID, e.g. com.app.1 for Android and 12345678 for iOS.
    Countries
    array of string
    The list of countries the targeting groups campaign is live; this is a list of 2 letter country codes.
    TargetingGroupUUID
    uuid_v4
    The unique UUID of the targeting group in the adjoe system.
    ExternalID
    string
    The ID of the targeting group set by the advertiser.
    ExternalName
    string
    The name of the targeting group set by the advertiser.
    Active
    bool
    The status of the campaign, can be either true or false.
    Bid
    float
    The Bid of the targeting group or the Bid in that targeting group for the Countries or the combination of Countries and SubPublisherUUID. The values are all in USD.
    InstallLimits.Daily
    int
    The daily install limit.
    InstallLimits.Total
    int
    The total install limit.
    BudgetLimits.Daily
    float
    The daily budget limit.
    BudgetLimits.Total
    float
    The total budget limit.
    SubPublisherUUID
    uuid_v4
    UUID of sub-publisher app for which to set the bid.
    DeniedSubPublisherUUIDs
    array of uuid_v4
    The list of unique UUIDs of publisher apps that would be blocked. The targeting group will no longer be distributed to these publisher apps.
    BudgetCapsUUIDs
    array of uuid_v4
    The list of unique UUIDs of the budget caps in the adjoe system that apply for this targeting group.
  • Error Response:
    The API does respond with different status codes, depending on the error:
    • Code: 401 UNAUTHORIZED
      If the authorization fails, the API returns status code 401 with error message.
      Content-Type: application/json; charset=utf-8
      Content:
      {
      "error" : "invalid token"
      }
    • Code: 400 BAD REQUEST
      If one of the URL parameters has a wrong format, the API returns status code 400 with error specific message.
      Content-Type: application/json; charset=utf-8
      Content:
      {
      "error": "active_only format is wrong. Please use true or false."
      }
  • Sample Curl Call:
    curl -X GET \
    'https://prod.adjoe.zone/v2/campaign-management-api/public/%TOKEN%/targeting-groups?active_only=true&limit=100'

Updating a single targeting group

https://prod.adjoe.zone/v2/campaign-management-api/public/%TOKEN%/campaign/%CAMPAIGN_UUID%/targeting-group/%TARGETING_GROUP_UUID%
  • %TOKEN%
    The token is a hex string, which is given to the advertiser by the account manager.
  • %CAMPAIGN_UUID%
    The unique UUID of the campaign obtained by previously fetching the available campaigns/targeting groups.
  • %TARGETING_GROUP_UUID%
    The unique UUID of the targeting group obtained by previously fetching the available targeting groups.
  • Method:
    The http request type
    PUT
  • Request body
    Content
    {
    "Bid": 1.04,
    "CountryBids": [
    {
    "Countries": ["US"],
    "Bid": 1.2,
    "PublisherAppBids": [
    {
    "SubPublisherUUID": "e2529662-77ed-4072-8389-b023e867e393",
    "Bid": 0.8
    },
    {
    "SubPublisherUUID": "f3f66e52-50e4-40e4-9866-6ff0e42e0134",
    "Bid": 1.2
    }
    ]
    },
    {
    "Countries": ["GB"],
    "Bid": 1.0,
    "PublisherAppBids": [
    {
    "SubPublisherUUID": "3c9713d3-488a-494d-ad81-135c115289c5",
    "Bid": 0.5
    },
    {
    "SubPublisherUUID": "4069505b-05c3-4956-b895-90d58e96d9d0",
    "Bid": 1.4
    }
    ]
    }
    ],
    "InstallLimits": {
    "Daily": 0,
    "Total": 0
    },
    "BudgetLimits": {
    "Daily": 100.1,
    "Total": 0,
    },
    "DeniedSubPublisherUUIDs": ["5390d1f0-d1b2-4ea3-a95b-50e9d407df26"]
    }
    Fields that are not included in the json body will not be updated. This doesn't apply to items in the CountryBids array. If the CountryBid is no longer present for some Countries it is considered to be removed and adjoe will take the targeting groups bid. You can, however, leave out the "CountryBids" field completely and then adjoe will not make and update to them. Similarly if a SubPublisherUUID is removed from a CountryBid we will use the Bid from the Countries. It is only possible to set either an install limit or a budget limit on a targeting group. If you want to remove the install limit, please set both InstallLimits.Daily and InstallLimits.Total to 0.
  • Success Response:
    When successful, the API responds with a http OK status code and a valid json object.
    • Code: 200
      Content-Type: application/json; charset=utf-8
      Content:
      {
      "TargetingGroupUUID": "9cec5527-c47e-4a6c-9e5f-eaff16bcba8a",
      "ExternalID": "xyz456",
      "ExternalName": "APP_US_M_21+",
      "Active": true,
      "Bid": 1.04,
      "CountryBids": [
      {
      "Countries": ["US"],
      "Bid": 1.2,
      "PublisherAppBids": [
      {
      "SubPublisherUUID": "e2529662-77ed-4072-8389-b023e867e393",
      "Bid": 0.8
      },
      {
      "SubPublisherUUID": "f3f66e52-50e4-40e4-9866-6ff0e42e0134",
      "Bid": 1.2
      }
      ]
      },
      {
      "Countries": ["GB"],
      "Bid": 1.0,
      "PublisherAppBids": [
      {
      "SubPublisherUUID": "3c9713d3-488a-494d-ad81-135c115289c5",
      "Bid": 0.5
      },
      {
      "SubPublisherUUID": "4069505b-05c3-4956-b895-90d58e96d9d0",
      "Bid": 1.4
      }
      ]
      }
      ],
      "BudgetLimits": {
      "Daily": 100.1,
      "Total": 0
      },
      "DeniedSubPublisherUUIDs": ["5390d1f0-d1b2-4ea3-a95b-50e9d407df26"],
      "BudgetCapsUUIDs": ["cb7744d4-a6a1-4bb6-931e-c99e385fc9bb"]
      }
    JSON Schema definition
    Attribute
    Type
    Description
    TargetingGroupUUID
    uuid_v4
    The unique UUID of the targeting group in the adjoe system.
    ExternalID
    string
    The ID of the targeting group set by the advertiser.
    ExternalName
    string
    The name of the targeting group set by the advertiser.
    Active
    bool
    The status of the campaign, can be either true or false.
    Bid
    float
    The Bid of the targeting group or the Bid in that targeting group for the Countries or the combination of Countries and SubPublisherUUID. The values are all in USD.
    InstallLimits.Daily
    int
    The daily install limit. Has to be 0 if a budget limit is set on the targeting group
    InstallLimits.Total
    int
    The total install limit. Has to be 0 if a budget limit is set on the targeting group
    BudgetLimits.Daily
    float
    The daily budget limit. Has to be 0 if an install limit is set
    BudgetLimits.Total
    float
    The total budget limit. Has to be 0 if an install limit is set
    SubPublisherUUID
    string
    UUID of sub-publisher app for which to set the bid.
    DeniedSubPublisherUUIDs
    array of uuid_v4
    The list of unique UUIDs of publisher apps that whould be blocked. The targeting group will no longer be distributed to these publisher apps.
    BudgetCapsUUIDs
    array of uuid_v4
    The list of unique UUIDs of the budget caps in the adjoe system that apply for this targeting group.
  • Error Response:
    The API does respond with different status codes, depending on the error:
    • Code: 401 UNAUTHORIZED
      If the authorization fails, the API returns status code 401 with error message.
      Content-Type: application/json; charset=utf-8
      Content:
      {
      "error" : "invalid token"
      }
    • Code: 404 NOT FOUND
      If either the campaign or the targeting group does not exist.
      Content-Type: application/json; charset=utf-8
      Content:
      {
      "error": "resource is unknown"
      }
  • Sample Curl Call:
    curl -X PUT \
    'https://prod.adjoe.zone/v1/campaign-management-api/public/%TOKEN%/campaign/%CAMPAIGN_UUID%/targeting-group/%TARGETING_GROUP_UUID%' \
    --data-raw '{
    "Bid": 1.04,
    "CountryBids": [
    {"Countries": ["US"],"Bid":1.2,"PublisherAppBids":[{"SubPublisherUUID":"e2529662-77ed-4072-8389-b023e867e393","Bid":0.8},{"SubPublisherUUID":"f3f66e52-50e4-40e4-9866-6ff0e42e0134","Bid": 1.2}]},
    {"Countries":["GB"],"Bid":1.0,"BidType":"install","PublisherAppBids":[{"SubPublisherUUID":"3c9713d3-488a-494d-ad81-135c115289c5","Bid":0.5},{"SubPublisherUUID":"4069505b-05c3-4956-b895-90d58e96d9d0","Bid": 1.4 }]}
    ]}'

Getting a single targeting group by UUID

https://prod.adjoe.zone/v2/campaign-management-api/public/%TOKEN%/targeting-groups/%TARGETING_GROUP_UUID%%
  • %TOKEN%
    The token is a hex string, which is given to the advertiser by the account manager.
  • %TARGETING_GROUP_UUID%
    The key is a UUIDV4 string, which is assigned to a targeting group resource on creation.
  • Method:
    The http request type
    GET
  • Success Response:
    When successful, the API responds with a http OK status code, and a valid json object. There will be one item in Content for each targeting group in the adjoe system. A campaign can have multiple targeting groups.
    • Code: 200
      Content-Type: application/json; charset=utf-8
      Content:
      {
      "CampaignUUID": "00b8aaf6-b51c-407f-a680-cfba796779ad",
      "ExternalCampaignID": "abc123",
      "AppID": "com.app.1",
      "Countries": [
      "US"
      ],
      "TargetingGroupUUID": "9cec5527-c47e-4a6c-9e5f-eaff16bcba8a",
      "ExternalID": "xyz456",
      "ExternalName": "APP_US_M_21+",
      "Active": true,
      "Bid": 1.04,
      "CountryBids": [
      {
      "Countries": ["US"],
      "Bid": 1.2,
      "PublisherAppBids": [
      {
      "SubPublisherUUID": "e2529662-77ed-4072-8389-b023e867e393",
      "Bid": 0.8
      },
      {
      "SubPublisherUUID": "f3f66e52-50e4-40e4-9866-6ff0e42e0134",
      "Bid": 1.2
      }
      ]
      },
      {
      "Countries": ["GB"],
      "Bid": 1.0,
      "PublisherAppBids": [
      {
      "SubPublisherUUID": "3c9713d3-488a-494d-ad81-135c115289c5",
      "Bid": 0.5
      },
      {
      "SubPublisherUUID": "4069505b-05c3-4956-b895-90d58e96d9d0",
      "Bid": 1.4
      }
      ]
      }
      ],
      "InstallLimits": {
      "Daily": 100,
      "Total": 10000
      },
      "BudgetCapsUUIDs": ["cb7744d4-a6a1-4bb6-931e-c99e385fc9bb"]
      }
    JSON schema definition
    Attribute
    Type
    Description
    CampaignUUID
    uuid_v4
    The unique campaign UUID in the adjoe system.
    ExternalCampaignID
    string
    The advertisers external ID for this campaign.
    AppID
    string
    The playstore or appstore app ID, e.g. com.app.1 for Android and 12345678 for iOS.
    Countries
    array
    The list of countries the targeting groups campaign is live; this is a list of 2 letter country codes.
    TargetingGroupUUID
    uuid_v4
    The unique UUID of the targeting group in the adjoe system.
    ExternalID
    string
    The ID of the targeting group set by the advertiser.
    ExternalName
    string
    The name of the targeting group set by the advertiser.
    Active
    bool
    The status of the campaign, can be either true or false.
    Bid
    float
    The Bid of the targeting group or the Bid in that targeting group for the Countries or the combination of Countries and SubPublisherUUID. The values are all in USD.
    InstallLimits.Daily
    int
    The daily install limit.
    InstallLimits.Total
    int
    The total install limit.
    BudgetLimits.Daily
    float
    The daily budget limit.
    BudgetLimits.Total
    float
    The total budget limit.
    SubPublisherUUID
    string
    UUID of publisher app for which to set the bid.
    DeniedSubPublisherUUIDs
    array of uuid_v4
    The list of unique UUIDs of publisher apps that whould be blocked. The targeting group will no longer be distributed to these publisher apps.
    BudgetCapsUUIDs
    array of uuid_v4
    The list of unique UUIDs of the budget caps in the adjoe system that apply for this targeting group.
  • Error Response:
    The API does respond with different status codes, depending on the error:
    • Code: 401 UNAUTHORIZED
      If the authorization fails, the API returns status code 401 with error message.
      Content-Type: application/json; charset=utf-8
      Content:
      {
      "error" : "invalid token"
      }
    • Code: 404 NOT FOUND If the targeting group cannot be found Content-Type: application/json; charset=utf-8 Content:
      {
      "error" : "resource is unknown"
      }
    • Code: 400 BAD REQUEST
      If one of the URL parameters has a wrong format, the API returns status code 400 with error specific message.
      Content-Type: application/json; charset=utf-8
      Content:
      {
      "error": "active_only format is wrong. Please use true or false."
      }
  • Sample Curl Call:
    curl -X GET \
    'https://prod.adjoe.zone/v2/campaign-management-api/public/%TOKEN%/targeting-group/%TARGETING_GROUP_UUID%'