> ## Documentation Index
> Fetch the complete documentation index at: https://developers.criteo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bid Multipliers

export const EndpointBadge = ({method = "GET", children}) => {
  const METHOD_STYLES = {
    GET: {
      bg: "mint-bg-[#2AB673]"
    },
    POST: {
      bg: "mint-bg-[#3064E3]"
    },
    PUT: {
      bg: "mint-bg-[#C28C30]"
    },
    PATCH: {
      bg: "mint-bg-[#DA622B]"
    },
    DELETE: {
      bg: "mint-bg-[#CB3A32]"
    },
    API: {
      bg: "mint-bg-black"
    }
  };
  const key = method.toUpperCase();
  const styles = METHOD_STYLES[key] ?? METHOD_STYLES.API;
  return <div className="relative mt-7">
      <span className={`absolute -top-2 -left-2 z-10 ${styles.bg} text-white px-2.5 py-0.5 rounded-full text-xs font-bold tracking-wide`}>
        {key}
      </span>
      {children}
    </div>;
};

The Criteo engine maximizes advertising performance while optimizing the shopper experience. It can automatically and intelligently control how much a line item delivers on each page type. In addition, bid multipliers provide campaign managers more control over managing bids at the line item level while also optimizing campaign performance goals at a page-type level.

Bid multipliers are available at the Onsite Sponsored Products line items level. In addition, campaign managers can modify bids only on enabled page types.

Bids can be **increased up to 500%** or **decreased up to 50%** on each page targeted at the line item level.

**For example:** *If a line item bid is \$1, with a bid multiplier, you can increase the Search page bid by 20% and decrease the homepage bid by 10%. The Criteo engine will optimize more delivery and performance on the search page while also allowing the control of which page types budget is mostly allocated towards.*

<br />

## **Endpoints**

<table>
  <thead>
    <tr>
      <th>
        <p>
          Verb
        </p>
      </th>

      <th>
        <p>
          Endpoint
        </p>
      </th>

      <th>
        <p>
          Description
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <b>
            GET
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /line-items/\{lineItemId}/bid-multipliers
          </code>
        </p>
      </td>

      <td>
        <p>
          Returns all bid multipliers per page types of the specified line item.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            PUT
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /line-items/\{lineItemId}/bid-multipliers
          </code>
        </p>
      </td>

      <td>
        <p>
          Updates bid multipliers with new values or reset to default one.
        </p>
      </td>
    </tr>
  </tbody>
</table>

 

## **Bid Multiplier Attributes**

<table>
  <thead>
    <tr>
      <th>
        <p>
          Attribute
        </p>
      </th>

      <th>
        <p>
          Data Type
        </p>
      </th>

      <th>
        <p>
          Description
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <code>
            id
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Line item ID, generated internally by Criteo
        </p>

        <p>
          Accepted values: string of int64
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            home
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            home
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            home
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            search
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            search
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            search
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            category
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            category
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            category
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            productDetail
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            productDetail
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            productDetail
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            merchandising
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            merchandising
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            merchandising
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            deals
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            deals
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            deals
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            favorites
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            favorites
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            favorites
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            searchBar
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            searchBar
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            searchBar
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            categoryMenu
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            categoryMenu
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            categoryMenu
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            checkout
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            checkout
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            checkout
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            confirmation
          </code>
        </p>
      </td>

      <td>
        <p>
          decimal
        </p>
      </td>

      <td>
        <p>
          Bid multiplier to the

          <code>
            confirmation
          </code>

          page type
        </p>

        <p>
          Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
        </p>

        <p>
          Accepted values:

          <code>
            0.50
          </code>

          ≤

          <code>
            confirmation
          </code>

          ≤

          <code>
            6.0
          </code>
        </p>

        <p>
          Default:

          <code>
            1.0
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>
  </tbody>
</table>

<Info>
  **Field Definitions**

  * **Writeable (Y/N)**: Indicates if the field can be modified in requests.
  * **Nullable (Y/N)**: Indicates if the field can accept null/empty values.
  * **Primary Key**: A unique, immutable identifier of the entity, generated internally by Criteo. Primary keys are typically ID fields (e.g., `retailerId`, `campaignId`, `lineItemId`) and are usually required in the URL path.
</Info>

<br />

## **Get Bid Multipliers**

Returns all bid multipliers for page types of the specified line item.

<Warning>
  **Note**: this endpoint returns all possible page types supported by our platform, including the ones not currently supported by the respective retailer associated with the line item. For the effective list of supported page types, please refer to [Retailers](/retail-media/v2025.10/docs/retailers)
