# Custom Product Pages

DT Exchange supports Apple's [Custom Product Pages (CPP)](https://developer.apple.com/app-store/custom-product-pages/) in response to clicks initiated on StoreKit-based iOS components, including SKOverlay and StoreKit. Additionally, DTX allows demand-side platforms (DSPs) to attach a specific CPP Product Page ID to a bid response for use in click handling and redirection. For more information, see [Handling Custom Product Pages](https://docs.digitalturbine.com/dt-exchange/click-options/handling-click-events-in-ios#handling-custom-product-pages).

{% hint style="info" %}
DT Exchange supports `CustomProduct` on iOS 15 or later.
{% endhint %}

### Supported Features

* DSPs use native iOS StoreKit-based components.
* App developers create distinct versions of their App Store product page, each with a unique design. These pages support individual performance measurement.
* DSPs can bid with a unique CPP value per impression to specify a particular product page ID.

### App Store Connect Requirements

To support CPP:

* DT supply must run on iOS 15 or later.
* The DT Exchange SDK version must be 8.2.3 or later.

### Object: BidRequest.imp.ext.skadn

When these conditions are met, a new field labeled `productpage` with a value of `1` (DT oRTB reference) is included under `BidRequest.imp.ext.skadn.r`.

| Attribute     | Always Passed | Description                                                                                                                                                           |
| ------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `productpage` | No            | This attribute flags supply supporting the Custom Product Page functionality; it passes with the value of `1` when eligible and will not be passed when not eligible. |

For more information, see [Object: BidRequest.imp.ext.skadn](https://docs.digitalturbine.com/dt-exchange/advertisers/dt-exchange-openrtb-2.5-specs/..#object-bidrequest.imp.ext.skadn) in DT Exchange OpenRTB 2.5 Specs.

### Object: BidResponse.seatbid.bid.ext.skadn

DSPs can set the custom product page as part of the bid response using the `productpageid` field under `BidResponse.seatbid.bid.ext.skadn`, with the relevant product page ID.

| Attribute       | Required | Description                            |
| --------------- | -------- | -------------------------------------- |
| `productpageid` | No       | Product Page ID to direct to on click. |

For more information, see [Bid.ext.skadn (SKAdNetwork)](https://docs.digitalturbine.com/dt-exchange/advertisers/dt-exchange-openrtb-2.5-specs/..#bid.ext.skadn-skadnetwork) in DT Exchange OpenRTB 2.5 Specs.
