Ad Budget Pricing

Warning

Deprecation Notice
The Marketing Version 202310 (Marketing October 2023) and earlier versions (excluding 202306 and 202307) have been sunset. Additionally, the unversioned APIs will be sunset soon. We recommend that you migrate to the versioned APIs as well as migrate to the new Content and Community Management APIs to avoid disruptions. See the Migration page for more details. If you haven’t yet migrated and have questions, submit a request on the LinkedIn Developer Support Portal.

The Ad Budget Pricing API provides key insights on pricing metrics such as minimum, maximum, and suggested bids based on targeting criteria. This data helps you make the most of your LinkedIn Ads experience by ensuring that your ads are cost effective.

Permissions

There are two conditions for successful calls: (1) Scope permissions to rw_ads and/or r_ads, and (2) the user assigning permission holding one of the following roles in the Ad Account.

  • Scope permissions as follows:

    • rw_ads (Read/Write)
    • r_ads (Read-Only)
  • Assigning permission for the Ad Account roles:

    • ACCOUNT_BILLING_ADMIN
    • ACCOUNT_MANAGER
    • CAMPAIGN_MANAGER
    • CREATIVE_MANAGER
    • VIEWER (Read-Only, even with rw_ads scope)

For more information on Ad Account roles and permissions:

Schema

The following schema table describes the response fields. Query parameters are shown separately for the criteriaV2 finder.

Field Name Type Description
bidLimits.max Money Amount Maximum allowable bid
bidLimits.min Money Amount Amount for which if the bid is below the limit, campaign delivery may be poor for Sponsored Update format campaigns. If the campaign format is not Sponsored Update, then the bid cannot be below this value.
suggestedBid.default Money Amount The suggested bid
suggestedBid.max Money Amount High end of suggested bid range
suggestedBid.min Money Amount Low end of suggested bid range
dailyBudgetLimits.max Money Amount Maximum daily budget
dailyBudgetLimits.min Money Amount Minimum daily budget
dailyBudgetLimits.default Money Amount Default daily budget

Find Pricing Insights by CriteriaV2

The criteriaV2 finder uses the targetingCriteria format to return pricing insights on specific audiences, bid types, and campaign types. For more information on Targeting Criteria, see here.

All API requests are represented in protocol 2.0.0 and require the X-Restli-Protocol-Version: 2.0.0 header.

Restli 2.0 requires URNs in query params to be URL encoded. For example, urn:li:sponsoredAccount:1245678 would become urn%3Ali%3AsponsoredAccount%3A1245678.

Note that Postman or similar API tools may not support these types of calls. Testing with curl is recommended if you encounter a 400 error with message Invalid query parameters passed to request.

Calls to this endpoint are structured as follows:

GET https://api.linkedin.com/rest/adBudgetPricing?account={adAccountUrn}&bidType={bidTypeEnum}&optimizationTargetType={optimizationTargetEnum}&objectiveType={objectiveTypeEnum}&campaignType={campaignTypeEnum}&q=criteriaV2&targetingCriteria=(include:(and:List((or:({encoded facet_URN_1}:List({encoded facet_URN_1_value_1},{encoded facet_URN_1_value_2}))),(or:({encoded facet_URN_2}:List({encoded facet_URN_2_value_1},{encoded facet_URN_2_value_2}))))))
GET https://api.linkedin.com/v2/adBudgetPricing?account={adAccountUrn}&bidType={bidTypeEnum}&optimizationTargetType={optimizationTargetEnum}&objectiveType={objectiveTypeEnum}&campaignType={campaignTypeEnum}&q=criteriaV2&targetingCriteria=(include:(and:List((or:({encoded facet_URN_1}:List({encoded facet_URN_1_value_1},{encoded facet_URN_1_value_2}))),(or:({encoded facet_URN_2}:List({encoded facet_URN_2_value_1},{encoded facet_URN_2_value_2}))))))

Parameters

