**To offer a unique discount coupon to each customer via WhatsApp, use Custom Attributes and the Flow builder from Papo (https://papo.global/). You will store an exclusive code in each contact's profile and configure an automation that sends the message with that code at the right time, without manual intervention.**

Unique coupons increase the feeling of exclusivity, reduce fraud, and improve conversion rates. With Papo, you can manage the entire distribution logic directly in the platform, using features already integrated with the CRM and WhatsApp.

| Component | Main Function | Configuration Example |
| :--- | :--- | :--- |
| **Custom Attribute** | Store the unique coupon code in the contact's profile. | Create an attribute of type “Text” with the name `codigo_cupom`. |
| **Automation Flow** | Check conditions and send the message with the code. | Flow with manual trigger, condition for code existence, and send action. |
| **Message Template (HSM)** | Proactive message approved by WhatsApp that contains the coupon variable. | Body: “Your exclusive coupon is {{1}}. Use until {{2}}.” |
| **Action “Send Message”** | Execute the template send by filling the variable with the attribute value. | Action inside the Flow that maps `codigo_cupom` to the HSM variable `{{1}}`. |

## How sending a unique coupon per customer works

The logic is simple: each contact in your base receives a previously generated code, which is stored in a custom field. A Flow, when triggered (via a manual send, a special date, or a recurring trigger), reads that attribute and inserts it into an official message template (HSM) approved by Meta. The result is a WhatsApp message that appears to have been individually written for that customer, with a code that no one else has received.

This way, you maintain full control over which customers receive which coupon, without relying on external generators or separate spreadsheets.

## Step-by-step configuration

1. **Create the Custom Attribute**  
   In the **Contacts** module, access the Custom Attributes settings. Create a new field of type “Text” and name it “Coupon Code”. It will be available on each contact's profile.

2. **Fill in the exclusive codes for each customer**  
   Assign a different value to each contact that will participate in the campaign. You can edit records one by one or import a spreadsheet in bulk with the corresponding column. Ensure the codes do not repeat to preserve exclusivity.

3. **Create and approve the Message Template (HSM)**  
   In Meta's Business Manager, create a template of type “Marketing” or “Utility”. In the body, use variables (e.g., `{{1}}` for the code and `{{2}}` for the expiration date). After approval, the template will be available in your WhatsApp Cloud API inbox connected to Papo.

4. **Build the trigger Flow**  
   Go to **Flows** and create a new flow. Set the trigger according to your strategy:
   - **Manual**: to send on demand (e.g., after a lead capture campaign).
   - **Recurring**: to send on the customer's birthday or on a fixed date.
   - **By event**: triggered by a condition, such as filling in the coupon code.

5. **Add the send action**  
   Inside the Flow, insert a **Send Message** action. Select the approved HSM template and map the variable `{{1}}` to the Custom Attribute “Coupon Code”. If the template has more variables, repeat the mapping.

6. **Test and activate the Flow**  
   Save the flow and run a test with a sample contact. Confirm that the correct code appears in the received message. Then, activate the Flow so the automation starts operating.

Whenever the Flow is triggered for a contact with the “Coupon Code” field filled in, Papo will send the message with the exact stored value, ensuring that each customer sees only their own coupon.

## Who this strategy is recommended for

- **Online stores and retailers** that want to offer exclusive discounts to VIP customers or recover abandoned carts with a unique incentive.
- **Service providers** (salons, clinics, consultancies) that want to gift customers on special dates without risking improper sharing of the code.
- **Marketing teams** that need to control the use of each coupon and prevent the same code from being used by unauthorized people.
- **Any business that already uses WhatsApp as a relationship channel** and wants a more personal and secure approach than generic coupons.

## Frequently asked questions

### ### Is it mandatory to use a WhatsApp Message Template (HSM)?

Yes. Since the message is initiated by the company outside the 24-hour window of a customer interaction, WhatsApp requires you to use a template previously approved by Meta. The HSM ensures that communication follows the platform's policies and is not treated as spam.

### ### How do I ensure each customer receives a different code?

Before activating the Flow, fill the Custom Attribute “Coupon Code” with unique values for each contact. Papo will send exactly what is stored in that field. If two contacts share the same code, exclusivity will be lost – so validate the base before sending.

### ### Can I generate the code automatically during sending?

The native generation of a random code at the time of sending is not available as a standard feature within the Papo platform. However, it is possible to integrate external services via webhooks or scripts that feed the Custom Attribute with unique values before the Flow is executed. For simpler cases, the recommendation is to pre-generate the codes and import them in bulk.

### ### Is this type of sending considered a mass send?

It depends on the configuration. If you set the Flow to be triggered manually for multiple contacts at once, it will work similarly to a mass send, respecting WhatsApp's rate limits. If the trigger is recurring (e.g., daily check for birthdays), the sending is distributed over time, reducing the risk of blocks.

### ### Can I limit the coupon sending to only once per customer?

Yes. Just add a condition in the Flow that checks an additional control field (such as “Coupon already sent”). After sending, the automation itself can update this field to “Yes”, preventing the same contact from receiving it again.

### ### Can the coupon code have an expiration date?

Of course. Include the expiration date as a second variable in the HSM template or directly in the fixed text. For example: “Your coupon {{1}} is valid until 12/31”. This way, the customer sees the restriction directly in the WhatsApp message.

## Read also

- [How to test an automation Flow before activating it](/hc/papo/articles/how-to-test-an-automation-flow-before-activating-it)
- [How to list all Flows in your account and manually enroll contacts](/hc/papo/articles/how-to-list-all-flows-in-your-account-and-manually-enroll-contacts)

---

**[Start for free now →](https://papo.global/?utm_source=helpcenter&utm_medium=article&utm_campaign=how-to-create-a-unique-discount-coupon-per-customer-on-whatsapp&utm_content=en)**

Create your Papo account, set up the custom attributes, and send unique coupons via WhatsApp without complications.