Persistent CTA Specification

A Persistent CTA is a call-to-action (CTA) button that appears on the video on both iOS and Android. This makes the call to action more conspicuous; users are more likely to realize that they can download the app or open the destination URL through the video experience. 


Technical Specifications

Vungle Exchange will indicate whether an impression opportunity is eligible for the Persistent CTA feature within the bid request. The Persistent CTA can be applied to full screen or MREC video formats. The DSP may opt out in the bid response. 

Bid Request

Not all video impression opportunities on Vungle Exchange are eligible for Persistent CTA. To properly communicate these opportunities, Vungle Exchange sends the BidRequest.imp.ext.pcta field with values ‘0’ or ‘1’ to indicate whether Persistent CTA is eligible.

	"id": "1234567893",
	"at": 2,
	"tmax": 120,
	"imp": [{
		"id": "1",
		"bidfloor": 0.03,
		"video": {...},
		"ext": {
                     		 "pcta": 0/1
Field Type Always Passed Description
pcta Integer (not nullable) yes 

Indicates whether the impression opportunity is eligible for Persistent CTA

1: The inventory is eligible for showing Persistent CTA

0: The inventory is NOT eligible for showing Persistent CTA

Bid Response

  • To enable the Persistent CTA with app icon, the bundle ID within the field is required for Vungle Exchange to add the proper assets (app icon) on the Persistent CTA button.
  • If is missing, the Persistent CTA button will be added to the video, but without the app icon.
  • DSP can control Persistent CTA by using the field, by passing ‘0’ or ‘1’. This is an optional field. However, if it’s omitted in the bid response, Vungle Exchange will treat it as having a value of ‘1’, meaning that Persistent CTA is enabled for DSPs' VAST video by default.
  • For iOS, if SKOverlay is enabled, Persistent CTA will not pop up.
	"id": "1",
	"seatbid": [{
		"bid": [{
			"id": "2",
			"impid": "3",
			"price": 3.00,
			"nurl": "",
			"adm": "",
                 		"attr": [13],
			"bundle" : "1234" 
                     		 "ext": {
                        			 "pcta": {
Field Type Required Description
bid.bundle string no 

The unique market ID. This is a platform-specific application identifier intended to be unique to the app and independent of Vungle Exchange.

  • On Android, this should be a bundle or package name (for example, 'com.supercell.hayday')
  • On iOS, it is a numeric ID (example: 123456789)
bid.ext.pcta.pctapage1 Integer no 

Indicates whether or not to add Persistent CTA on the video.

1: DSP allows Persistent CTA to be added

0: DSP does not allow Persistent CTA to be added

  • The field is not required; if the field is passed, DSP must return '1' or '0' (true or false are not accepted).
  • By default, missing pcta object or pctapage1 field indicates Persistent CTA opt-in.
  • If pcta is passed without a value or with an incorrect datatype, the bid response will be treated as invalid.



Need further assistance, feel free to reach out to us, we’re here to help!

Was this article helpful?