Field Name Description Format Required
q Consistent field value of criteriaV2 String Yes
campaignType Campaign type. Valid values are:
  • TEXT_AD
  • SPONSORED_UPDATES
  • SPONSORED_INMAILS
  • String Yes
    account Sponsored account URN String Yes
    bidType Valid enum values are:
  • CPM - Cost per thousand advertising impressions
  • CPC - Cost per individual click on the associated link
  • CPV - Cost per view for video ads
  • String Yes
    currency ISO-4217 currency code. The default value is in USD. String Yes
    countryCode Two character lower case country code String No
    matchType Valid enum values are:
  • EXACT
  • AUDIENCE_EXPANDED
  • String Yes
    targetingCriteria Specifies the targeting criteria that the member should match. This is a more advanced boolean expression than the previous targeting field. It provides a generic AND/OR construct to include and exclude different targeting facets when defining audience for campaigns. TargetingCriteria object Yes
    dailyBudget Daily campaign budget Money amount No
    objectiveType Specifies the campaign's objective type. Valid objective values are:
  • VIDEO_VIEW
  • LEAD_GENERATION
  • WEBSITE_CONVERSION
  • BRAND_AWARENESS
  • WEBSITE_VISIT
  • ENGAGEMENT
  • WEBSITE_TRAFFIC
  • CREATIVE_ENGAGEMENT
  • JOB_APPLICATION
  • TALENT_LEAD
  • String No
    optimizationTargetType Used to optimize spending for a campaign. Depending on what value is populated in this field, the campaign will use either auto or manual bidding. Valid optimization values are:
  • NONE
  • MAX IMPRESSION
  • MAX_CLICK
  • MAX_CONVERSION
  • AWARENESS
  • WEBSITE_VISIT
  • ENHANCED_CONVERSION
  • MAX_VIDEO_VIEW
  • MAX_LEAD
  • TARGET_COST_PER_CLICK
  • TARGET_COST_PER_IMPRESSION
  • TARGET_COST_PER_VIDEO_VIEW
  • CAP_COST_AND_MAXIMIZE_CLICKS
  • CAP_COST_AND_MAXIMIZE_IMPRESSIONS
  • CAP_COST_AND_MAXIMIZE_VIDEO_VIEWS
  • CAP_COST_AND_MAXIMIZE_LEADS
  • String No

    For descriptions of Objective and Optimization Target type values, see Allowable Type Combinations.

    Sample Request

    The following sample request returns pricing for a target market of LinkedIn members working at organizations with 501 to 1000 employees. The suggested bid returned is based on the specified dailyBudget of USD 300.

    Any URNs included in the parameters must be URL encoded. An unencoded sample request has also been provided for readability.

    Unencoded Sample Request

    GET https://api.linkedin.com/rest/adBudgetPricing?account=urn:li:sponsoredAccount:1245678&bidType=CPM&optimizationTargetType=MAX_CLICK&objectiveType=WEBSITE_VISIT&campaignType=SPONSORED_INMAILS&matchType=EXACT&q=criteriaV2&targetingCriteria=(include:(and:List((or:({encoded urn:li:adTargetingFacet:staffCountRanges}:List({encoded urn:li:staffCountRange:(501,1000)}))))))&dailyBudget=(amount:300,currencyCode:USD)
    
    GET https://api.linkedin.com/v2/adBudgetPricing?account=urn:li:sponsoredAccount:1245678&bidType=CPM&optimizationTargetType=MAX_CLICK&objectiveType=WEBSITE_VISIT&campaignType=SPONSORED_INMAILS&matchType=EXACT&q=criteriaV2&targetingCriteria=(include:(and:List((or:({encoded urn:li:adTargetingFacet:staffCountRanges}:List({encoded urn:li:staffCountRange:(501,1000)}))))))&dailyBudget=(amount:300,currencyCode:USD)
    

    Encoded Sample Request

    GET https://api.linkedin.com/rest/adBudgetPricing?account=urn%3Ali%3AsponsoredAccount%3A1245678&bidType=CPM&optimizationTargetType=MAX_CLICK&objectiveType=WEBSITE_VISIT&campaignType=SPONSORED_INMAILS&matchType=EXACT&q=criteriaV2&&targetingCriteria=(include:(and:List((or:(urn%3Ali%3AadTargetingFacet%3AstaffCountRanges:List(urn%3Ali%3AstaffCountRange%3A%28501%2C1000%29))))))&dailyBudget=(amount:300,currencyCode:USD)
    
    GET https://api.linkedin.com/v2/adBudgetPricing?account=urn%3Ali%3AsponsoredAccount%3A1245678&bidType=CPM&optimizationTargetType=MAX_CLICK&objectiveType=WEBSITE_VISIT&campaignType=SPONSORED_INMAILS&matchType=EXACT&q=criteriaV2&&targetingCriteria=(include:(and:List((or:(urn%3Ali%3AadTargetingFacet%3AstaffCountRanges:List(urn%3Ali%3AstaffCountRange%3A%28501%2C1000%29))))))&dailyBudget=(amount:300,currencyCode:USD)
    

    Sample Response

    Note that although this returns a collection in the elements field, for all practical purposes, the returned collection contains only one element of pricing information.

    {
        "elements": [
            {
                "bidLimits": {
                    "max": {
                        "amount": "100.0",
                        "currencyCode": "USD"
                    },
                    "min": {
                        "amount": "4.0",
                        "currencyCode": "USD"
                    }
                },
                "dailyBudgetLimits": {
                    "default": {
                        "amount": "25.00",
                        "currencyCode": "USD"
                    },
                    "max": {
                        "amount": "1000000.00",
                        "currencyCode": "USD"
                    },
                    "min": {
                        "amount": "10.00",
                        "currencyCode": "USD"
                    }
                },
                "suggestedBid": {
                    "default": {
                        "amount": "7.10",
                        "currencyCode": "USD"
                    },
                    "max": {
                        "amount": "11.14",
                        "currencyCode": "USD"
                    },
                    "min": {
                        "amount": "7.10",
                        "currencyCode": "USD"
                    }
                }
            }
        ],
        "paging": {
            "count": 10,
            "links": [],
            "start": 0
        }
    }
    

    For allowable combinations of Objective and Optimization Target types, see Allowable Type Combinations.