Targeting

Targetings are used to represent the targeting settings of campaigns, ad sets and ads. Targetings are used to define targeting criteria such as socio-demographic criteria, geographic criteria, device criteria, retargeting criteria, etc.

The Targeting Model

The targeting model of n_2 describes targetings of campaigns, ad sets and ads independently of the platform they belong to. This allows you to manage targetings of campaigns, ad sets and ads in a platform-agnostic way.

Properties

  • Name
    targetingKind
    Type
    string
    Description

    The kind of the targeting. This is used to distinguish between different kinds of targetings.

    See the targeting kinds section for a list of all possible values.

  • Name
    <CustomTargetingFields>
    Type
    any
    Description

    Custom fields that are specific to the targeting kind. See the targeting kinds section for more information.

Example Object

{
  "targetingKind": "ZipcodeGeoTargeting",
  "zipcodes": [
    { "countryCode": "DE", "value": "72074" },
    { "countryCode": "DE", "value": "72072" }
  ]
}

GET/v1/<platform>/<resource>/<resourceId>/targetings

Retrieving all targetings

Retrieval of targetings is usually done via the campaign, ad set and ad endpoints by setting the childResources query parameter to include the value Targeting.

However, you can also retrieve targetings of single resources directly as described in the following.

This endpoint allows you to retrieve targetings of a campaign, ad set or ad.

Path parameters

  • Name
    platform
    Type
    string
    Description

    The platform of the corresponding resource. See the platforms page for a list of all possible values.

  • Name
    resource
    Type
    string
    Description

    The type of the resource the targeting belongs to. Possible values are campaigns, adsets and ads.

  • Name
    resourceId
    Type
    string
    Description

    The ID of the resource the targeting belongs to.

Request

GET
/v1/GoogleAds/campaigns/1234567/targetings
curl -G https://api.n2api.io/v1/GoogleAds/campaigns/1234567/targetings \
    -H "Authorization: Bearer {token}"

Response

{
  "targetings": [
    {
      "targetingKind": "ZipcodeGeoTargeting",
      "zipcodes": [
        { "countryCode": "DE", "value": "72074" },
        { "countryCode": "DE", "value": "72072" }
      ]
    },
    {
      "targetingKind": "GenderTargeting",
      "genders": [
        "non-binary"
      ]
    }
  ]
}

PUT/v1/<platform>/<resource>/<resourceId>/targetings

Creating / updating a targeting

This endpoint allows you to update targetings of a campaign, ad set or ad. If the targeting does not exist yet, it will be created.

Path parameters

  • Name
    platform
    Type
    string
    Description

    The platform of the corresponding resource. See the platforms page for a list of all possible values.

  • Name
    resource
    Type
    string
    Description

    The type of the resource the targeting belongs to. Possible values are campaigns, adsets and ads.

  • Name
    resourceId
    Type
    string
    Description

    The ID of the resource the targeting belongs to.

Request body

  • Name
    targetings
    Type
    list<Targeting>
    Description

    The targetings to create or update. See the targetings model section for more information on the structure of a targeting. All fields of a targeting are mandatory unless otherwise specified.

Request

PUT
/v1/GoogleAds/campaigns/1234567/targetings
curl https://api.n2api.io/v1/GoogleAds/campaigns/1234567 \
  -X PUT \
  -H "Authorization: Bearer {token}" \
  -d '{
    "targetings": [
      {
        "targetingKind": "ZipcodeGeoTargeting",
        "zipcodes": [
          { "countryCode": "DE", "value": "72074" },
          { "countryCode": "DE", "value": "72072" }
        ]
      }
    ]
  }'

Response

{
  "targetings": [
    {
      "targetingKind": "ZipcodeGeoTargeting",
      "zipcodes": [
        { "countryCode": "DE", "value": "72074" },
        { "countryCode": "DE", "value": "72072" }
      ]
    }
  ]
}

Notice that the response contains all targetings of the campaign, ad set or ad, not just the ones that were updated.


DELETE/v1/<platform>/<resource>/<resourceId>/targetings/<targetingKind>/

Delete a targeting

This endpoint allows you to delete a targeting of a campaign, ad set or ad.

Notice that some targetings are required by the platform and cannot be deleted. See the targeting kinds section for more information.

Path parameters

  • Name
    platform
    Type
    string
    Description

    The platform of the corresponding resource. See the platforms page for a list of all possible values.

  • Name
    resource
    Type
    string
    Description

    The type of the resource the targeting belongs to. Possible values are campaigns, adsets and ads.

  • Name
    resourceId
    Type
    string
    Description

    The ID of the resource the targeting belongs to.

  • Name
    targetingKind
    Type
    string
    Description

    The type of the targeting to delete. See the targeting kinds section for a list of all possible values.

Request

DELETE
/v1/GoogleAds/campaigns/1234567/targetings/ZipcodeGeoTargeting
curl https://api.n2api.io/v1/GoogleAds/campaigns/1234567/targetings/ZipcodeGeoTargeting \
  -X DELETE \
  -H "Authorization: Bearer {token}"

Response

{
  "deletions": 1,
}

Targeting kinds

Retrieving targeting kinds

This endpoint allows you to retrieve all targeting kinds that are supported by n_2. Along with the targeting kind, the endpoint also returns the corresponding mandatory fields.

Query parameters

The following query parameters are optional. If they are not specified, all targeting kinds are returned.

  • Name
    platforms
    Type
    list<string>
    Description

    The platforms to filter by. See the platforms page for a list of all possible values.

  • Name
    resources
    Type
    list<string>
    Description

    The resources to filter by. Possible values are campaigns, adsets and ads.

Request

GET
/v1/targetings
curl https://api.n2api.io/v1/targetings \
  -X GET \
  -H "Authorization: Bearer {token}" \
  -d '{
    "platform": "GoogleAds",
    "resource": "adsets",
  }'

Example Response

[
  {
    "targetingKind": "ZipcodeGeoTargeting",
    "fields": [
      {
        "name": "zipcodes",
        "type": "list<{
          countryCode: string,
          value: string,
        }>",
        "description": "The zipcodes in which to run the ad."
      }
    ]
  },
  {
    ...
  }
]

Was this page helpful?