@adcp/sdk API Reference - v14.0.0-beta.6
    Preparing search index...

    Type Alias TargetingOverlay

    TargetingOverlay: {} & {
        geo_countries?: [string, ...string[]];
        geo_countries_exclude?: [string, ...string[]];
        geo_regions?: [string, ...string[]];
        geo_regions_exclude?: [string, ...string[]];
        geo_metros?: [
            { system: MetroAreaSystem; values: [string, ...string[]] },
            ...{ system: MetroAreaSystem; values: [string, ...string[]] }[],
        ];
        geo_metros_exclude?: [
            { system: MetroAreaSystem; values: [string, ...string[]] },
            ...{ system: MetroAreaSystem; values: [string, ...string[]] }[],
        ];
        geo_postal_areas?: [PostalArea, ...PostalArea[]];
        geo_postal_areas_exclude?: [PostalArea, ...PostalArea[]];
        geo_places?: [GeographicPlaceArea, ...GeographicPlaceArea[]];
        geo_places_exclude?: [GeographicPlaceArea, ...GeographicPlaceArea[]];
        daypart_targets?: [DaypartTarget, ...DaypartTarget[]];
        axe_include_segment?: string;
        axe_exclude_segment?: string;
        audience_include?: [string, ...string[]];
        audience_exclude?: [string, ...string[]];
        signal_targeting_groups?: PackageSignalTargetingGroups;
        signal_targeting?: [SignalTargeting, ...SignalTargeting[]];
        demographics?: DemographicTargetingIntent;
        frequency_cap?: FrequencyCap;
        property_list?: PropertyListReference;
        property_list_exclude?: PropertyListReference;
        collection_list?: CollectionListReference;
        collection_list_exclude?: CollectionListReference;
        placement_selection?: PlacementSelection;
        age_restriction?: {
            min: number;
            verification_required?: boolean;
            accepted_methods?: [AgeVerificationMethod, ...AgeVerificationMethod[]];
        };
        device_platform?: [DevicePlatform, ...DevicePlatform[]];
        device_platform_exclude?: [DevicePlatform, ...DevicePlatform[]];
        device_type?: [DeviceType, ...DeviceType[]];
        device_type_exclude?: [DeviceType, ...DeviceType[]];
        browser?: [BrowserFamily, ...BrowserFamily[]];
        browser_exclude?: [BrowserFamily, ...BrowserFamily[]];
        store_catchments?: [
            {
                catalog_id: string;
                store_ids?: [string, ...string[]];
                catchment_ids?: [string, ...string[]];
            },
            ...{
                catalog_id: string;
                store_ids?: [string, ...string[]];
                catchment_ids?: [string, ...string[]];
            }[],
        ];
        geo_proximity?: [{} | {} | {}, ...({} | {} | {})[]];
        language?: [LanguageTag, ...LanguageTag[]];
        keyword_targets?: [
            { keyword: string; match_type: MatchType; bid_price?: number },
            ...{ keyword: string; match_type: MatchType; bid_price?: number }[],
        ];
        negative_keywords?: [
            { keyword: string; match_type: MatchType },
            ...{ keyword: string; match_type: MatchType }[],
        ];
    }

    Concrete delivery constraints the buyer expects to carry into create_media_buy. Buyers SHOULD use this field instead of putting equivalent exact targeting only in brief prose. Sellers evaluate these constraints during discovery and scope returned pricing and forecasts to the effective targeting. If a product cannot honor the request exactly, the seller may omit it or return a request-scoped configured product with Product targeting_resolution modifications. Absence of Product targeting_resolution means exact acceptance of this structured overlay; it does not confirm how targeting in the brief was interpreted. On refine, presence is complete replacement state for returned configurations; when omitted, each referenced product's bound targeting remains in force.

    Type Declaration

      • Optionalgeo_countries?: [string, ...string[]]

        Restrict delivery to specific countries. ISO 3166-1 alpha-2 codes (e.g., 'US', 'GB', 'DE').

        1

      • Optionalgeo_countries_exclude?: [string, ...string[]]

        Exclude specific countries from delivery. ISO 3166-1 alpha-2 codes (e.g., 'US', 'GB', 'DE').

        1

      • Optionalgeo_regions?: [string, ...string[]]

        Restrict delivery to exact canonical ISO 3166-2 subdivisions (states, provinces, regions, departments, or other subdivision categories). Unknown identifiers are invalid. At create or update, sellers MUST reject unsupported identifiers and MUST NOT silently widen, drop, or partially apply the list. During get_products, a seller may instead return a sparse, buyer-reviewable targeting_resolution modification for a valid but unsupported requested outcome. Exact internal translation preserves accepted identifiers in package readback.

        1

      • Optionalgeo_regions_exclude?: [string, ...string[]]

        Exclude exact canonical ISO 3166-2 subdivisions. Support is independent from geo_regions inclusion support. Unknown identifiers and values also present in geo_regions are invalid. At create or update, sellers MUST reject unsupported identifiers and partial application; during get_products, a seller may instead return a sparse, buyer-reviewable targeting_resolution modification for a valid but unsupported requested outcome.

        1

      • Optionalgeo_metros?: [
            { system: MetroAreaSystem; values: [string, ...string[]] },
            ...{ system: MetroAreaSystem; values: [string, ...string[]] }[],
        ]

        Restrict delivery to specific metro areas. Each entry specifies the classification system and target values. Seller must declare supported systems in get_adcp_capabilities.

        1

      • Optionalgeo_metros_exclude?: [
            { system: MetroAreaSystem; values: [string, ...string[]] },
            ...{ system: MetroAreaSystem; values: [string, ...string[]] }[],
        ]

        Exclude specific metro areas from delivery. Each entry specifies the classification system and excluded values. Seller must declare supported systems in get_adcp_capabilities.

        1

      • Optionalgeo_postal_areas?: [PostalArea, ...PostalArea[]]

        Restrict delivery to specific postal areas. Prefer the native country + postal system form. The deprecated legacy country-fused postal-system tokens remain accepted for compatibility. Seller must declare supported systems in get_adcp_capabilities.

        1

      • Optionalgeo_postal_areas_exclude?: [PostalArea, ...PostalArea[]]

        Exclude specific postal areas from delivery. Prefer the native country + postal system form. The deprecated legacy country-fused postal-system tokens remain accepted for compatibility. Seller must declare supported systems in get_adcp_capabilities.

        1

      • Optionalgeo_places?: [GeographicPlaceArea, ...GeographicPlaceArea[]]

        Restrict delivery to catalog-backed named places. Values MUST be stable identifiers in the declared system, not display names. Sellers must declare supported systems, countries, and place types in get_adcp_capabilities and reject unsupported entries rather than silently dropping them.

        1

      • Optionalgeo_places_exclude?: [GeographicPlaceArea, ...GeographicPlaceArea[]]

        Exclude catalog-backed named places. Uses the same identifier-based shape as geo_places. Sellers MUST reject overlap with geo_places for the same country, system, place_type, and value.

        1

      • Optionaldaypart_targets?: [DaypartTarget, ...DaypartTarget[]]

        Restrict delivery to specific time windows. Each entry specifies days of week and an hour range.

        1

      • Optionalaxe_include_segment?: string

        Deprecated: Use TMP provider fields instead. AXE segment ID to include for targeting.

      • Optionalaxe_exclude_segment?: string

        Deprecated: Use TMP provider fields instead. AXE segment ID to exclude from targeting.

      • Optionalaudience_include?: [string, ...string[]]

        Restrict delivery to members of these first-party CRM audiences. Only users present in the uploaded lists are eligible. References audience_id values from sync_audiences on the same seller account — audience IDs are not portable across sellers. Not for lookalike expansion — express that intent in the campaign brief. Seller must declare support in get_adcp_capabilities.

        1

      • Optionalaudience_exclude?: [string, ...string[]]

        Suppress delivery to members of these first-party CRM audiences. Matched users are excluded regardless of other targeting. References audience_id values from sync_audiences on the same seller account — audience IDs are not portable across sellers. Seller must declare support in get_adcp_capabilities.

        1

      • Optionalsignal_targeting_groups?: PackageSignalTargetingGroups
      • Optionalsignal_targeting?: [SignalTargeting, ...SignalTargeting[]]

        DEPRECATED. Use signal_targeting_groups for package-level signal targeting. Legacy flat signal_targeting remains accepted during the SignalRef migration window but cannot express grouped include/exclude composition or product-scoped pricing.

        1

      • Optionaldemographics?: DemographicTargetingIntent
      • Optionalfrequency_cap?: FrequencyCap
      • Optionalproperty_list?: PropertyListReference
      • Optionalproperty_list_exclude?: PropertyListReference
      • Optionalcollection_list?: CollectionListReference
      • Optionalcollection_list_exclude?: CollectionListReference
      • Optionalplacement_selection?: PlacementSelection
      • Optionalage_restriction?: {
            min: number;
            verification_required?: boolean;
            accepted_methods?: [AgeVerificationMethod, ...AgeVerificationMethod[]];
        }

        Age restriction for compliance. Use for legal requirements (alcohol, gambling), not audience targeting.

        • min: number

          Minimum age required

        • Optionalverification_required?: boolean

          Whether verified age (not inferred) is required for compliance

        • Optionalaccepted_methods?: [AgeVerificationMethod, ...AgeVerificationMethod[]]

          Accepted verification methods. If omitted, any method the platform supports is acceptable.

          1

      • Optionaldevice_platform?: [DevicePlatform, ...DevicePlatform[]]

        Restrict to specific platforms. Use for technical compatibility (app only works on iOS). Values from Sec-CH-UA-Platform standard, extended for CTV.

        1

      • Optionaldevice_platform_exclude?: [DevicePlatform, ...DevicePlatform[]]

        Exclude specific operating-system platforms from delivery. When a platform appears in both device_platform and device_platform_exclude, exclusion wins. Sellers MUST reject a request they cannot enforce rather than silently dropping the exclusion.

        1

      • Optionaldevice_type?: [DeviceType, ...DeviceType[]]

        Restrict to specific device form factors. Use for campaigns targeting hardware categories rather than operating systems (e.g., mobile-only promotions, CTV campaigns).

        1

      • Optionaldevice_type_exclude?: [DeviceType, ...DeviceType[]]

        Exclude specific device form factors from delivery (e.g., exclude CTV for app-install campaigns).

        1

      • Optionalbrowser?: [BrowserFamily, ...BrowserFamily[]]

        Restrict delivery to specific canonical browser families in the impression delivery and rendering environment, not the post-click landing-page browser. Values MUST NOT be inferred solely from operating system, device, web/mobile-web inventory, or placement. Values in this array use OR semantics. When browser is supplied, families not listed are ineligible: other includes a seller-recognized family that is not explicitly enumerated, while unknown includes a browser the seller cannot classify into a recognized family. When the same family appears in browser and browser_exclude, exclusion wins. Browser and device constraints intersect; a seller that cannot enforce the exact combination MUST exclude or explicitly reconfigure the product during discovery and MUST reject it at create or update rather than silently widening delivery. Browser versions and seller-native IDs are intentionally unsupported.

        1

      • Optionalbrowser_exclude?: [BrowserFamily, ...BrowserFamily[]]

        Exclude specific canonical browser families from delivery. other excludes seller-recognized families that are not explicitly enumerated; unknown excludes browsers the seller cannot classify into a recognized family. When the same family appears in browser and browser_exclude, exclusion wins. Sellers MUST reject a request they cannot enforce rather than silently dropping the exclusion.

        1

      • Optionalstore_catchments?: [
            {
                catalog_id: string;
                store_ids?: [string, ...string[]];
                catchment_ids?: [string, ...string[]];
            },
            ...{
                catalog_id: string;
                store_ids?: [string, ...string[]];
                catchment_ids?: [string, ...string[]];
            }[],
        ]

        Target users within store catchment areas from a synced store catalog. Each entry references a store-type catalog and optionally narrows to specific stores or catchment zones.

        1

      • Optionalgeo_proximity?: [{} | {} | {}, ...({} | {} | {})[]]

        Target users within travel time, distance, or a custom boundary around arbitrary geographic points. Multiple entries use OR semantics — a user within range of any listed point is eligible. For campaigns targeting 10+ locations, consider using store_catchments with a location catalog instead. Seller must declare support in get_adcp_capabilities.

        1

      • Optionallanguage?: [LanguageTag, ...LanguageTag[]]

        Restrict to users with specific language preferences using canonical BCP 47 language ranges. Each buyer range is evaluated against a user's language-preference tag with RFC 4647 section 3.3.1 Basic Filtering: 'fr' matches 'fr', 'fr-CA', and 'fr-FR', while 'fr-CA' matches 'fr-CA' and more-specific descendants but not 'fr' or 'fr-FR'. Values use OR logic.

        1

      • Optionalkeyword_targets?: [
            { keyword: string; match_type: MatchType; bid_price?: number },
            ...{ keyword: string; match_type: MatchType; bid_price?: number }[],
        ]

        Keyword targeting for search and retail media platforms. Restricts delivery to queries matching the specified keywords. Each keyword is identified by the tuple (keyword, match_type) — the same keyword string with different match types are distinct targets. Sellers SHOULD reject duplicate (keyword, match_type) pairs within a single request. Seller must declare support in get_adcp_capabilities.

        1

      • Optionalnegative_keywords?: [
            { keyword: string; match_type: MatchType },
            ...{ keyword: string; match_type: MatchType }[],
        ]

        Keywords to exclude from delivery. Queries matching these keywords will not trigger the ad. Each negative keyword is identified by the tuple (keyword, match_type). Seller must declare support in get_adcp_capabilities.

        1