</Warning>

<EndpointBadge method="get">
  ```http theme={null}
  https://api.criteo.com/{version}/retail-media/line-items/{lineItemId}/bid-multipliers
  ```
</EndpointBadge>

**Sample Request**

<CodeGroup>
  ```bash cURL theme={null}
  curl -L -X GET 'https://api.criteo.com/{version}/retail-media/line-items/347413132777078784/bid-multipliers' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer MY_ACCESS_TOKEN'
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.criteo.com/{version}/retail-media/line-items/347413132777078784/bid-multipliers"

  payload={}
  headers = {
    'Accept': 'application/json',
    'Authorization': 'Bearer MY_ACCESS_TOKEN'
  }

  response = requests.request("GET", url, headers=headers, data=payload)

  print(response.text)
  ```

  ```java Java theme={null}
  OkHttpClient client = new OkHttpClient().newBuilder()
    .build();

  MediaType mediaType = MediaType.parse("text/plain");

  RequestBody body = RequestBody.create(mediaType, "");

  Request request = new Request.Builder()
    .url("https://api.criteo.com/{version}/retail-media/line-items/347413132777078784/bid-multipliers")
    .method("GET", body)
    .addHeader("Accept", "application/json")
    .addHeader("Authorization", "Bearer MY_ACCESS_TOKEN")
    .build();

  Response response = client.newCall(request).execute();
  ```

  ```php PHP theme={null}
  <?php
  require_once 'HTTP/Request2.php';
  $request = new HTTP_Request2();
  $request->setUrl('https://api.criteo.com/{version}/retail-media/line-items/347413132777078784/bid-multipliers');
  $request->setMethod(HTTP_Request2::METHOD_GET);
  $request->setConfig(array(
    'follow_redirects' => TRUE
  ));
  $request->setHeader(array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer MY_ACCESS_TOKEN'
  ));
  try {
    $response = $request->send();
    if ($response->getStatus() == 200) {
      echo $response->getBody();
    }
    else {
      echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
      $response->getReasonPhrase();
    }
  }
  catch(HTTP_Request2_Exception $e) {
    echo 'Error: ' . $e->getMessage();
  }
  ```
</CodeGroup>

**Sample Response**

```json theme={null}
{
    "data": {
        "type": "LineItemBidMultipliersV2",
        "attributes": {
            "id": "347413132777078784",
            "home": 1.90,
            "search": 1.10,
            "category": 1.50,
            "productDetail": 1.60,
            "merchandising": 1.70,
            "deals": 2.00,
            "favorites": 2.30,
            "searchBar": 1.00,
            "categoryMenu": 1.10,
            "checkout": 2.50,
            "confirmation": 1.30
        }
    },
    "warnings": [],
    "errors": []
}
```

<br />

## **Update Bid Multipliers**

Replaces all existing bid multipliers with the provided bid multipliers or the default value, i.e., `1.0`.

<Info>
  **Note:** A **PUT** operation with empty attributes object will reset all values to their default value
</Info>

<EndpointBadge method="put">
  ```http theme={null}
  https://api.criteo.com/{version}/retail-media/line-items/{lineItemId}/bid-multipliers
  ```
</EndpointBadge>

**Sample Request**

