@adcp/client API Reference - v4.19.0
    Preparing search index...

    Interface TargetingOverlay

    Optional restriction overlays for media buys. Most targeting should be expressed in the brief and handled by the publisher. These fields are for functional restrictions: geographic (RCT testing, regulatory compliance, proximity targeting), age verification (alcohol, gambling), device platform (app compatibility), language (localization), and keyword targeting (search/retail media).

    interface TargetingOverlay {
        geo_countries?: string[];
        geo_countries_exclude?: string[];
        geo_regions?: string[];
        geo_regions_exclude?: string[];
        geo_metros?: { system: MetroAreaSystem; values: string[] }[];
        geo_metros_exclude?: { system: MetroAreaSystem; values: string[] }[];
        geo_postal_areas?: { system: PostalCodeSystem; values: string[] }[];
        geo_postal_areas_exclude?: { system: PostalCodeSystem; values: string[] }[];
        daypart_targets?: DaypartTarget[];
        axe_include_segment?: string;
        axe_exclude_segment?: string;
        audience_include?: string[];
        audience_exclude?: string[];
        frequency_cap?: FrequencyCap;
        property_list?: PropertyListReference;
        age_restriction?: {
            min: number;
            verification_required?: boolean;
            accepted_methods?: AgeVerificationMethod[];
        };
        device_platform?: DevicePlatform[];
        device_type?: DeviceType[];
        device_type_exclude?: DeviceType[];
        store_catchments?: {
            catalog_id: string;
            store_ids?: string[];
            catchment_ids?: string[];
        }[];
        geo_proximity?: { [k: string]: unknown }[];
        language?: string[];
        keyword_targets?: {
            keyword: string;
            match_type: "broad" | "phrase" | "exact";
            bid_price?: number;
        }[];
        negative_keywords?: {
            keyword: string;
            match_type: "broad"
            | "phrase"
            | "exact";
        }[];
    }
    Index

    Properties

    geo_countries?: string[]

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

    geo_countries_exclude?: string[]

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

    geo_regions?: string[]

    Restrict delivery to specific regions/states. ISO 3166-2 subdivision codes (e.g., 'US-CA', 'GB-SCT').

    geo_regions_exclude?: string[]

    Exclude specific regions/states from delivery. ISO 3166-2 subdivision codes (e.g., 'US-CA', 'GB-SCT').

    geo_metros?: { system: MetroAreaSystem; values: 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.

    Type Declaration

    • system: MetroAreaSystem
    • values: string[]

      Metro codes within the system (e.g., ['501', '602'] for Nielsen DMAs)

    geo_metros_exclude?: { system: MetroAreaSystem; values: 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.

    Type Declaration

    • system: MetroAreaSystem
    • values: string[]

      Metro codes to exclude within the system (e.g., ['501', '602'] for Nielsen DMAs)

    geo_postal_areas?: { system: PostalCodeSystem; values: string[] }[]

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

    Type Declaration

    • system: PostalCodeSystem
    • values: string[]

      Postal codes within the system (e.g., ['10001', '10002'] for us_zip)

    geo_postal_areas_exclude?: { system: PostalCodeSystem; values: string[] }[]

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

    Type Declaration

    • system: PostalCodeSystem
    • values: string[]

      Postal codes to exclude within the system (e.g., ['10001', '10002'] for us_zip)

    daypart_targets?: DaypartTarget[]

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

    axe_include_segment?: string

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

    axe_exclude_segment?: string

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

    audience_include?: 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.

    audience_exclude?: 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.

    frequency_cap?: FrequencyCap
    property_list?: PropertyListReference
    age_restriction?: {
        min: number;
        verification_required?: boolean;
        accepted_methods?: AgeVerificationMethod[];
    }

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

    Type Declaration

    • min: number

      Minimum age required

    • Optionalverification_required?: boolean

      Whether verified age (not inferred) is required for compliance

    • Optionalaccepted_methods?: AgeVerificationMethod[]

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

    device_platform?: DevicePlatform[]

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

    device_type?: DeviceType[]

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

    device_type_exclude?: DeviceType[]

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

    store_catchments?: {
        catalog_id: string;
        store_ids?: string[];
        catchment_ids?: 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.

    Type Declaration

    • catalog_id: string

      Synced store-type catalog ID from sync_catalogs.

    • Optionalstore_ids?: string[]

      Filter to specific stores within the catalog. Omit to target all stores.

    • Optionalcatchment_ids?: string[]

      Catchment zone IDs to target (e.g., 'walk', 'drive'). Omit to target all catchment zones.

    geo_proximity?: { [k: string]: unknown }[]

    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.

    language?: string[]

    Restrict to users with specific language preferences. ISO 639-1 codes (e.g., 'en', 'es', 'fr').

    keyword_targets?: {
        keyword: string;
        match_type: "broad" | "phrase" | "exact";
        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.

    Type Declaration

    • keyword: string

      The keyword to target

    • match_type: "broad" | "phrase" | "exact"

      Match type: broad matches related queries, phrase matches queries containing the keyword phrase, exact matches the query exactly

    • Optionalbid_price?: number

      Per-keyword bid price, denominated in the same currency as the package's pricing option. Overrides the package-level bid_price for this keyword. Inherits the max_bid interpretation from the pricing option: when max_bid is true, this is the keyword's bid ceiling; when false, this is the exact bid. If omitted, the package bid_price applies.

    negative_keywords?: {
        keyword: string;
        match_type: "broad" | "phrase" | "exact";
    }[]

    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.

    Type Declaration

    • keyword: string

      The keyword to exclude

    • match_type: "broad" | "phrase" | "exact"

      Match type for exclusion