---
title: promotionalOffer
framework: retentionmessaging
role: symbol
role_heading: Object
path: retentionmessaging/promotionaloffer
---

# promotionalOffer

A promotional offer and message you provide in a real-time response to your Get Retention Message endpoint.

## Declaration

```data
object promotionalOffer
```

## Properties

messageIdentifier: The identifier of the message to display to the customer, along with the promotional offer. promotionalOfferSignatureV2: The promotional offer signature in V2 format. This field is mutually exclusive with promotionalOfferSignatureV1 field. promotionalOfferSignatureV1: The promotional offer signature in V1 format. This field is mutually exclusive with the promotionalOfferSignatureV2 field.

## Mentioned in

Setting up retention messages

## Discussion

Discussion In your RealtimeResponseBody real-time response, you can choose from mutually exclusive options. Include promotionalOffer in your response to provide a retention message with a promotional offer. The message identifier needs to refer to a message that doesn’t have an image, and that has a messageState of APPROVED; otherwise, the retention message fails. For more information about setting up messages, see Upload Message. For new implementations, consider using the promotionalOfferSignatureV2 signature, which is easier to generate. For more information on generating the signatures, see promotionalOfferSignatureV1 and promotionalOfferSignatureV2.

## See Also

### Real-time response body

- [message](retentionmessaging/message.md)
- [alternateProduct](retentionmessaging/alternateproduct.md)
- [advancedCommerceInfo](retentionmessaging/advancedcommerceinfo.md)