<CodeGroup>
  ```bash cURL theme={null}
  curl -L -X PUT 'https://api.criteo.com/{version}/retail-media/line-items/347112182987198464/bid-multipliers' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer MY_ACCESS_TOKEN' \
  --data-raw '{
  	"data": {
      "id": "347112182987198464",
      "type": "RetailMediaBidMultiplier"
  		"attributes": {
  			"home": "1.90",
  			"search": "1.10",
  			"category": "1.50",
  			"productDetail": "1.60",
  			"merchandising": "1.70",
        "deals": "2.00",
        "favorites": "2.30",
        "searchBar": "1.00",
        "categoryMenu": "1.10",
        "checkout": "2.50",
        "confirmation": "1.30"
  		}
  	}
  }'
  ```

  ```python Python expandable theme={null}
  import requests
  import json

  url = "https://api.criteo.com/{version}/retail-media/line-items/347112182987198464/bid-multipliers"

  payload = json.dumps({
    "data": {
      "id": "347112182987198464",
      "type": "RetailMediaBidMultiplier",
      "attributes": {
        "home": "1.90",
        "search": "1.10",
        "category": "1.50",
        "productDetail": "0.49",
        "merchandising": "1.70",
        "deals": "2.00",
        "favorites": "2.30",
        "searchBar": "1.00",
        "categoryMenu": "1.10",
        "checkout": "2.50",
        "confirmation": "1.30",
      }
    }
  })
  headers = {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': 'Bearer MY_ACCESS_TOKEN'
  }

  response = requests.request("PUT", url, headers=headers, data=payload)

  print(response.text)
  ```

  ```java Java theme={null}
  OkHttpClient client = new OkHttpClient().newBuilder()
    .build();

  MediaType mediaType = MediaType.parse("application/json");

  RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":\"347112182987198464\",\"type\":\"RetailMediaBidMultiplier\",\"attributes\":{\"home\":\"1.90\",\"search\":\"1.10\",\"category\":\"1.50\",\"productDetail\":\"1.60\",\"merchandising\":\"1.70\",\"deals\":\"2.00\",\"favorites\":\"2.30\",\"searchBar\":\"1.00\",\"categoryMenu\":\"1.10\",\"checkout\":\"2.50\",\"confirmation\":\"1.30\"}}}");

  Request request = new Request.Builder()
    .url("https://api.criteo.com/{version}/retail-media/line-items/347112182987198464/bid-multipliers")
    .method("PUT", body)
    .addHeader("Content-Type", "application/json")
    .addHeader("Accept", "application/json")
    .addHeader("Authorization", "Bearer MY_ACCESS_TOKEN")
    .build();

  Response response = client.newCall(request).execute();
  ```

  ```php PHP expandable theme={null}
  <?php
  require_once "HTTP/Request2.php";
  $request = new HTTP_Request2();
  $request->setUrl(
      "https://api.criteo.com/{version}/retail-media/line-items/347112182987198464/bid-multipliers"
  );
  $request->setMethod(HTTP_Request2::METHOD_PUT);
  $request->setConfig([
      "follow_redirects" => true,
  ]);

  $request->setHeader([
      "Content-Type" => "application/json",
      "Accept" => "application/json",
      "Authorization" => "Bearer MY_ACCESS_TOKEN",
  ]);

  $request->setBody('{"data":{"id":"347112182987198464","type":"RetailMediaBidMultiplier","attributes":{"home":"1.90","search":"1.10","category":"1.50","productDetail":"1.60","merchandising":"1.70","deals":"2.00","favorites":"2.30","searchBar":"1.00","categoryMenu":"1.10","checkout":"2.50","confirmation":"1.30"}}}');

  try {
      $response = $request->send();
      if ($response->getStatus() == 200) {
          echo $response->getBody();
      } else {
          echo "Unexpected HTTP status: " .
              $response->getStatus() .
              " " .
              $response->getReasonPhrase();
      }
  } catch (HTTP_Request2_Exception $e) {
      echo "Error: " . $e->getMessage();
  }
  ```
</CodeGroup>

**Sample Response**

```json theme={null}
{
    "data": {
        "id": 347112182987198464,
        "type": "LineItemBidMultipliersV2",
        "attributes": {
            "home": 1.90,
            "search": 1.10,
            "category": 1.50,
            "productDetail": 0.50,
            "merchandising": 1.70,
            "deals": 2.00,
            "favorites": 2.30,
            "searchBar": 1.00,
            "categoryMenu": 1.10,
            "checkout": 2.50,
            "confirmation": 1.30
        }
    },
    "warnings": [],
    "errors": []
}
```

## **Responses**

<table>
  <thead>
    <tr>
      <th>
        <p>
          Response
        </p>
      </th>

      <th>
        <p>
          Description
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          🔵

          <code>
            200
          </code>
        </p>
      </td>

      <td>
        <p>
          Call executed with success
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          🔴

          <code>
            400
          </code>
        </p>
      </td>

      <td>
        <p>
          <b>
            BidMultiplierOutOfRange
          </b>
        </p>

        <p>
          A bid multiplier provided is out of range of the expected range and could not be accepted
        </p>

        <p>
          <b>
            IllegalValueProvided
          </b>
        </p>

        <p>
          An invalid page type or poorly formatted bid multiplier was provided
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          🔴

          <code>
            401
          </code>
        </p>
      </td>

      <td>
        <p>
          <b>
            Unauthorized
          </b>
        </p>

        <p>
          User doesnt have permission to edit a specified line item
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          🔴

          <code>
            404
          </code>
        </p>
      </td>

      <td>
        <p>
          <b>
            LineItemDoesntExist
          </b>
        </p>

        <p>
          Attempted to fetch or manipulate a line item that does not exist
        </p>
      </td>
    </tr>
  </tbody>
</table>
